2017-07-08 23:09:52 +00:00
|
|
|
/*
|
|
|
|
* This file is subject to the terms and conditions defined in
|
|
|
|
* file 'LICENSE.md', which is part of this source code package.
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
* The embedded character metrics specified in this file are distributed under the terms listed in
|
2018-08-03 10:15:42 +00:00
|
|
|
* ./testdata/afms/MustRead.html.
|
2017-07-08 23:09:52 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
package fonts
|
|
|
|
|
|
|
|
import (
|
2018-07-15 16:28:56 +10:00
|
|
|
"github.com/unidoc/unidoc/pdf/core"
|
2017-07-08 23:09:52 +00:00
|
|
|
"github.com/unidoc/unidoc/pdf/model/textencoding"
|
|
|
|
)
|
|
|
|
|
2018-06-27 12:25:59 +10:00
|
|
|
// FontSymbol represents the Symbol font.
|
2017-07-08 23:09:52 +00:00
|
|
|
// This is a built-in font and it is assumed that every reader has access to it.
|
2018-06-27 12:25:59 +10:00
|
|
|
type FontSymbol struct {
|
2017-07-09 22:37:05 +00:00
|
|
|
// By default encoder is not set, which means that we use the font's built in encoding.
|
2017-07-08 23:09:52 +00:00
|
|
|
encoder textencoding.TextEncoder
|
|
|
|
}
|
|
|
|
|
2017-09-01 13:20:51 +00:00
|
|
|
// NewFontSymbol returns a new instance of the font with a default encoder set (SymbolEncoder).
|
2018-06-27 12:25:59 +10:00
|
|
|
func NewFontSymbol() FontSymbol {
|
|
|
|
font := FontSymbol{}
|
2017-09-01 13:20:51 +00:00
|
|
|
font.encoder = textencoding.NewSymbolEncoder()
|
2017-07-08 23:09:52 +00:00
|
|
|
return font
|
|
|
|
}
|
|
|
|
|
2017-09-01 13:20:51 +00:00
|
|
|
// Encoder returns the font's text encoder.
|
2018-06-27 12:25:59 +10:00
|
|
|
func (font FontSymbol) Encoder() textencoding.TextEncoder {
|
2017-09-01 13:20:51 +00:00
|
|
|
return font.encoder
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetEncoder sets the font's text encoder.
|
2018-06-27 12:25:59 +10:00
|
|
|
func (font FontSymbol) SetEncoder(encoder textencoding.TextEncoder) {
|
2017-07-08 23:09:52 +00:00
|
|
|
font.encoder = encoder
|
|
|
|
}
|
|
|
|
|
2017-09-01 13:20:51 +00:00
|
|
|
// GetGlyphCharMetrics returns character metrics for a given glyph.
|
2018-06-27 12:25:59 +10:00
|
|
|
func (font FontSymbol) GetGlyphCharMetrics(glyph string) (CharMetrics, bool) {
|
2018-07-16 17:40:28 +10:00
|
|
|
metrics, has := SymbolCharMetrics[glyph]
|
2017-07-08 23:09:52 +00:00
|
|
|
if !has {
|
|
|
|
return metrics, false
|
|
|
|
}
|
|
|
|
|
|
|
|
return metrics, true
|
|
|
|
}
|
|
|
|
|
2017-09-01 13:20:51 +00:00
|
|
|
// ToPdfObject returns a primitive PDF object representation of the font.
|
2018-07-15 16:28:56 +10:00
|
|
|
func (font FontSymbol) ToPdfObject() core.PdfObject {
|
|
|
|
fontDict := core.MakeDict()
|
|
|
|
fontDict.Set("Type", core.MakeName("Font"))
|
|
|
|
fontDict.Set("Subtype", core.MakeName("Type1"))
|
|
|
|
fontDict.Set("BaseFont", core.MakeName("Symbol"))
|
2017-07-09 22:37:05 +00:00
|
|
|
if font.encoder != nil {
|
|
|
|
fontDict.Set("Encoding", font.encoder.ToPdfObject())
|
|
|
|
}
|
2017-07-08 23:09:52 +00:00
|
|
|
|
2018-07-25 16:14:19 +10:00
|
|
|
return core.MakeIndirectObject(fontDict)
|
2017-07-08 23:09:52 +00:00
|
|
|
}
|
|
|
|
|
2018-07-25 16:14:19 +10:00
|
|
|
// SymbolCharMetrics are the font metrics loaded from afms/Symbol.afm.
|
|
|
|
// See afms/MustRead.html for license information.
|
2018-07-16 17:40:28 +10:00
|
|
|
var SymbolCharMetrics = map[string]CharMetrics{
|
2017-07-08 23:09:52 +00:00
|
|
|
"Alpha": {GlyphName: "Alpha", Wx: 722.000000, Wy: 0.000000},
|
|
|
|
"Beta": {GlyphName: "Beta", Wx: 667.000000, Wy: 0.000000},
|
|
|
|
"Chi": {GlyphName: "Chi", Wx: 722.000000, Wy: 0.000000},
|
|
|
|
"Delta": {GlyphName: "Delta", Wx: 612.000000, Wy: 0.000000},
|
|
|
|
"Epsilon": {GlyphName: "Epsilon", Wx: 611.000000, Wy: 0.000000},
|
|
|
|
"Eta": {GlyphName: "Eta", Wx: 722.000000, Wy: 0.000000},
|
|
|
|
"Euro": {GlyphName: "Euro", Wx: 750.000000, Wy: 0.000000},
|
|
|
|
"Gamma": {GlyphName: "Gamma", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"Ifraktur": {GlyphName: "Ifraktur", Wx: 686.000000, Wy: 0.000000},
|
|
|
|
"Iota": {GlyphName: "Iota", Wx: 333.000000, Wy: 0.000000},
|
|
|
|
"Kappa": {GlyphName: "Kappa", Wx: 722.000000, Wy: 0.000000},
|
|
|
|
"Lambda": {GlyphName: "Lambda", Wx: 686.000000, Wy: 0.000000},
|
|
|
|
"Mu": {GlyphName: "Mu", Wx: 889.000000, Wy: 0.000000},
|
|
|
|
"Nu": {GlyphName: "Nu", Wx: 722.000000, Wy: 0.000000},
|
|
|
|
"Omega": {GlyphName: "Omega", Wx: 768.000000, Wy: 0.000000},
|
|
|
|
"Omicron": {GlyphName: "Omicron", Wx: 722.000000, Wy: 0.000000},
|
|
|
|
"Phi": {GlyphName: "Phi", Wx: 763.000000, Wy: 0.000000},
|
|
|
|
"Pi": {GlyphName: "Pi", Wx: 768.000000, Wy: 0.000000},
|
|
|
|
"Psi": {GlyphName: "Psi", Wx: 795.000000, Wy: 0.000000},
|
|
|
|
"Rfraktur": {GlyphName: "Rfraktur", Wx: 795.000000, Wy: 0.000000},
|
|
|
|
"Rho": {GlyphName: "Rho", Wx: 556.000000, Wy: 0.000000},
|
|
|
|
"Sigma": {GlyphName: "Sigma", Wx: 592.000000, Wy: 0.000000},
|
|
|
|
"Tau": {GlyphName: "Tau", Wx: 611.000000, Wy: 0.000000},
|
|
|
|
"Theta": {GlyphName: "Theta", Wx: 741.000000, Wy: 0.000000},
|
|
|
|
"Upsilon": {GlyphName: "Upsilon", Wx: 690.000000, Wy: 0.000000},
|
|
|
|
"Upsilon1": {GlyphName: "Upsilon1", Wx: 620.000000, Wy: 0.000000},
|
|
|
|
"Xi": {GlyphName: "Xi", Wx: 645.000000, Wy: 0.000000},
|
|
|
|
"Zeta": {GlyphName: "Zeta", Wx: 611.000000, Wy: 0.000000},
|
|
|
|
"aleph": {GlyphName: "aleph", Wx: 823.000000, Wy: 0.000000},
|
|
|
|
"alpha": {GlyphName: "alpha", Wx: 631.000000, Wy: 0.000000},
|
|
|
|
"ampersand": {GlyphName: "ampersand", Wx: 778.000000, Wy: 0.000000},
|
|
|
|
"angle": {GlyphName: "angle", Wx: 768.000000, Wy: 0.000000},
|
|
|
|
"angleleft": {GlyphName: "angleleft", Wx: 329.000000, Wy: 0.000000},
|
|
|
|
"angleright": {GlyphName: "angleright", Wx: 329.000000, Wy: 0.000000},
|
|
|
|
"apple": {GlyphName: "apple", Wx: 790.000000, Wy: 0.000000},
|
|
|
|
"approxequal": {GlyphName: "approxequal", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"arrowboth": {GlyphName: "arrowboth", Wx: 1042.000000, Wy: 0.000000},
|
|
|
|
"arrowdblboth": {GlyphName: "arrowdblboth", Wx: 1042.000000, Wy: 0.000000},
|
|
|
|
"arrowdbldown": {GlyphName: "arrowdbldown", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"arrowdblleft": {GlyphName: "arrowdblleft", Wx: 987.000000, Wy: 0.000000},
|
|
|
|
"arrowdblright": {GlyphName: "arrowdblright", Wx: 987.000000, Wy: 0.000000},
|
|
|
|
"arrowdblup": {GlyphName: "arrowdblup", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"arrowdown": {GlyphName: "arrowdown", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"arrowhorizex": {GlyphName: "arrowhorizex", Wx: 1000.000000, Wy: 0.000000},
|
|
|
|
"arrowleft": {GlyphName: "arrowleft", Wx: 987.000000, Wy: 0.000000},
|
|
|
|
"arrowright": {GlyphName: "arrowright", Wx: 987.000000, Wy: 0.000000},
|
|
|
|
"arrowup": {GlyphName: "arrowup", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"arrowvertex": {GlyphName: "arrowvertex", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"asteriskmath": {GlyphName: "asteriskmath", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"bar": {GlyphName: "bar", Wx: 200.000000, Wy: 0.000000},
|
|
|
|
"beta": {GlyphName: "beta", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"braceex": {GlyphName: "braceex", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"braceleft": {GlyphName: "braceleft", Wx: 480.000000, Wy: 0.000000},
|
|
|
|
"braceleftbt": {GlyphName: "braceleftbt", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"braceleftmid": {GlyphName: "braceleftmid", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"bracelefttp": {GlyphName: "bracelefttp", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"braceright": {GlyphName: "braceright", Wx: 480.000000, Wy: 0.000000},
|
|
|
|
"bracerightbt": {GlyphName: "bracerightbt", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"bracerightmid": {GlyphName: "bracerightmid", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"bracerighttp": {GlyphName: "bracerighttp", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"bracketleft": {GlyphName: "bracketleft", Wx: 333.000000, Wy: 0.000000},
|
|
|
|
"bracketleftbt": {GlyphName: "bracketleftbt", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"bracketleftex": {GlyphName: "bracketleftex", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"bracketlefttp": {GlyphName: "bracketlefttp", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"bracketright": {GlyphName: "bracketright", Wx: 333.000000, Wy: 0.000000},
|
|
|
|
"bracketrightbt": {GlyphName: "bracketrightbt", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"bracketrightex": {GlyphName: "bracketrightex", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"bracketrighttp": {GlyphName: "bracketrighttp", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"bullet": {GlyphName: "bullet", Wx: 460.000000, Wy: 0.000000},
|
|
|
|
"carriagereturn": {GlyphName: "carriagereturn", Wx: 658.000000, Wy: 0.000000},
|
|
|
|
"chi": {GlyphName: "chi", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"circlemultiply": {GlyphName: "circlemultiply", Wx: 768.000000, Wy: 0.000000},
|
|
|
|
"circleplus": {GlyphName: "circleplus", Wx: 768.000000, Wy: 0.000000},
|
|
|
|
"club": {GlyphName: "club", Wx: 753.000000, Wy: 0.000000},
|
|
|
|
"colon": {GlyphName: "colon", Wx: 278.000000, Wy: 0.000000},
|
|
|
|
"comma": {GlyphName: "comma", Wx: 250.000000, Wy: 0.000000},
|
|
|
|
"congruent": {GlyphName: "congruent", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"copyrightsans": {GlyphName: "copyrightsans", Wx: 790.000000, Wy: 0.000000},
|
|
|
|
"copyrightserif": {GlyphName: "copyrightserif", Wx: 790.000000, Wy: 0.000000},
|
|
|
|
"degree": {GlyphName: "degree", Wx: 400.000000, Wy: 0.000000},
|
|
|
|
"delta": {GlyphName: "delta", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"diamond": {GlyphName: "diamond", Wx: 753.000000, Wy: 0.000000},
|
|
|
|
"divide": {GlyphName: "divide", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"dotmath": {GlyphName: "dotmath", Wx: 250.000000, Wy: 0.000000},
|
|
|
|
"eight": {GlyphName: "eight", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"element": {GlyphName: "element", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"ellipsis": {GlyphName: "ellipsis", Wx: 1000.000000, Wy: 0.000000},
|
|
|
|
"emptyset": {GlyphName: "emptyset", Wx: 823.000000, Wy: 0.000000},
|
|
|
|
"epsilon": {GlyphName: "epsilon", Wx: 439.000000, Wy: 0.000000},
|
|
|
|
"equal": {GlyphName: "equal", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"equivalence": {GlyphName: "equivalence", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"eta": {GlyphName: "eta", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"exclam": {GlyphName: "exclam", Wx: 333.000000, Wy: 0.000000},
|
|
|
|
"existential": {GlyphName: "existential", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"five": {GlyphName: "five", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"florin": {GlyphName: "florin", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"four": {GlyphName: "four", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"fraction": {GlyphName: "fraction", Wx: 167.000000, Wy: 0.000000},
|
|
|
|
"gamma": {GlyphName: "gamma", Wx: 411.000000, Wy: 0.000000},
|
|
|
|
"gradient": {GlyphName: "gradient", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"greater": {GlyphName: "greater", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"greaterequal": {GlyphName: "greaterequal", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"heart": {GlyphName: "heart", Wx: 753.000000, Wy: 0.000000},
|
|
|
|
"infinity": {GlyphName: "infinity", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"integral": {GlyphName: "integral", Wx: 274.000000, Wy: 0.000000},
|
|
|
|
"integralbt": {GlyphName: "integralbt", Wx: 686.000000, Wy: 0.000000},
|
|
|
|
"integralex": {GlyphName: "integralex", Wx: 686.000000, Wy: 0.000000},
|
|
|
|
"integraltp": {GlyphName: "integraltp", Wx: 686.000000, Wy: 0.000000},
|
|
|
|
"intersection": {GlyphName: "intersection", Wx: 768.000000, Wy: 0.000000},
|
|
|
|
"iota": {GlyphName: "iota", Wx: 329.000000, Wy: 0.000000},
|
|
|
|
"kappa": {GlyphName: "kappa", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"lambda": {GlyphName: "lambda", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"less": {GlyphName: "less", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"lessequal": {GlyphName: "lessequal", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"logicaland": {GlyphName: "logicaland", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"logicalnot": {GlyphName: "logicalnot", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"logicalor": {GlyphName: "logicalor", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"lozenge": {GlyphName: "lozenge", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"minus": {GlyphName: "minus", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"minute": {GlyphName: "minute", Wx: 247.000000, Wy: 0.000000},
|
|
|
|
"mu": {GlyphName: "mu", Wx: 576.000000, Wy: 0.000000},
|
|
|
|
"multiply": {GlyphName: "multiply", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"nine": {GlyphName: "nine", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"notelement": {GlyphName: "notelement", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"notequal": {GlyphName: "notequal", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"notsubset": {GlyphName: "notsubset", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"nu": {GlyphName: "nu", Wx: 521.000000, Wy: 0.000000},
|
|
|
|
"numbersign": {GlyphName: "numbersign", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"omega": {GlyphName: "omega", Wx: 686.000000, Wy: 0.000000},
|
|
|
|
"omega1": {GlyphName: "omega1", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"omicron": {GlyphName: "omicron", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"one": {GlyphName: "one", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"parenleft": {GlyphName: "parenleft", Wx: 333.000000, Wy: 0.000000},
|
|
|
|
"parenleftbt": {GlyphName: "parenleftbt", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"parenleftex": {GlyphName: "parenleftex", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"parenlefttp": {GlyphName: "parenlefttp", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"parenright": {GlyphName: "parenright", Wx: 333.000000, Wy: 0.000000},
|
|
|
|
"parenrightbt": {GlyphName: "parenrightbt", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"parenrightex": {GlyphName: "parenrightex", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"parenrighttp": {GlyphName: "parenrighttp", Wx: 384.000000, Wy: 0.000000},
|
|
|
|
"partialdiff": {GlyphName: "partialdiff", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
"percent": {GlyphName: "percent", Wx: 833.000000, Wy: 0.000000},
|
|
|
|
"period": {GlyphName: "period", Wx: 250.000000, Wy: 0.000000},
|
|
|
|
"perpendicular": {GlyphName: "perpendicular", Wx: 658.000000, Wy: 0.000000},
|
|
|
|
"phi": {GlyphName: "phi", Wx: 521.000000, Wy: 0.000000},
|
|
|
|
"phi1": {GlyphName: "phi1", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"pi": {GlyphName: "pi", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"plus": {GlyphName: "plus", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"plusminus": {GlyphName: "plusminus", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"product": {GlyphName: "product", Wx: 823.000000, Wy: 0.000000},
|
|
|
|
"propersubset": {GlyphName: "propersubset", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"propersuperset": {GlyphName: "propersuperset", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"proportional": {GlyphName: "proportional", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"psi": {GlyphName: "psi", Wx: 686.000000, Wy: 0.000000},
|
|
|
|
"question": {GlyphName: "question", Wx: 444.000000, Wy: 0.000000},
|
|
|
|
"radical": {GlyphName: "radical", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"radicalex": {GlyphName: "radicalex", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"reflexsubset": {GlyphName: "reflexsubset", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"reflexsuperset": {GlyphName: "reflexsuperset", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"registersans": {GlyphName: "registersans", Wx: 790.000000, Wy: 0.000000},
|
|
|
|
"registerserif": {GlyphName: "registerserif", Wx: 790.000000, Wy: 0.000000},
|
|
|
|
"rho": {GlyphName: "rho", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"second": {GlyphName: "second", Wx: 411.000000, Wy: 0.000000},
|
|
|
|
"semicolon": {GlyphName: "semicolon", Wx: 278.000000, Wy: 0.000000},
|
|
|
|
"seven": {GlyphName: "seven", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"sigma": {GlyphName: "sigma", Wx: 603.000000, Wy: 0.000000},
|
|
|
|
"sigma1": {GlyphName: "sigma1", Wx: 439.000000, Wy: 0.000000},
|
|
|
|
"similar": {GlyphName: "similar", Wx: 549.000000, Wy: 0.000000},
|
|
|
|
"six": {GlyphName: "six", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"slash": {GlyphName: "slash", Wx: 278.000000, Wy: 0.000000},
|
|
|
|
"space": {GlyphName: "space", Wx: 250.000000, Wy: 0.000000},
|
|
|
|
"spade": {GlyphName: "spade", Wx: 753.000000, Wy: 0.000000},
|
|
|
|
"suchthat": {GlyphName: "suchthat", Wx: 439.000000, Wy: 0.000000},
|
|
|
|
"summation": {GlyphName: "summation", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"tau": {GlyphName: "tau", Wx: 439.000000, Wy: 0.000000},
|
|
|
|
"therefore": {GlyphName: "therefore", Wx: 863.000000, Wy: 0.000000},
|
|
|
|
"theta": {GlyphName: "theta", Wx: 521.000000, Wy: 0.000000},
|
|
|
|
"theta1": {GlyphName: "theta1", Wx: 631.000000, Wy: 0.000000},
|
|
|
|
"three": {GlyphName: "three", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"trademarksans": {GlyphName: "trademarksans", Wx: 786.000000, Wy: 0.000000},
|
|
|
|
"trademarkserif": {GlyphName: "trademarkserif", Wx: 890.000000, Wy: 0.000000},
|
|
|
|
"two": {GlyphName: "two", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"underscore": {GlyphName: "underscore", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"union": {GlyphName: "union", Wx: 768.000000, Wy: 0.000000},
|
|
|
|
"universal": {GlyphName: "universal", Wx: 713.000000, Wy: 0.000000},
|
|
|
|
"upsilon": {GlyphName: "upsilon", Wx: 576.000000, Wy: 0.000000},
|
|
|
|
"weierstrass": {GlyphName: "weierstrass", Wx: 987.000000, Wy: 0.000000},
|
|
|
|
"xi": {GlyphName: "xi", Wx: 493.000000, Wy: 0.000000},
|
|
|
|
"zero": {GlyphName: "zero", Wx: 500.000000, Wy: 0.000000},
|
|
|
|
"zeta": {GlyphName: "zeta", Wx: 494.000000, Wy: 0.000000},
|
|
|
|
}
|