Documentation ¶
Overview ¶
Package fontconfig provides a way to list the fonts of a system and to query the best match with user defined criteria.
See the `Config` type for an entry point.
This package is a port of the C library.
Index ¶
- Constants
- Variables
- func DefaultFontDirs() ([]string, error)
- func PartialScanFontDirectories(dirs ...string) ([]fonts.FaceDescription, error)
- func WeightFromOT(otWeight float32) float32
- func WeightToOT(fcWeight float32) float32
- type Bool
- type Charset
- type Config
- func (c *Config) Copy() *Config
- func (config *Config) LoadFromDir(dir string) error
- func (config *Config) LoadFromMemory(r io.Reader) error
- func (config *Config) PrepareRender(pat, font Pattern) Pattern
- func (config *Config) ScanFontDirectories(dirs ...string) (Fontset, error)
- func (config *Config) ScanFontFile(path string) (Fontset, error)
- func (config *Config) ScanFontRessource(content fonts.Resource, contentID string) (Fontset, error)
- func (config *Config) Substitute(p, testPattern Pattern, kind matchKind)
- type ExportedFamilySubstitution
- type Float
- type FontFormat
- type Fontset
- type Int
- type Langset
- type Matrix
- type Object
- type Pattern
- func (p Pattern) Add(object Object, value Value, appendMode bool)
- func (p Pattern) AddBool(object Object, value bool)
- func (p Pattern) AddFloat(object Object, value float32)
- func (p Pattern) AddInt(object Object, value int32)
- func (p Pattern) AddString(object Object, value string)
- func (p Pattern) Del(object Object)
- func (p Pattern) Duplicate() Pattern
- func (p Pattern) FaceID() fonts.FaceID
- func (p Pattern) Format() FontFormat
- func (p Pattern) GetAt(object Object, id int) (Value, Result)
- func (p Pattern) GetBool(object Object) (Bool, bool)
- func (p Pattern) GetCharset(object Object) (Charset, bool)
- func (p Pattern) GetFloat(object Object) (float32, bool)
- func (p Pattern) GetFloats(object Object) []float32
- func (p Pattern) GetInt(object Object) (int32, bool)
- func (p Pattern) GetInts(object Object) []int32
- func (p Pattern) GetMatrices(object Object) []Matrix
- func (p Pattern) GetMatrix(object Object) (Matrix, bool)
- func (p Pattern) GetString(object Object) (string, bool)
- func (p Pattern) GetStrings(object Object) []string
- func (p Pattern) Hash() string
- func (p Pattern) String() string
- func (pattern Pattern) SubstituteDefault()
- type PatternElement
- type Range
- type Result
- type String
- type Value
Examples ¶
Constants ¶
const ( SLANT_ROMAN = 0 SLANT_ITALIC = 100 SLANT_OBLIQUE = 110 WIDTH_ULTRACONDENSED = 50 WIDTH_EXTRACONDENSED = 63 WIDTH_CONDENSED = 75 WIDTH_SEMICONDENSED = 87 WIDTH_NORMAL = 100 WIDTH_SEMIEXPANDED = 113 WIDTH_EXPANDED = 125 WIDTH_EXTRAEXPANDED = 150 WIDTH_ULTRAEXPANDED = 200 PROPORTIONAL = 0 DUAL = 90 MONO = 100 CHARCELL = 110 /* sub-pixel order */ RGBA_UNKNOWN = 0 RGBA_RGB = 1 RGBA_BGR = 2 RGBA_VRGB = 3 RGBA_VBGR = 4 RGBA_NONE = 5 /* hinting style */ HINT_NONE = 0 HINT_SLIGHT = 1 HINT_MEDIUM = 2 HINT_FULL = 3 /* LCD filter */ LCD_NONE = 0 LCD_DEFAULT = 1 LCD_LIGHT = 2 LCD_LEGACY = 3 )
const ( WEIGHT_THIN = 0 WEIGHT_EXTRALIGHT = 40 WEIGHT_ULTRALIGHT = WEIGHT_EXTRALIGHT WEIGHT_LIGHT = 50 WEIGHT_DEMILIGHT = 55 WEIGHT_SEMILIGHT = WEIGHT_DEMILIGHT WEIGHT_BOOK = 75 WEIGHT_REGULAR = 80 WEIGHT_NORMAL = WEIGHT_REGULAR WEIGHT_MEDIUM = 100 WEIGHT_DEMIBOLD = 180 WEIGHT_SEMIBOLD = WEIGHT_DEMIBOLD WEIGHT_BOLD = 200 WEIGHT_EXTRABOLD = 205 WEIGHT_ULTRABOLD = WEIGHT_EXTRABOLD WEIGHT_BLACK = 210 WEIGHT_HEAVY = WEIGHT_BLACK WEIGHT_EXTRABLACK = 215 WEIGHT_ULTRABLACK = WEIGHT_EXTRABLACK )
const ( // Rules in the config to apply to the query pattern (FcMatchPattern) MatchQuery matchKind // Rules in the config to apply to the fonts // returned as the result of a query (FcMatchFont) MatchResult // Rules in the config to apply to the fonts obtained // during the scan (FcMatchScan) MatchScan )
Variables ¶
var Identity = Matrix{1, 0, 0, 1}
var Standard = &Config{ subst: []ruleSet{{name: "confs/09-autohint-if-no-hinting.conf", description: "Enable autohinter if font doesn't have any hinting", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: Bool(0), op: 5}, kind: 1, qual: 0, object: 51, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 15, }}, }}, nil}}, {name: "confs/10-antialias.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 15, op: 15, }}, }}, nil, nil}}, {name: "confs/10-autohint.conf", description: "Enable autohinter", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 15, }}, }}, nil, nil}}, {name: "confs/10-hinting-full.conf", description: "Set hintfull to hintstyle", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("hintfull"), op: 10}, binding: 0, object: 16, op: 15, }}, }}, nil, nil}}, {name: "confs/10-hinting-medium.conf", description: "Set hintmedium to hintstyle", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("hintmedium"), op: 10}, binding: 0, object: 16, op: 15, }}, }}, nil, nil}}, {name: "confs/10-hinting-none.conf", description: "Set hintnone to hintstyle", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("hintnone"), op: 10}, binding: 0, object: 16, op: 15, }}, }}, nil, nil}}, {name: "confs/10-hinting-slight.conf", description: "Set hintslight to hintstyle", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("hintslight"), op: 10}, binding: 0, object: 16, op: 15, }}, }}, nil, nil}}, {name: "confs/10-no-sub-pixel.conf", description: "Disable sub-pixel rendering", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("none"), op: 10}, binding: 0, object: 27, op: 15, }}, }}, nil, nil}}, {name: "confs/10-scale-bitmap-fonts.conf", description: "Bitmap scaling", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: Bool(0), op: 5}, kind: 1, qual: 0, object: 24, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: exprName{object: 12, kind: 0}, op: 9}, &expression{u: exprName{object: 12, kind: 1}, op: 9}}, op: 34}, binding: 0, object: 74, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: Bool(0), op: 5}, kind: 1, qual: 0, object: 24, op: 22, }, { expr: &expression{u: Bool(0), op: 5}, kind: 1, qual: 0, object: 25, op: 22, }, { expr: &expression{u: Bool(1), op: 5}, kind: 1, qual: 0, object: 17, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: exprTree{&expression{u: exprName{object: 74, kind: -1}, op: 9}, &expression{u: Float(1.2), op: 1}}, op: 27}, &expression{u: exprTree{&expression{u: exprName{object: 74, kind: -1}, op: 9}, &expression{u: Float(0.8), op: 1}}, op: 29}}, op: 21}, binding: 0, object: 75, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: Bool(1), op: 5}, kind: 1, qual: 0, object: 75, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Float(1), op: 1}, binding: 0, object: 74, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: Bool(0), op: 5}, kind: 1, qual: 0, object: 24, op: 22, }, { expr: &expression{u: Float(1), op: 1}, kind: 1, qual: 0, object: 74, op: 23, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: exprName{object: 32, kind: -1}, op: 9}, &expression{u: exprMatrix{xx: &expression{u: exprName{object: 74, kind: -1}, op: 9}, xy: &expression{u: Float(0), op: 1}, yx: &expression{u: Float(0), op: 1}, yy: &expression{u: exprName{object: 74, kind: -1}, op: 9}}, op: 3}}, op: 33}, binding: 0, object: 32, op: 11, }, { expr: &expression{u: exprTree{&expression{u: exprName{object: 10, kind: -1}, op: 9}, &expression{u: exprName{object: 74, kind: -1}, op: 9}}, op: 34}, binding: 0, object: 10, op: 11, }}, }}, nil}}, {name: "confs/10-sub-pixel-bgr.conf", description: "Enable sub-pixel rendering with the BGR stripes layout", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("bgr"), op: 10}, binding: 0, object: 27, op: 15, }}, }}, nil, nil}}, {name: "confs/10-sub-pixel-rgb.conf", description: "Enable sub-pixel rendering with the RGB stripes layout", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("rgb"), op: 10}, binding: 0, object: 27, op: 15, }}, }}, nil, nil}}, {name: "confs/10-sub-pixel-vbgr.conf", description: "Enable sub-pixel rendering with the vertical BGR stripes layout", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("vbgr"), op: 10}, binding: 0, object: 27, op: 15, }}, }}, nil, nil}}, {name: "confs/10-sub-pixel-vrgb.conf", description: "Enable sub-pixel rendering with the vertical RGB stripes layout", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("vrgb"), op: 10}, binding: 0, object: 27, op: 15, }}, }}, nil, nil}}, {name: "confs/10-unhinted.conf", description: "Disable hinting", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 15, }}, }}, nil, nil}}, {name: "confs/11-lcdfilter-default.conf", description: "Use lcddefault as default for LCD filter", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("lcddefault"), op: 10}, binding: 0, object: 41, op: 15, }}, }}, nil, nil}}, {name: "confs/11-lcdfilter-legacy.conf", description: "Use lcdlegacy as default for LCD filter", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("lcdlegacy"), op: 10}, binding: 0, object: 41, op: 15, }}, }}, nil, nil}}, {name: "confs/11-lcdfilter-light.conf", description: "Use lcdlight as default for LCD filter", domain: "", subst: [matchKindEnd][]directive{{{ tests: nil, edits: []ruleEdit{{ expr: &expression{u: String("lcdlight"), op: 10}, binding: 0, object: 41, op: 15, }}, }}, nil, nil}}, {name: "confs/20-unhint-small-dejavu-lgc-sans-mono.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/20-unhint-small-dejavu-lgc-sans.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/20-unhint-small-dejavu-lgc-serif.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/20-unhint-small-dejavu-sans-mono.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/20-unhint-small-dejavu-sans.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/20-unhint-small-dejavu-serif.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/20-unhint-small-vera.conf", description: "Disable hinting for Bitstream Vera fonts when the size is less than 8ppem", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans Mono"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }, { expr: &expression{u: Float(7.5), op: 1}, kind: 1, qual: 0, object: 12, op: 27, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/25-unhint-nonlatin.conf", description: "Disable hinting for CJK fonts", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("Kochi Mincho"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Kochi Gothic"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Sazanami Mincho"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Sazanami Gothic"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Baekmuk Batang"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Baekmuk Dotum"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Baekmuk Gulim"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Baekmuk Headline"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL Mingti2L Big5"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL ShanHeiSun Uni"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL KaitiM Big5"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL ZenKai Uni"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL SungtiL GB"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL KaitiM GB"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ZYSong18030"), op: 2}, kind: 1, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }}, }}, nil}}, {name: "confs/30-0-google-crosextra-carlito-fontconfig.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Calibri"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Carlito"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Carlito"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Calibri"), op: 2}, binding: 2, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/30-cjk-aliases.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Batang"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("바탕"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("BatangChe"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("바탕체"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Myeongjo"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("명조"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MyeongjoChe"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("명조체"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR MingtiM KSC"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Adobe 명조 Std M"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Adobe Myeongjo Std M"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: String("UnBatang"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Gungsuh"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("UnGungseo"), op: 2}, &expression{u: String("NanumMyeongjo"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("궁서"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("UnGungseo"), op: 2}, &expression{u: String("NanumMyeongjo"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("GungsuhChe"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("UnGungseo"), op: 2}, &expression{u: String("NanumMyeongjo"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("궁서체"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("UnGungseo"), op: 2}, &expression{u: String("NanumMyeongjo"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Dotum"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("돋움"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("고딕"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Malgun Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("맑은 고딕"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Gulim"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("굴림"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AppleGothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("애플고딕"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("UnDotum"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DotumChe"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothicCoding"), op: 2}, &expression{u: String("NanumGothic"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("돋움체"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothicCoding"), op: 2}, &expression{u: String("NanumGothic"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("GothicChe"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothicCoding"), op: 2}, &expression{u: String("NanumGothic"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("고딕체"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothicCoding"), op: 2}, &expression{u: String("NanumGothic"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("GulimChe"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothicCoding"), op: 2}, &expression{u: String("NanumGothic"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("굴림체"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothicCoding"), op: 2}, &expression{u: String("NanumGothic"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("VL Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: String("Kochi Gothic"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS ゴシック"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("VL Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: String("Kochi Gothic"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS PGothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("VL PGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: String("Kochi Gothic"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS Pゴシック"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("VL PGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: String("Kochi Gothic"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS UIGothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("VL PGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: String("Kochi Gothic"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Meiryo UI"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAPGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("VL PGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: String("Kochi Gothic"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS Mincho"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Mincho"), op: 2}, &expression{u: String("Kochi Mincho"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS 明朝"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Mincho"), op: 2}, &expression{u: String("Kochi Mincho"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR MinchoL JIS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Mincho"), op: 2}, &expression{u: String("Kochi Mincho"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS PMincho"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaPMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoPMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAPMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Mincho"), op: 2}, &expression{u: String("Kochi Mincho"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS P明朝"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaPMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("TakaoPMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAPMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Mincho"), op: 2}, &expression{u: String("Kochi Mincho"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Meiryo"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("IPAexGothic"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("メイリオ"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("IPAexGothic"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SimSun"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: String("AR PL UMing CN"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NSimSun"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: String("AR PL UMing CN"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SimSun-18030"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: String("AR PL UMing CN"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NSimSun-18030"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: String("AR PL UMing CN"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("宋体"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: String("AR PL UMing CN"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("新宋体"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: String("AR PL UMing CN"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR MingtiM GB"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: String("AR PL UMing CN"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("KaiTi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("楷体"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Microsoft YaHei"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Micro Hei"), op: 2}, &expression{u: String("WenQuanYi Zen Hei"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("微软雅黑"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Micro Hei"), op: 2}, &expression{u: String("WenQuanYi Zen Hei"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MingLiU"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: String("AR PL UMing TW"), op: 2}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("細明體"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: String("AR PL UMing TW"), op: 2}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("PMingLiU"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: String("AR PL UMing TW"), op: 2}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("新細明體"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: String("AR PL UMing TW"), op: 2}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR MingtiM BIG-5"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: String("AR PL UMing TW"), op: 2}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DFKai\\-SB"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai TW"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("標楷體"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai TW"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Microsoft JhengHei"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Micro Hei"), op: 2}, &expression{u: String("WenQuanYi Zen Hei"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("微軟正黑體"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Micro Hei"), op: 2}, &expression{u: String("WenQuanYi Zen Hei"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Ming (for ISO10646)"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("AR PL UMing HK"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MingLiU_HKSCS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("AR PL UMing HK"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("細明體_HKSCS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("AR PL UMing HK"), op: 2}, binding: 0, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/30-metric-aliases.conf", description: "Set substitutions for similar/metric-compatible families", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Heros"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica Narrow"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Heros Cn"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica Narrow"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Roman No9 L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Termes"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Cursor"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Avant Garde"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Gothic L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Adventor"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bookman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Bookman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Bookman L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Bookman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bookman URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Bookman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Bookman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Bookman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Bonum"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Bookman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bookman Old Style"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Bookman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Zapf Chancery"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Chancery L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Chancery URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Z003"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Chorus"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Palladio L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Palatino"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palladio URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Palatino"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("P052"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Palatino"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Pagella"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Palatino"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palatino Linotype"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Palatino"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Century Schoolbook L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Century SchoolBook URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("C059"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Schola"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Century Schoolbook"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arimo"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Arial"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Liberation Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Arial"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Liberation Sans Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Arial Narrow"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Albany"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Arial"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Albany AMT"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Arial"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Tinos"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times New Roman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Liberation Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times New Roman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Thorndale"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times New Roman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Thorndale AMT"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times New Roman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cousine"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier New"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Liberation Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier New"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cumberland"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier New"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cumberland AMT"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier New"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Gelasio"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Georgia"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Caladea"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Cambria"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Carlito"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Calibri"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SymbolNeu"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Symbol"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Arial"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Arial Narrow"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times New Roman"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Courier"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier New"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arial"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arial Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica Narrow"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times New Roman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Courier New"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TeX Gyre Heros"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TeX Gyre Heros Cn"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TeX Gyre Termes"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Courier"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TeX Gyre Cursor"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TeX Gyre Adventor"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Bookman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Bookman Old Style"), op: 2}, &expression{u: String("TeX Gyre Bonum"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TeX Gyre Chorus"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palatino"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Palatino Linotype"), op: 2}, &expression{u: String("TeX Gyre Pagella"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Century Schoolbook"), op: 2}, &expression{u: String("TeX Gyre Schola"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arial"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Arimo"), op: 2}, &expression{u: exprTree{&expression{u: String("Liberation Sans"), op: 2}, &expression{u: exprTree{&expression{u: String("Albany"), op: 2}, &expression{u: String("Albany AMT"), op: 2}}, op: 36}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arial Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Liberation Sans Narrow"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times New Roman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Tinos"), op: 2}, &expression{u: exprTree{&expression{u: String("Liberation Serif"), op: 2}, &expression{u: exprTree{&expression{u: String("Thorndale"), op: 2}, &expression{u: String("Thorndale AMT"), op: 2}}, op: 36}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Courier New"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Cousine"), op: 2}, &expression{u: exprTree{&expression{u: String("Liberation Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Cumberland"), op: 2}, &expression{u: String("Cumberland AMT"), op: 2}}, op: 36}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Georgia"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Gelasio"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cambria"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Caladea"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Calibri"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Carlito"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Symbol"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("SymbolNeu"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/30-opensymbol.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Symbol"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("OpenSymbol"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/35-lang-normalize.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("aa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("aa"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ab"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ab"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("af"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("af"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ak"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ak"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("am"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("am"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("an"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("an"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ar"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ar"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("as"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("as"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ast"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ast"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("av"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("av"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ay"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ay"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ba"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ba"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("be"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("be"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bg"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bg"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bh"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bh"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bho"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bho"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bi"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bin"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bin"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bm"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bm"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("br"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("br"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("brx"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("brx"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bs"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bs"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bua"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("bua"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("byn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("byn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ca"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ca"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ce"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ce"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ch"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ch"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("chm"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("chm"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("chr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("chr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("co"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("co"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("crh"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("crh"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("cs"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("cs"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("csb"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("csb"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("cu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("cu"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("cv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("cv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("cy"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("cy"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("da"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("da"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("de"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("de"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("doi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("doi"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("dv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("dv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("dz"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("dz"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ee"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ee"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("el"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("el"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("en"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("en"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("eo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("eo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("es"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("es"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("et"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("et"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("eu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("eu"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fa"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fat"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fat"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ff"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ff"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fi"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fil"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fil"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fj"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fj"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fur"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fur"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fy"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("fy"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ga"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ga"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("gd"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("gd"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("gez"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("gez"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("gl"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("gl"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("gn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("gn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("gu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("gu"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("gv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("gv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ha"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ha"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("haw"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("haw"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("he"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("he"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("hi"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hne"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("hne"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ho"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ho"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("hr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hsb"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("hsb"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ht"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ht"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("hu"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hy"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("hy"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hz"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("hz"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ia"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ia"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("id"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("id"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ie"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ie"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ig"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ig"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ii"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ii"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ik"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ik"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("io"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("io"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("is"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("is"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("it"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("it"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("iu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("iu"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ja"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ja"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("jv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("jv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ka"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ka"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kaa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kaa"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kab"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kab"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ki"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ki"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kj"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kj"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kk"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kk"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kl"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kl"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("km"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("km"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ko"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ko"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kok"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kok"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ks"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ks"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kum"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kum"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kw"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kw"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kwm"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("kwm"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ky"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ky"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("la"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("la"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("lah"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("lah"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("lb"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("lb"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("lez"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("lez"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("lg"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("lg"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("li"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("li"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ln"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ln"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("lo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("lo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("lt"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("lt"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("lv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("lv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mai"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mai"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mg"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mg"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mh"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mh"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mi"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mk"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mk"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ml"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ml"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mni"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mni"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ms"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ms"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mt"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("mt"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("my"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("my"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("na"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("na"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nb"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nb"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nds"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nds"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ne"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ne"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ng"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ng"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nl"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nl"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("no"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("no"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nqo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nqo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nso"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nso"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("nv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("nv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ny"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ny"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("oc"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("oc"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("om"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("om"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("or"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("or"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("os"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("os"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ota"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ota"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("pa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("pa"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("pl"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("pl"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("pt"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("pt"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("qu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("qu"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("quz"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("quz"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("rm"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("rm"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("rn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("rn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ro"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ro"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ru"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ru"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("rw"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("rw"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sa"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sah"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sah"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sat"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sat"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sc"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sc"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sco"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sco"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sd"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sd"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("se"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("se"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sel"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sel"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sg"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sg"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sh"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sh"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("shs"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("shs"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("si"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("si"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sid"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sid"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sk"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sk"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sl"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sl"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sm"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sm"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sma"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sma"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("smj"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("smj"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("smn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("smn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sms"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sms"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("so"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("so"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sq"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sq"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ss"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ss"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("st"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("st"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("su"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("su"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sw"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("sw"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("syr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("syr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ta"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ta"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("te"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("te"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tg"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tg"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("th"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("th"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tig"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tig"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tk"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tk"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tl"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tl"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tn"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("to"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("to"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tr"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ts"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ts"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tt"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tt"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tw"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tw"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ty"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ty"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("tyv"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("tyv"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ug"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ug"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("uk"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("uk"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ur"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ur"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("uz"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("uz"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ve"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("ve"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("vi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("vi"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("vo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("vo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("vot"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("vot"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("wa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("wa"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("wal"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("wal"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("wen"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("wen"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("wo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("wo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("xh"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("xh"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("yap"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("yap"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("yi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("yi"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("yo"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("yo"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("za"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("za"), op: 2}, binding: 2, object: 34, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("zu"), op: 2}, binding: 2, object: 34, op: 11, }}, }}, nil, nil}}, {name: "confs/40-nonlatin.conf", description: "Set substitutions for non-Latin fonts", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Nazli"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lotoos"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Mitra"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Ferdosi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Badr"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Zar"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Titr"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Jadid"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Kochi Mincho"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL SungtiL GB"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL Mingti2L Big5"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS 明朝"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumMyeongjo"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("UnBatang"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Baekmuk Batang"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MgOpen Canonica"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Sazanami Mincho"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL ZenKai Uni"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ZYSong18030"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("FreeSerif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SimSun"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arshia"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Elham"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Farnaz"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nasim"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Sina"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Roya"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Koodak"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Terafik"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Kochi Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL KaitiM GB"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL KaitiM Big5"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS ゴシック"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumGothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("UnDotum"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Baekmuk Dotum"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MgOpen Moderna"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MgOpen Modata"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MgOpen Cosmetica"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Sazanami Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AR PL ShanHeiSun Uni"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ZYSong18030"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("FreeSans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NSimSun"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ZYSong18030"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumGothicCoding"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("FreeMono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Homa"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Kamran"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Fantezi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Tabassom"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("IranNastaliq"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nafees Nastaleeq"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/45-generic.conf", description: "Set substitutions for emoji/math fonts", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Noto Color Emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Apple Color Emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Segoe UI Emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Twitter Color Emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("EmojiOne Mozilla"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Emoji Two"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Emoji One"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Noto Emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Android Emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("und-zsye"), op: 2}, binding: 0, object: 34, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("und-zsye"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("emoji"), op: 2}, kind: 0, qual: 1, object: 1, op: 23, }}, edits: []ruleEdit{{ expr: &expression{u: String("emoji"), op: 2}, binding: 1, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("XITS Math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("STIX Two Math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cambria Math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Latin Modern Math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Minion Math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lucida Math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Asana Math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("math"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("und-zmth"), op: 2}, binding: 0, object: 34, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("und-zmth"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("math"), op: 2}, kind: 0, qual: 1, object: 1, op: 23, }}, edits: []ruleEdit{{ expr: &expression{u: String("math"), op: 2}, binding: 1, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/45-latin.conf", description: "Set substitutions for Latin fonts", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cambria"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Constantia"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Elephant"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Garamond"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Georgia"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Liberation Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Luxi Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Roman No9 L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palatino Linotype"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Thorndale AMT"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Thorndale"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times New Roman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Albany AMT"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Albany"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arial Unicode MS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arial"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Britannic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Calibri"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Candara"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Century Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Corbel"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Haettenschweiler"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Liberation Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("MS Sans Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Luxi Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Tahoma"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Trebuchet MS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Twentieth Century"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Verdana"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Andale Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Consolas"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Courier New"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Courier"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cumberland AMT"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cumberland"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Fixedsys"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Inconsolata"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Liberation Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Luxi Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Terminal"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bauhaus Std"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Cooper Std"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Copperplate Gothic Std"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Impact"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Comic Sans MS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Zapf Chancery Std"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Zapfino"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/49-sansserif.conf", description: "Add sans-serif to the family when no generic name", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 1, object: 1, op: 23, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 1, object: 1, op: 23, }, { expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 1, object: 1, op: 23, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/56-language-selector-ar.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ar"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans"), op: 2}, &expression{u: String("Noto Sans Arabic UI"), op: 2}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ar"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif"), op: 2}, &expression{u: String("Noto Naskh Arabic"), op: 2}}, op: 36}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/57-dejavu-sans-mono.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Bepa Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Prima Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Olwen Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SUSE Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/57-dejavu-sans.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Arev Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bepa"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Prima Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Hunky Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Olwen Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SUSE Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Verajja"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("VerajjaPDA"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/57-dejavu-serif.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Bitstream Prima Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Hunky Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Olwen Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SUSE Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Verajja Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/58-dejavu-lgc-sans-mono.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Bepa Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Prima Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Olwen Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SUSE Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans Mono"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/58-dejavu-lgc-sans.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Arev Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bepa"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Prima Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Hunky Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Olwen Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SUSE Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Verajja"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("VerajjaPDA"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Sans"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/58-dejavu-lgc-serif.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Bitstream Prima Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bitstream Vera Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Hunky Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Olwen Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SUSE Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Verajja Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu LGC Serif"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/59-lohit-devanagari.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("mangal"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("managl"), op: 2}, binding: 2, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/60-generic.conf", description: "Set preferable fonts for emoji/math fonts", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("und-zsye"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: Bool(1), op: 5}, kind: 0, qual: 1, object: 47, op: 23, }, { expr: &expression{u: Bool(0), op: 5}, kind: 0, qual: 1, object: 47, op: 23, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 47, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("emoji"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Color Emoji"), op: 2}, &expression{u: exprTree{&expression{u: String("Apple Color Emoji"), op: 2}, &expression{u: exprTree{&expression{u: String("Segoe UI Emoji"), op: 2}, &expression{u: exprTree{&expression{u: String("Twitter Color Emoji"), op: 2}, &expression{u: exprTree{&expression{u: String("EmojiOne Mozilla"), op: 2}, &expression{u: exprTree{&expression{u: String("Emoji Two"), op: 2}, &expression{u: exprTree{&expression{u: String("Emoji One"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Emoji"), op: 2}, &expression{u: String("Android Emoji"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("math"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("XITS Math"), op: 2}, &expression{u: exprTree{&expression{u: String("STIX Two Math"), op: 2}, &expression{u: exprTree{&expression{u: String("Cambria Math"), op: 2}, &expression{u: exprTree{&expression{u: String("Latin Modern Math"), op: 2}, &expression{u: exprTree{&expression{u: String("Minion Math"), op: 2}, &expression{u: exprTree{&expression{u: String("Lucida Math"), op: 2}, &expression{u: String("Asana Math"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/60-latin.conf", description: "Set preferable fonts for Latin", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("DejaVu Serif"), op: 2}, &expression{u: exprTree{&expression{u: String("Bitstream Vera Serif"), op: 2}, &expression{u: exprTree{&expression{u: String("Times New Roman"), op: 2}, &expression{u: exprTree{&expression{u: String("Thorndale AMT"), op: 2}, &expression{u: exprTree{&expression{u: String("Luxi Serif"), op: 2}, &expression{u: exprTree{&expression{u: String("Nimbus Roman No9 L"), op: 2}, &expression{u: exprTree{&expression{u: String("Nimbus Roman"), op: 2}, &expression{u: String("Times"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("DejaVu Sans"), op: 2}, &expression{u: exprTree{&expression{u: String("Bitstream Vera Sans"), op: 2}, &expression{u: exprTree{&expression{u: String("Verdana"), op: 2}, &expression{u: exprTree{&expression{u: String("Arial"), op: 2}, &expression{u: exprTree{&expression{u: String("Albany AMT"), op: 2}, &expression{u: exprTree{&expression{u: String("Luxi Sans"), op: 2}, &expression{u: exprTree{&expression{u: String("Nimbus Sans L"), op: 2}, &expression{u: exprTree{&expression{u: String("Nimbus Sans"), op: 2}, &expression{u: exprTree{&expression{u: String("Helvetica"), op: 2}, &expression{u: exprTree{&expression{u: String("Lucida Sans Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("BPG Glaho International"), op: 2}, &expression{u: String("Tahoma"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("DejaVu Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Bitstream Vera Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Inconsolata"), op: 2}, &expression{u: exprTree{&expression{u: String("Andale Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Courier New"), op: 2}, &expression{u: exprTree{&expression{u: String("Cumberland AMT"), op: 2}, &expression{u: exprTree{&expression{u: String("Luxi Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Nimbus Mono L"), op: 2}, &expression{u: exprTree{&expression{u: String("Nimbus Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Nimbus Mono PS"), op: 2}, &expression{u: String("Courier"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fantasy"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Impact"), op: 2}, &expression{u: exprTree{&expression{u: String("Copperplate Gothic Std"), op: 2}, &expression{u: exprTree{&expression{u: String("Cooper Std"), op: 2}, &expression{u: String("Bauhaus Std"), op: 2}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("cursive"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("ITC Zapf Chancery Std"), op: 2}, &expression{u: exprTree{&expression{u: String("Zapfino"), op: 2}, &expression{u: String("Comic Sans MS"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/61-urw-bookman.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Bookman"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Bookman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Bookman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Bookman"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Bookman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Bookman"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bookman Old Style"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Bookman"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Bonum"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Bookman"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-c059.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("C059"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("C059"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("C059"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("C059"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Century Schoolbook"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("C059"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Tex Gyre Schola"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("C059"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-d050000l.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("fantasy"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("D050000L"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("D050000L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("D050000L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Zapf Dingbats"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Zapf Dingbats"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("D050000L"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Zapf Dingbats Std"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("D050000L"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Zapf Dingbats"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("D050000L"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-fallback-backwards.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Century Schoolbook L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("C059"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Century SchoolBook URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("C059"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Dingbats"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("D050000L"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Roman No9 L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palladio URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("P052"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Palladio L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("P052"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Standard Symbols L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Standard Symbols PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Bookman URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Bookman"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Bookman L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Bookman"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Gothic L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Gothic"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Chancery URW"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Z003"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Chancery L"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Z003"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-fallback-generics.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Courier"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Nimbus Mono"), op: 2}, &expression{u: String("Nimbus Mono L"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans L"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Gothic L"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Bookman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Bookman URW"), op: 2}, &expression{u: String("URW Bookman L"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Chancery URW"), op: 2}, &expression{u: String("URW Chancery L"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Zapf Dingbats"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Dingbats"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("New Century Schoolbook"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Century Schoolbook L"), op: 2}, &expression{u: String("Century SchoolBook URW"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palatino"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Palladio URW"), op: 2}, &expression{u: String("URW Palladio L"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Symbol"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Standard Symbols L"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Roman No9 L"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-gothic.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Gothic"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("URW Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Avant Garde Gothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Gothic"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Adventor"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("URW Gothic"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-nimbus-mono-ps.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("monospace"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Courier"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Courier"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Cursor"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Mono PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-nimbus-roman.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Times"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Times"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Termes"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Roman"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-nimbus-sans.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans Narrow"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nimbus Sans Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Helvetica Narrow"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Helvetica Narrow"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans Narrow"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Heros"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Heros Cn"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nimbus Sans Narrow"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-p052.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("P052"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("P052"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("P052"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Palatino"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palatino"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("P052"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Palatino Linotype"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("P052"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Tex Gyre Pagella"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("P052"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-standard-symbols-ps.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Standard Symbols PS"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Standard Symbols PS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Standard Symbols PS"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Symbol"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Symbol"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Standard Symbols PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("SymbolNeu"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Standard Symbols PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Symbol Neu for Powerline"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Standard Symbols PS"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/61-urw-z003.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("cursive"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Z003"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Z003"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Z003"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, binding: 2, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ITC Zapf Chancery"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Z003"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("TeX Gyre Chorus"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Z003"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/64-01-tlwg-kinnari.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Kinnari"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-02-tlwg-norasi.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Norasi"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-10-tlwg-loma.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Loma"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-11-tlwg-waree.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Waree"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-13-tlwg-garuda.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Garuda"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-14-tlwg-umpush.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Umpush"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-15-laksaman.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Laksaman"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-21-tlwg-typo.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TlwgTypo"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-22-tlwg-typist.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TlwgTypist"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-23-tlwg-mono.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("TlwgMono"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/64-language-selector-prefer.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans CJK HK"), op: 2}, &expression{u: String("Lohit Devanagari"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Serif CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: String("Lohit Devanagari"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK JP"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK KR"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK TC"), op: 2}, &expression{u: String("Noto Sans Mono CJK HK"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/65-0-fonts-beng-extra.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("bn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Bengali"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("bn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("MuktiNarrow"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("as"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Lohit Assamese"), op: 2}, &expression{u: String("Lohit Bengali"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/65-0-fonts-deva-extra.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("hi"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("hi"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Hindi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mr"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mr"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Lohit Marathi"), op: 2}, &expression{u: String("Lohit Hindi"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mai"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mai"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Lohit Maithili"), op: 2}, &expression{u: String("Lohit Hindi"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ne"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ne"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Lohit Nepali"), op: 2}, &expression{u: String("Lohit Hindi"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kok"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kok"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Lohit Konkani"), op: 2}, &expression{u: String("Lohit Hindi"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ks"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ks"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Lohit Kashmiri"), op: 2}, &expression{u: String("Lohit Hindi"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sn"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sn"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Hindi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sd"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("gargi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sd"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Lohit Sindhi"), op: 2}, &expression{u: String("Lohit Hindi"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }}, nil}}, {name: "confs/65-0-fonts-gubbi.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("kn"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Gubbi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kn"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Kannada"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil}}, {name: "confs/65-0-fonts-gujr-extra.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("gu"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Rekha"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("gu"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Gujarati"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil}}, {name: "confs/65-0-fonts-guru-extra.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("pa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Saab"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("pa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Punjabi"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/65-0-fonts-orya-extra.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("or"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("utkal"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("or"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("utkal"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/65-0-fonts-pagul.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("saz"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Pagul"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("saz"), op: 2}, kind: 1, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Pagul"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil}}, {name: "confs/65-0-fonts-telu-extra.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("te"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("lohit_te"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("te"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Vemana"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/65-0-smc-meera.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Meera"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Meera"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/65-0-smc-rachana.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Rachana"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Rachana"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/65-droid-sans-fallback.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Droid Sans Fallback"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/65-fonts-lmodern.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, nil, nil}}, {name: "confs/65-fonts-persian.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Nesf"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nesf2"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nesf2"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_sansserif_default"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nazanin"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Nazli"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lotus"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lotoos"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Yaqut"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Yaghoot"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Yaghut"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Yaghoot"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Traffic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Terafik"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Ferdowsi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Ferdosi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Fantezy"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Fantezi"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Jadid"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_title"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Titr"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_title"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Kamran"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Persian_fantasy"), op: 2}, &expression{u: String("Homa"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Homa"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Persian_fantasy"), op: 2}, &expression{u: String("Kamran"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Fantezi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_fantasy"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Tabassom"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_fantasy"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Arshia"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_square"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nasim"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_square"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Elham"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Persian_square"), op: 2}, &expression{u: String("Farnaz"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Farnaz"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Persian_square"), op: 2}, &expression{u: String("Elham"), op: 2}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Sina"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Persian_square"), op: 2}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Persian_title"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Titr"), op: 2}, &expression{u: exprTree{&expression{u: String("Jadid"), op: 2}, &expression{u: String("Persian_serif"), op: 2}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Persian_fantasy"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Homa"), op: 2}, &expression{u: exprTree{&expression{u: String("Kamran"), op: 2}, &expression{u: exprTree{&expression{u: String("Fantezi"), op: 2}, &expression{u: exprTree{&expression{u: String("Tabassom"), op: 2}, &expression{u: String("Persian_square"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Persian_square"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Arshia"), op: 2}, &expression{u: exprTree{&expression{u: String("Elham"), op: 2}, &expression{u: exprTree{&expression{u: String("Farnaz"), op: 2}, &expression{u: exprTree{&expression{u: String("Nasim"), op: 2}, &expression{u: exprTree{&expression{u: String("Sina"), op: 2}, &expression{u: String("Persian_serif"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 2, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Nazli"), op: 2}, &expression{u: exprTree{&expression{u: String("Lotoos"), op: 2}, &expression{u: exprTree{&expression{u: String("Mitra"), op: 2}, &expression{u: exprTree{&expression{u: String("Ferdosi"), op: 2}, &expression{u: exprTree{&expression{u: String("Badr"), op: 2}, &expression{u: String("Zar"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Roya"), op: 2}, &expression{u: exprTree{&expression{u: String("Koodak"), op: 2}, &expression{u: String("Terafik"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Terafik"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("fantasy"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Homa"), op: 2}, &expression{u: exprTree{&expression{u: String("Kamran"), op: 2}, &expression{u: exprTree{&expression{u: String("Fantezi"), op: 2}, &expression{u: String("Tabassom"), op: 2}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("cursive"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("IranNastaliq"), op: 2}, &expression{u: String("Nafees Nastaleeq"), op: 2}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Int(200), op: 0}, kind: 0, qual: 0, object: 8, op: 30, }, { expr: &expression{u: Float(24), op: 1}, kind: 0, qual: 0, object: 10, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: String("Titr"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Int(200), op: 0}, kind: 0, qual: 0, object: 8, op: 30, }, { expr: &expression{u: Float(24), op: 1}, kind: 0, qual: 0, object: 10, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: String("Titr"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Persian_sansserif_default"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: Int(200), op: 0}, kind: 0, qual: 0, object: 8, op: 30, }, { expr: &expression{u: Float(24), op: 1}, kind: 0, qual: 0, object: 10, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: String("Titr"), op: 2}, binding: 2, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Persian_sansserif_default"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Roya"), op: 2}, binding: 2, object: 1, op: 11, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("TURNED-OFF"), op: 2}, kind: 1, qual: 0, object: 14, op: 22, }, { expr: &expression{u: String("farsiweb"), op: 2}, kind: 1, qual: 0, object: 14, op: 22, }, { expr: &expression{u: String("roman"), op: 10}, kind: 1, qual: 0, object: 7, op: 22, }, { expr: &expression{u: String("roman"), op: 10}, kind: 0, qual: 0, object: 7, op: 23, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: exprName{object: 32, kind: -1}, op: 9}, &expression{u: exprMatrix{xx: &expression{u: Float(1), op: 1}, xy: &expression{u: Float(-0.2), op: 1}, yx: &expression{u: Float(0), op: 1}, yy: &expression{u: Float(1), op: 1}}, op: 3}}, op: 33}, binding: 0, object: 32, op: 11, }, { expr: &expression{u: String("oblique"), op: 10}, binding: 0, object: 7, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("farsiweb"), op: 2}, kind: 1, qual: 0, object: 14, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 19, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 17, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 39, op: 11, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Elham"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("farsiweb"), op: 2}, binding: 0, object: 14, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Homa"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("farsiweb"), op: 2}, binding: 0, object: 14, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Koodak"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("farsiweb"), op: 2}, binding: 0, object: 14, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Nazli"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("farsiweb"), op: 2}, binding: 0, object: 14, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Roya"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("farsiweb"), op: 2}, binding: 0, object: 14, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Terafik"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("farsiweb"), op: 2}, binding: 0, object: 14, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Titr"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("farsiweb"), op: 2}, binding: 0, object: 14, op: 11, }}, }}}}, {name: "confs/65-fonts-takao-pgothic.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("TakaoPGothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ja"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("TakaoPGothic"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("GothicBBB"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("TakaoPGothic"), op: 2}, binding: 1, object: 1, op: 14, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("TakaoPGothic"), op: 2}, kind: 1, qual: 0, object: 1, op: 24, }, { expr: &expression{u: Float(18), op: 1}, kind: 1, qual: 0, object: 12, op: 28, }}, edits: []ruleEdit{{ expr: &expression{u: String("hintnone"), op: 10}, binding: 0, object: 16, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 39, op: 11, }}, }}, nil}}, {name: "confs/65-fonts-texgyre.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, nil, nil}}, {name: "confs/65-khmer.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Khmer OS"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Khmer OS"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Khmer OS System"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/65-nonlatin.conf", description: "Set preferable fonts for non-Latin", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Artsounk"), op: 2}, &expression{u: exprTree{&expression{u: String("BPG UTF8 M"), op: 2}, &expression{u: exprTree{&expression{u: String("Kinnari"), op: 2}, &expression{u: exprTree{&expression{u: String("Norasi"), op: 2}, &expression{u: exprTree{&expression{u: String("Frank Ruehl"), op: 2}, &expression{u: exprTree{&expression{u: String("Dror"), op: 2}, &expression{u: exprTree{&expression{u: String("JG LaoTimes"), op: 2}, &expression{u: exprTree{&expression{u: String("Saysettha Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Pigiarniq"), op: 2}, &expression{u: exprTree{&expression{u: String("B Davat"), op: 2}, &expression{u: exprTree{&expression{u: String("B Compset"), op: 2}, &expression{u: exprTree{&expression{u: String("Kacst-Qr"), op: 2}, &expression{u: exprTree{&expression{u: String("Urdu Nastaliq Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Raghindi"), op: 2}, &expression{u: exprTree{&expression{u: String("Mukti Narrow"), op: 2}, &expression{u: exprTree{&expression{u: String("padmaa"), op: 2}, &expression{u: exprTree{&expression{u: String("Hapax Berbère"), op: 2}, &expression{u: exprTree{&expression{u: String("MS Mincho"), op: 2}, &expression{u: exprTree{&expression{u: String("SimSun"), op: 2}, &expression{u: exprTree{&expression{u: String("PMingLiu"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Bitmap Song"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL ShanHeiSun Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("ZYSong18030"), op: 2}, &expression{u: exprTree{&expression{u: String("HanyiSong"), op: 2}, &expression{u: exprTree{&expression{u: String("MgOpen Canonica"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Mincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMincho"), op: 2}, &expression{u: exprTree{&expression{u: String("Kochi Mincho"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL SungtiL GB"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL Mingti2L Big5"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL Zenkai Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("MS 明朝"), op: 2}, &expression{u: exprTree{&expression{u: String("ZYSong18030"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumMyeongjo"), op: 2}, &expression{u: exprTree{&expression{u: String("UnBatang"), op: 2}, &expression{u: exprTree{&expression{u: String("Baekmuk Batang"), op: 2}, &expression{u: exprTree{&expression{u: String("KacstQura"), op: 2}, &expression{u: exprTree{&expression{u: String("Frank Ruehl CLM"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Bengali"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Gujarati"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Hindi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Marathi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Maithili"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Kashmiri"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Konkani"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Nepali"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Sindhi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Punjabi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Tamil"), op: 2}, &expression{u: exprTree{&expression{u: String("Rachana"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Malayalam"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Kannada"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Telugu"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Oriya"), op: 2}, &expression{u: String("LKLUG"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Nachlieli"), op: 2}, &expression{u: exprTree{&expression{u: String("Lucida Sans Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Yudit Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Kerkis"), op: 2}, &expression{u: exprTree{&expression{u: String("ArmNet Helvetica"), op: 2}, &expression{u: exprTree{&expression{u: String("Artsounk"), op: 2}, &expression{u: exprTree{&expression{u: String("BPG UTF8 M"), op: 2}, &expression{u: exprTree{&expression{u: String("Waree"), op: 2}, &expression{u: exprTree{&expression{u: String("Loma"), op: 2}, &expression{u: exprTree{&expression{u: String("Garuda"), op: 2}, &expression{u: exprTree{&expression{u: String("Umpush"), op: 2}, &expression{u: exprTree{&expression{u: String("Saysettha Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("JG Lao Old Arial"), op: 2}, &expression{u: exprTree{&expression{u: String("GF Zemen Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Pigiarniq"), op: 2}, &expression{u: exprTree{&expression{u: String("B Davat"), op: 2}, &expression{u: exprTree{&expression{u: String("B Compset"), op: 2}, &expression{u: exprTree{&expression{u: String("Kacst-Qr"), op: 2}, &expression{u: exprTree{&expression{u: String("Urdu Nastaliq Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Raghindi"), op: 2}, &expression{u: exprTree{&expression{u: String("Mukti Narrow"), op: 2}, &expression{u: exprTree{&expression{u: String("padmaa"), op: 2}, &expression{u: exprTree{&expression{u: String("Hapax Berbère"), op: 2}, &expression{u: exprTree{&expression{u: String("MS Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("UmePlus P Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Microsoft YaHei"), op: 2}, &expression{u: exprTree{&expression{u: String("Microsoft JhengHei"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Bitmap Song"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL ShanHeiSun Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("MgOpen Moderna"), op: 2}, &expression{u: exprTree{&expression{u: String("MgOpen Modata"), op: 2}, &expression{u: exprTree{&expression{u: String("MgOpen Cosmetica"), op: 2}, &expression{u: exprTree{&expression{u: String("VL Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Kochi Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL KaitiM GB"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL KaitiM Big5"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL ShanHeiSun Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL SungtiL GB"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL Mingti2L Big5"), op: 2}, &expression{u: exprTree{&expression{u: String("MS ゴシック"), op: 2}, &expression{u: exprTree{&expression{u: String("ZYSong18030"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("UnDotum"), op: 2}, &expression{u: exprTree{&expression{u: String("Baekmuk Dotum"), op: 2}, &expression{u: exprTree{&expression{u: String("Baekmuk Gulim"), op: 2}, &expression{u: exprTree{&expression{u: String("KacstQura"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Bengali"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Gujarati"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Hindi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Marathi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Maithili"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Kashmiri"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Konkani"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Nepali"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Sindhi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Punjabi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Tamil"), op: 2}, &expression{u: exprTree{&expression{u: String("Meera"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Malayalam"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Kannada"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Telugu"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Oriya"), op: 2}, &expression{u: String("LKLUG"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Miriam Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("VL Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAMonaGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("IPAGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Sazanami Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("Kochi Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL KaitiM GB"), op: 2}, &expression{u: exprTree{&expression{u: String("MS Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("UmePlus Gothic"), op: 2}, &expression{u: exprTree{&expression{u: String("NSimSun"), op: 2}, &expression{u: exprTree{&expression{u: String("MingLiu"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL ShanHeiSun Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("HanyiSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL SungtiL GB"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL Mingti2L Big5"), op: 2}, &expression{u: exprTree{&expression{u: String("ZYSong18030"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothicCoding"), op: 2}, &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: exprTree{&expression{u: String("UnDotum"), op: 2}, &expression{u: exprTree{&expression{u: String("Baekmuk Dotum"), op: 2}, &expression{u: exprTree{&expression{u: String("Baekmuk Gulim"), op: 2}, &expression{u: exprTree{&expression{u: String("TlwgTypo"), op: 2}, &expression{u: exprTree{&expression{u: String("TlwgTypist"), op: 2}, &expression{u: exprTree{&expression{u: String("TlwgTypewriter"), op: 2}, &expression{u: exprTree{&expression{u: String("TlwgMono"), op: 2}, &expression{u: exprTree{&expression{u: String("Hasida"), op: 2}, &expression{u: exprTree{&expression{u: String("Mitra Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("GF Zemen Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Hapax Berbère"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Bengali"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Gujarati"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Hindi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Marathi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Maithili"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Kashmiri"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Konkani"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Nepali"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Sindhi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Punjabi"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Tamil"), op: 2}, &expression{u: exprTree{&expression{u: String("Meera"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Malayalam"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Kannada"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Telugu"), op: 2}, &expression{u: exprTree{&expression{u: String("Lohit Oriya"), op: 2}, &expression{u: String("LKLUG"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/66-lohit-assamese.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("as"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Assamese"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Assamese"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Assamese"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-bengali.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("bn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Bengali"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Bengali"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Bengali"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-devanagari.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("hi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mr"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("kok"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ks@devanagari"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sd@devanagari"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("mai"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ne"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("brx"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("doi"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sat"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Devanagari"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/66-lohit-gujarati.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("gu"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Gujarati"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Gujarati"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Gujarati"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-gurmukhi.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("pa"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Gurmukhi"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Gurmukhi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Gurmukhi"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-kannada.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("kn"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Kannada"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Kannada"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Kannada"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-odia.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("or"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Odia"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Odia"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Odia"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-tamil-classical.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ta"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Tamil Classical"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Tamil Classical"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Tamil Classical"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-tamil.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ta"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Tamil"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Tamil"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Lohit Tamil"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 19, op: 11, }}, }}, nil}}, {name: "confs/66-lohit-telugu.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("te"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Lohit Telugu"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Lohit Telugu"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-fonts-smc-manjari.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml"), op: 2}, kind: 0, qual: 0, object: 34, op: 24, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Manjari"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Manjari"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-anjalioldlipi.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("AnjaliOldLipi"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("AnjaliOldLipi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-chilanka.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("cursive"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Chilanka"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Chilanka"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-dyuthi.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Dyuthi"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Dyuthi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-karumbi.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("cursive"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Karumbi"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Karumbi"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("cursive"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-keraleeyam.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Keraleeyam"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Keraleeyam"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-raghumalayalamsans.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("RaghuMalayalam"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("RaghuMalayalam"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-suruma.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("suruma"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("suruma"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("sans-serif"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/67-smc-uroob.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ml-in"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("fantasy"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Uroob"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Uroob"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("fantasy"), op: 2}, binding: 0, object: 1, op: 16, }}, }}, nil, nil}}, {name: "confs/69-language-selector-ja.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("Noto Sans CJK JP"), op: 2}, kind: 1, qual: 0, object: 1, op: 24, }, { expr: &expression{u: Float(18), op: 1}, kind: 1, qual: 1, object: 12, op: 28, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 39, op: 11, }, { expr: &expression{u: String("hintnone"), op: 10}, binding: 0, object: 16, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Noto Serif CJK JP"), op: 2}, kind: 1, qual: 0, object: 1, op: 24, }, { expr: &expression{u: Float(18), op: 1}, kind: 1, qual: 1, object: 12, op: 28, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 39, op: 11, }, { expr: &expression{u: String("hintnone"), op: 10}, binding: 0, object: 16, op: 11, }}, }}, nil}}, {name: "confs/69-language-selector-zh-cn.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("zh-cn"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing CN"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Bitmap Song"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-cn"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing CN"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-cn"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("DejaVu Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing CN"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/69-language-selector-zh-hk.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-hk"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Bitmap Song"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-hk"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-hk"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("DejaVu Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/69-language-selector-zh-mo.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-mo"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Bitmap Song"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-mo"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Bitstream Vera Sans"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-mo"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Bitstream Vera Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("DejaVu Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/69-language-selector-zh-sg.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-sg"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing CN"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Bitmap Song"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-sg"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing CN"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-sg"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("DejaVu Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK SC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing CN"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai CN"), op: 2}, &expression{u: String("AR PL ZenKai Uni"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/69-language-selector-zh-tw.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-tw"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Serif CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing TW"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Bitmap Song"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai TW"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL ZenKai Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("DejaVu Serif"), op: 2}, &expression{u: String("Bitstream Vera Serif"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-tw"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("Noto Sans CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing TW"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai TW"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL ZenKai Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("DejaVu Sans"), op: 2}, &expression{u: String("Bitstream Vera Sans"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("zh-tw"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("DejaVu Sans Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("Noto Sans Mono CJK TC"), op: 2}, &expression{u: exprTree{&expression{u: String("WenQuanYi Zen Hei Mono"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing TW"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UMing HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL New Sung"), op: 2}, &expression{u: exprTree{&expression{u: String("HYSong"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai TW"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL UKai HK"), op: 2}, &expression{u: exprTree{&expression{u: String("AR PL ZenKai Uni"), op: 2}, &expression{u: exprTree{&expression{u: String("DejaVu Sans Mono"), op: 2}, &expression{u: String("Bitstream Vera Sans Mono"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 1, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/69-unifont.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("FreeSerif"), op: 2}, &expression{u: exprTree{&expression{u: String("Code2000"), op: 2}, &expression{u: String("Code2001"), op: 2}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("FreeSans"), op: 2}, &expression{u: exprTree{&expression{u: String("Arial Unicode MS"), op: 2}, &expression{u: exprTree{&expression{u: String("Arial Unicode"), op: 2}, &expression{u: exprTree{&expression{u: String("Code2000"), op: 2}, &expression{u: String("Code2001"), op: 2}}, op: 36}}, op: 36}}, op: 36}}, op: 36}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("FreeMono"), op: 2}, binding: 0, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/70-fonts-noto-cjk.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("ja"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Serif CJK JP"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ko"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Serif CJK KR"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-cn"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Serif CJK SC"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-tw"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Serif CJK TC"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-hk"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Serif CJK HK"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ja"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans CJK JP"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ko"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans CJK KR"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-cn"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans CJK SC"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-tw"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans CJK TC"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-hk"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("sans-serif"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans CJK HK"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ja"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans Mono CJK JP"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("ko"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans Mono CJK KR"), op: 2}, binding: 0, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-cn"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans Mono CJK SC"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-tw"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans Mono CJK TC"), op: 2}, binding: 1, object: 1, op: 14, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("zh-hk"), op: 2}, kind: 0, qual: 0, object: 34, op: 22, }, { expr: &expression{u: String("monospace"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Noto Sans Mono CJK HK"), op: 2}, binding: 1, object: 1, op: 14, }}, }}, nil, nil}}, {name: "confs/70-no-bitmaps.conf", description: "Reject bitmap fonts", domain: "", subst: [matchKindEnd][]directive{nil, nil, nil}}, {name: "confs/70-yes-bitmaps.conf", description: "Accept bitmap fonts", domain: "", subst: [matchKindEnd][]directive{nil, nil, nil}}, {name: "confs/80-delicious.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, nil, {{ tests: []ruleTest{{ expr: &expression{u: String("Delicious"), op: 2}, kind: 2, qual: 0, object: 1, op: 65558, }, { expr: &expression{u: String("Heavy"), op: 2}, kind: 2, qual: 0, object: 3, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("heavy"), op: 10}, binding: 0, object: 8, op: 11, }}, }}}}, {name: "confs/89-tlwg-garuda-synthetic.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Browallia"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("Garuda"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Garuda"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("Browallia"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: exprMatrix{xx: &expression{u: Float(0.68), op: 1}, xy: &expression{u: Float(0), op: 1}, yx: &expression{u: Float(0), op: 1}, yy: &expression{u: Float(0.68), op: 1}}, op: 3}, binding: 0, object: 32, op: 11, }}, }}, nil}}, {name: "confs/89-tlwg-kinnari-synthetic.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Angsana"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("Kinnari"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Kinnari"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("Angsana"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: exprMatrix{xx: &expression{u: Float(0.67), op: 1}, xy: &expression{u: Float(0), op: 1}, yx: &expression{u: Float(0), op: 1}, yy: &expression{u: Float(0.67), op: 1}}, op: 3}, binding: 0, object: 32, op: 11, }}, }}, nil}}, {name: "confs/89-tlwg-laksaman-synthetic.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("TH Sarabun"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("Laksaman"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Laksaman"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("TH Sarabun"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: exprMatrix{xx: &expression{u: Float(0.66), op: 1}, xy: &expression{u: Float(0), op: 1}, yx: &expression{u: Float(0), op: 1}, yy: &expression{u: Float(0.66), op: 1}}, op: 3}, binding: 0, object: 32, op: 11, }}, }}, nil}}, {name: "confs/89-tlwg-umpush-synthetic.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Cordia"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: String("Umpush"), op: 2}, binding: 2, object: 1, op: 15, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("Umpush"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("Cordia"), op: 2}, kind: 0, qual: 0, object: 1, op: 24, }}, edits: []ruleEdit{{ expr: &expression{u: exprMatrix{xx: &expression{u: Float(0.65), op: 1}, xy: &expression{u: Float(0), op: 1}, yx: &expression{u: Float(0), op: 1}, yy: &expression{u: Float(0.65), op: 1}}, op: 3}, binding: 0, object: 32, op: 11, }}, }}, nil}}, {name: "confs/90-fonts-linux-libertine.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("Linux Libertine"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Linux Libertine O"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Linux Biolinum"), op: 2}, kind: 0, qual: 0, object: 1, op: 65558, }}, edits: []ruleEdit{{ expr: &expression{u: String("Linux Biolinum O"), op: 2}, binding: 0, object: 1, op: 15, }}, }}, nil, nil}}, {name: "confs/90-fonts-nanum.conf", description: "", domain: "", subst: [matchKindEnd][]directive{{{ tests: []ruleTest{{ expr: &expression{u: String("NanumBarunGothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumGothic"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumGothicCoding"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: String("NanumGothic"), op: 2}, &expression{u: String("DejaVu Sans Mono"), op: 2}}, op: 36}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumMyeongjo"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Serif"), op: 2}, binding: 0, object: 1, op: 15, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumSquare"), op: 2}, kind: 0, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("DejaVu Sans"), op: 2}, binding: 0, object: 1, op: 15, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("NanumGothicCoding"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("dual"), op: 10}, binding: 0, object: 13, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 20, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumGothic"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 15, op: 11, }, { expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 17, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 19, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumGothicCoding"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 15, op: 11, }, { expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 17, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 19, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumMyeongjo"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 15, op: 11, }, { expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 17, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 19, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumBarunGothic"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 15, op: 11, }, { expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 17, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 19, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumMyeongjo"), op: 2}, kind: 1, qual: 0, object: 1, op: 22, }, { expr: &expression{u: String("hintslight"), op: 10}, kind: 1, qual: 0, object: 16, op: 29, }}, edits: []ruleEdit{{ expr: &expression{u: String("hintslight"), op: 10}, binding: 0, object: 16, op: 11, }}, }}, {{ tests: []ruleTest{{ expr: &expression{u: String("NanumBarunGothic Bold"), op: 2}, kind: 2, qual: 0, object: 5, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("bold"), op: 10}, binding: 0, object: 8, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumGothicBold"), op: 2}, kind: 2, qual: 0, object: 5, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("bold"), op: 10}, binding: 0, object: 8, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumMyeongjoBold"), op: 2}, kind: 2, qual: 0, object: 5, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("bold"), op: 10}, binding: 0, object: 8, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("NanumSquare Bold"), op: 2}, kind: 2, qual: 0, object: 5, op: 22, }}, edits: []ruleEdit{{ expr: &expression{u: String("Bold"), op: 2}, binding: 0, object: 3, op: 12, }, { expr: &expression{u: String("en"), op: 2}, binding: 0, object: 4, op: 12, }}, }}}}, {name: "confs/90-synthetic.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("roman"), op: 10}, kind: 1, qual: 0, object: 7, op: 22, }, { expr: &expression{u: String("roman"), op: 10}, kind: 0, qual: 0, object: 7, op: 23, }}, edits: []ruleEdit{{ expr: &expression{u: exprTree{&expression{u: exprName{object: 32, kind: -1}, op: 9}, &expression{u: exprMatrix{xx: &expression{u: Float(1), op: 1}, xy: &expression{u: Float(0.2), op: 1}, yx: &expression{u: Float(0), op: 1}, yy: &expression{u: Float(1), op: 1}}, op: 3}}, op: 33}, binding: 0, object: 32, op: 11, }, { expr: &expression{u: String("oblique"), op: 10}, binding: 0, object: 7, op: 11, }, { expr: &expression{u: Bool(0), op: 5}, binding: 0, object: 39, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("medium"), op: 10}, kind: 1, qual: 0, object: 8, op: 28, }, { expr: &expression{u: String("bold"), op: 10}, kind: 0, qual: 0, object: 8, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 38, op: 11, }, { expr: &expression{u: String("bold"), op: 10}, binding: 0, object: 8, op: 11, }}, }}, nil}}, {name: "confs/99-language-selector-zh.conf", description: "", domain: "", subst: [matchKindEnd][]directive{nil, {{ tests: []ruleTest{{ expr: &expression{u: String("Song"), op: 2}, kind: 1, qual: 0, object: 1, op: 24, }, { expr: &expression{u: Int(100), op: 0}, kind: 1, qual: 0, object: 8, op: 28, }, { expr: &expression{u: Int(180), op: 0}, kind: 0, qual: 0, object: 8, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 38, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Sun"), op: 2}, kind: 1, qual: 0, object: 1, op: 24, }, { expr: &expression{u: Int(100), op: 0}, kind: 1, qual: 0, object: 8, op: 28, }, { expr: &expression{u: Int(180), op: 0}, kind: 0, qual: 0, object: 8, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 38, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Kai"), op: 2}, kind: 1, qual: 0, object: 1, op: 24, }, { expr: &expression{u: Int(100), op: 0}, kind: 1, qual: 0, object: 8, op: 28, }, { expr: &expression{u: Int(180), op: 0}, kind: 0, qual: 0, object: 8, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 38, op: 11, }}, }, { tests: []ruleTest{{ expr: &expression{u: String("Ming"), op: 2}, kind: 1, qual: 0, object: 1, op: 24, }, { expr: &expression{u: Int(100), op: 0}, kind: 1, qual: 0, object: 8, op: 28, }, { expr: &expression{u: Int(180), op: 0}, kind: 0, qual: 0, object: 8, op: 30, }}, edits: []ruleEdit{{ expr: &expression{u: Bool(1), op: 5}, binding: 0, object: 38, op: 11, }}, }}, nil}}}, customObjects: map[string]Object{"pixelsizefixupfactor": 0x4a, "scalingnotneeded": 0x4b}, acceptGlobs: map[string]bool{}, rejectGlobs: map[string]bool{}, acceptPatterns: Fontset{Pattern{25: &valueList{valueElt{Value: Bool(0), Binding: 1}}}}, rejectPatterns: Fontset{Pattern{1: &valueList{valueElt{Value: String("LMMono10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMMonoCaps10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMMonoLt10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMMonoLtCond10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMMonoProp10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMMonoPropLt10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMMonoSlant10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMRoman10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMRomanCaps10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMRomanDemi10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMRomanDunh10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMRomanSlant10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMRomanUnsl10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMSans10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMSansDemiCond10"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("LMSansQuot8"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreAdventor"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreBonum"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreChorus"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreCursor"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreHeros"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreHerosCondensed"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyrePagella"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreSchola"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{1: &valueList{valueElt{Value: String("TeXGyreTermes"), Binding: 1}}, 37: &valueList{valueElt{Value: String("Type 1"), Binding: 1}}}, Pattern{25: &valueList{valueElt{Value: Bool(0), Binding: 1}}}}, maxObjects: 22, }
Standard exposes the parsed configuration described in the 'confs' folder.
Functions ¶
func DefaultFontDirs ¶
DefaultFontDirs return the OS-dependent usual directories for fonts, or an error if no one exists.
func PartialScanFontDirectories ¶
func PartialScanFontDirectories(dirs ...string) ([]fonts.FaceDescription, error)
PartialScanFontDirectories walk through the given directories and scan each font file to extract a summary. An error is returned if the directory traversal fails, not for invalid font files, which are simply ignored.
func WeightFromOT ¶
WeightFromOT returns a float value to use with `WEIGHT`, from a float in the 1..1000 range, resembling the numbers from OpenType specification's OS/2 usWeight numbers, which are also similar to CSS font-weight numbers. If input is negative, zero, or greater than 1000, returns -1. This function linearly interpolates between various WEIGHT constants. As such, the returned value does not necessarily match any of the predefined constants.
func WeightToOT ¶
WeightToOT is the inverse of `WeightFromOT`. If the input is less than `WEIGHT_THIN` or greater than `WEIGHT_EXTRABLACK`, it returns -1. Otherwise returns a number in the range 1 to 1000.
Types ¶
type Charset ¶
type Charset struct {
// contains filtered or unexported fields
}
Charset is a compact rune set.
Its internal representation is composed of a variable number of 'pages', where each page is a boolean set of size 256, encoding the last byte of a rune. Each rune is then mapped to a page number, defined by it second and third bytes.
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config holds a complete configuration of the library.
This object is used to transform the patterns used in queries and returned as results. It also provides a way to exclude particular files/directories/patterns when scanning the available fonts.
A configuration is constructed from XML data files, with the `LoadFromMemory` and `LoadFromDir` methods. The 'standard' default configuration is provided in the 'confs/' directory and as the global variable `Standard`.
See also `ScanAndCache` for an all-in-one wrapper.
Example ¶
c := NewConfig() if err := c.LoadFromDir("confs"); err != nil { log.Fatal(err) } fontDirs, err := DefaultFontDirs() if err != nil { log.Fatal(err) } _, err = c.ScanFontDirectories(fontDirs...) if err != nil { log.Fatal(err) } fmt.Println("success")
Output: success
func (*Config) LoadFromDir ¶
LoadFromDir scans this directory, loading all files of the form [0-9]*.conf, and recurse through the subdirectories. It may be used with the included folder 'confs/' to build a 'standard' configuration. See `LoadFromMemory` if you want control over individual files.
func (*Config) LoadFromMemory ¶
Walks the configuration in `r` and constructs the internal representation in `config`. The new rules are added to the configuration, meaning that several file can be merged by repeated calls.
func (*Config) PrepareRender ¶
PrepareRender creates a new pattern consisting of elements of `font` not appearing in `pat`, elements of `pat` not appearing in `font` and the best matching value from `pat` for elements appearing in both. The result is passed to `config.Substitute` with `kind = MatchResult` and then returned.
func (*Config) ScanFontDirectories ¶
ScanFontDirectories recursively scans the given directories, opening the valid font files and building the associated font patterns. Symbolic links for files are resolved, but not for directories. The rules with kind `MatchScan` in `config` are applied to the results. The <selectfont> rules defined in the configuration are applied to filter the returned set.
An error is returned if the directory traversal fails, not for invalid font files, which are simply ignored.
func (*Config) ScanFontFile ¶
ScanFontFile scans one font file (see ScanFontDirectories for more details). Here, an error is returned for an invalid font file. Note that only the pattern-based font selector specified in the config (if any), are applied.
func (*Config) ScanFontRessource ¶
ScanFontRessource is the same as `ScanFontFile`, for general content. `contentID` is included in the returned patterns as the file name.
func (*Config) Substitute ¶
Substitute performs the sequence of pattern modification operations on `p`. If `kind` is MatchQuery, then those tagged as pattern operations are applied, else if `kind` is MatchResult, those tagged as font operations are applied and `testPattern` is used for <test> elements with target=pattern.
type ExportedFamilySubstitution ¶
type ExportedFamilySubstitution struct { Comment string TestCode string OpCode string // how to insert the families AdditionalFamilies []string // the families to add }
func GenerateSubstitution ¶
func GenerateSubstitution() ([]ExportedFamilySubstitution, error)
GenerateSubstitution exports the Standard family substitution rules
type FontFormat ¶
type FontFormat string
FontFormat identifies the supported font file types.
const ( TrueType FontFormat = "TrueType" PCF FontFormat = "PCF" Type1 FontFormat = "Type 1" )
func ReadFontFile ¶
func ReadFontFile(file fonts.Resource) (fonts.Faces, FontFormat)
ReadFontFile tries for every supported font format, returning a valid font format if one matches.
func (FontFormat) Loader ¶
func (ff FontFormat) Loader() fonts.FontLoader
Loader returns the loader for the font format.
type Fontset ¶
type Fontset []Pattern
Fontset contains a list of Patterns, containing the results of listing fonts. The order within the set does not determine the font selection, except in the case of identical matches in which case earlier fonts match preferrentially.
func LoadFontset ¶
LoadFontset reads a cache file, exported by the `Fontset.Serialize` method, and constructs the associated font set.
func LoadFontsetFile ¶
LoadFontsetFile is a convenience wrapper of `LoadFontset` for files.
func ScanAndCache ¶
ScanAndCache uses the standard config, scans the fonts on disk from the default directories, and caches the result into `fontsFileCache`.
func (Fontset) List ¶
List selects fonts matching `p` (all if p is empty), creates patterns from those fonts containing only the objects in `objs` and returns the set of unique such patterns. If no objects are specified, default to all builtin objects.
func (Fontset) Match ¶
Match finds the font in `set` most closely matching `pattern` and returns the result of `config.PrepareRender` for that font and the provided pattern. This function should be called only after `config.Substitute` and `p.SubstituteDefault` have been called for `p`; otherwise the results will not be correct.
func (Fontset) Serialize ¶
Serialize serialise the content of the font set (using a custom binary encoding and gzip). Since scanning the fonts is rather slow, this methods can be used in conjonction with `LoadFontset` to cache the result of a scan.
func (Fontset) Sort ¶
Sort returns the list of fonts from `set` sorted by closeness to `pattern`. If `trim` is true, elements in the list which don't include Unicode coverage not provided by earlier elements in the list are elided. The union of Unicode coverage of all of the fonts is returned. This function should be called only after `Config.Substitute` and `Pattern.SubstituteDefault` have been called for `p`; otherwise the results will not be correct. The returned `Fontset` references Pattern structures which may be shared by the return value from multiple `Sort` calls, applications cannot modify these patterns. Instead, they should be passed, along with `p`, to `Config.PrepareRender()` which combines them into a complete pattern.
type Langset ¶
type Langset struct {
// contains filtered or unexported fields
}
Langset holds the set of languages supported by a font. These are computed for a font based on orthographic information built into the fontconfig library. Fontconfig has orthographies for all of the ISO 639-1 languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA.
func NewLangset ¶
NewLangset parse a set of language of the form <lang1>|<lang2>|... Each language should be of the form Ll-Tt where Ll is a two or three letter language from ISO 639 and Tt is a territory from ISO 3166.
type Object ¶
type Object uint16
Object encode the properties of a font. Standard properties are built in the package, but custom ones may also be integrated inside patterns and configuration files.
const ( FAMILY Object // with type String FAMILYLANG // with type String STYLE // with type String STYLELANG // with type String FULLNAME // with type String FULLNAMELANG // with type String SLANT // with type Int WEIGHT // with type Range WIDTH // with type Range SIZE // with type Range ASPECT // with type Double PIXEL_SIZE // with type Double SPACING // with type Int FOUNDRY // with type String ANTIALIAS // with type Bool HINT_STYLE // with type Int HINTING // with type Bool VERTICAL_LAYOUT // with type Bool AUTOHINT // with type Bool GLOBAL_ADVANCE // with type Bool FILE // with type String INDEX // with type Int RASTERIZER // with type String OUTLINE // with type Bool SCALABLE // with type Bool DPI // with type Double RGBA // with type Int SCALE // with type Double MINSPACE // with type Bool CHARWIDTH // with type Int CHAR_HEIGHT // with type Int MATRIX // with type Matrix CHARSET // with type CharSet LANG // with type LangSet FONTVERSION // with type Int CAPABILITY // with type String FONTFORMAT // with type String EMBOLDEN // with type Bool EMBEDDED_BITMAP // with type Bool DECORATIVE // with type Bool LCD_FILTER // with type Int NAMELANG // with type String FONT_FEATURES // with type String PRGNAME // with type String HASH // with type String POSTSCRIPT_NAME // with type String COLOR // with type Bool SYMBOL // with type Bool FONT_VARIATIONS // with type String VARIABLE // with type Bool FONT_HAS_HINT // with type Bool ORDER // with type Int // Custom objects should be defined starting from this value FirstCustomObject )
type Pattern ¶
type Pattern map[Object]*valueList
An Pattern holds a set of names with associated value lists; each name refers to a property of a font, also called `Object`. Patterns are used as inputs to the matching code as well as holding information about specific fonts. Each property can hold one or more values; conventionally all of the same type, although the interface doesn't demand that.
func BuildPattern ¶
func BuildPattern(elements ...PatternElement) Pattern
func (Pattern) Add ¶
Add adds the given value for the given object, with a strong binding. `appendMode` controls the location of insertion in the current list. A copy of `value` is made, so that the library retains no reference to any user-supplied data.
func (Pattern) Duplicate ¶
Duplicate returns a new pattern that matches `p`. Each pattern may be modified without affecting the other one.
func (Pattern) FaceID ¶
FaceID reads the FILE and INDEX records. Note that it usually only makes sense to call this function for results (for which the fields are garanteed to be valid).
func (Pattern) Format ¶
func (p Pattern) Format() FontFormat
Format returns the font format of this pattern.
func (Pattern) GetAt ¶
GetAt returns the value in position `id` for `object`, without type conversion.
func (Pattern) GetCharset ¶
GetCharset return the potential Charset at `object`, index 0, if any.
func (Pattern) GetFloat ¶
GetFloat return the potential first float at `object`, if any. Note that integers are also accepted. See GetAt for more control on type conversion
func (Pattern) GetMatrices ¶
GetMatrices returns the values with type FcMatrix at `object`
func (Pattern) GetStrings ¶
GetStrings returns the values with type String at `object`
func (Pattern) Hash ¶
Hash returns a value, usable as map key, and defining the pattern in terms of equality: two patterns with the same hash are considered equal.
func (Pattern) SubstituteDefault ¶
func (pattern Pattern) SubstituteDefault()
SubstituteDefault performs default substitutions in a pattern, supplying default values for underspecified font patterns:
- unspecified style or weight are set to Medium
- unspecified style or slant are set to Roman
- unspecified pixel size are given one computed from any specified point size (default 12), dpi (default 75) and scale (default 1).
type PatternElement ¶
PatternElement associate one value to a categorie (or Object)
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Read a set of language orthographies and build Go declarations for charsets which can then be used to identify which languages are supported by a given font.
|
Read a set of language orthographies and build Go declarations for charsets which can then be used to identify which languages are supported by a given font. |