func (opts *affixOptions) open(file string) (err error) {
	affcontent, err := ioutil.ReadFile(file)
	if err != nil {
		return fmt.Errorf("affixOptions.open: %w", err)
	}
	err = opts.load(string(affcontent))
	if err != nil {
		return err
	}
	return nil
}
open open and parse the affix options from file.
This function will cause all of the affix options will be reset back to
its default values.
package hunspell
import (
	"fmt"
	"io/ioutil"
	"log"
	"regexp"
	"strconv"
	"strings"
	"unicode/utf8"
	"github.com/shuLhan/share/lib/parser"
	libstrings "github.com/shuLhan/share/lib/strings"
)
type affixOptions struct {
	encoding string
	flag string
	isComplexPrefixes bool
	lang string
	ignore string
	afAliases []string
	amAliases []string
	keys []string
	try string
	noSuggest          []string       
	maxCompundSuggests int            
	maxNGramSuggests   int            
	maxDiff            int            
	isOnlyMaxDiff      bool           
	isNoSplitSugs      bool           
	isSugsWithDots     bool           
	reps               []replacement  
	charsMaps          []charsmap     
	warn               string         
	isForbidWarn       bool           
	breakOpts              []breakopt         
	compoundRules          []compoundRule     
	compoundMin            int                
	compoundFlag           string             
	compoundBegin          string             
	compoundLast           string             
	compoundMiddle         string             
	onlyInCompound         string             
	compoundPermitFlag     string             
	compoundForbidFlag     string             
	isCompoundMoreSuffixes bool               
	compoundRoot           string             
	compoundWordMax        int                
	isCheckCompoundDup     bool               
	isCheckCompoundRep     bool               
	isCheckCompoundCase    bool               
	isCheckCompoundTriple  bool               
	isSimplifiedTriple     bool               
	compoundPatterns       []compoundPattern  
	forceUCase             string             
	compoundSyllable       *compoundSyllable  
	syllableNum            string             
	prefixes map[string]*affix  
	suffixes map[string]*affix  
	circumfix     string        
	forbiddenWord string        
	isFullStrip   bool          
	keepCase      string        
	iconv         []conversion  
	oconv         []conversion  
	lemmaPresent  string        
	needAffix     string        
	pseudoRoot    string        
	substandard   string        
	wordchars     string        
	isCheckSharps bool          
}