mirror of
https://github.com/hanzoai/font.git
synced 2026-11-02 23:42:52 +00:00
The preset was fitted to a licensed display face and then used beside the drawn LUX mark. Against that mark it renders 824px where the mark is 741px, 91.1% residual. Refit to our own mark: 1.40x is 739px and 17.6%. Flattening the U's baseline overshoot takes it to 16.8% — Zen's round forms drop 16 units below the baseline, correct type design, and the drawn mark is dead flat. That is an outline operation (sites/_shape.py), not a font setting, so it applies to the cut wordmark and not the preset. Also: retag 45 binaries to identify as Zen, add publish.yml (this package had none — 1.8.1 and 1.8.2 were hand-published), and the fitting tools.
2417 lines
13 KiB
Plaintext
2417 lines
13 KiB
Plaintext
{
|
|
.appVersion = "3516";
|
|
.formatVersion = 3;
|
|
axes = (
|
|
{
|
|
name = "Element Shape";
|
|
tag = ELSH;
|
|
}
|
|
);
|
|
customParameters = (
|
|
{
|
|
name = "Use Typo Metrics";
|
|
value = 1;
|
|
},
|
|
{
|
|
name = "Disable Subroutines";
|
|
value = 1;
|
|
},
|
|
{
|
|
name = "Write lastChange";
|
|
value = 0;
|
|
},
|
|
{
|
|
name = "Write DisplayStrings";
|
|
value = 0;
|
|
},
|
|
{
|
|
name = fsType;
|
|
value = (
|
|
);
|
|
},
|
|
{
|
|
name = "meta Table";
|
|
value = (
|
|
{
|
|
data = Latn;
|
|
tag = dlng;
|
|
},
|
|
{
|
|
data = Latn;
|
|
tag = slng;
|
|
}
|
|
);
|
|
},
|
|
{
|
|
name = "Virtual Master";
|
|
value = (
|
|
{
|
|
Axis = "Element Shape";
|
|
Location = 100;
|
|
}
|
|
);
|
|
}
|
|
);
|
|
date = "2026-04-03 11:28:45 +0000";
|
|
familyName = "Zen Pixel";
|
|
featurePrefixes = (
|
|
{
|
|
automatic = 1;
|
|
code = "languagesystem DFLT dflt;
|
|
|
|
languagesystem latn dflt;
|
|
languagesystem latn AZE;
|
|
languagesystem latn CRT;
|
|
languagesystem latn KAZ;
|
|
languagesystem latn TAT;
|
|
languagesystem latn TRK;
|
|
languagesystem latn ROM;
|
|
languagesystem latn MOL;
|
|
languagesystem latn MAH;
|
|
languagesystem latn NLD;
|
|
";
|
|
name = Languagesystems;
|
|
}
|
|
);
|
|
features = (
|
|
{
|
|
automatic = 1;
|
|
code = "feature locl;
|
|
feature sups;
|
|
feature numr;
|
|
feature dnom;
|
|
feature frac;
|
|
feature ordn;
|
|
feature ss01;
|
|
feature ss02;
|
|
feature ss03;
|
|
feature ss04;
|
|
feature ss05;
|
|
feature ss06;
|
|
feature ss09;
|
|
";
|
|
tag = aalt;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "lookup ccmp_DFLT_1 {
|
|
@CombiningTopAccents = [acutecomb brevecomb caroncomb circumflexcomb commaturnedabovecomb dieresiscomb dotaccentcomb gravecomb hungarumlautcomb macroncomb ringcomb tildecomb];
|
|
lookupflag UseMarkFilteringSet @CombiningTopAccents;
|
|
sub i' @CombiningTopAccents by idotless;
|
|
sub j' @CombiningTopAccents by jdotless;
|
|
} ccmp_DFLT_1;
|
|
|
|
lookup ccmp_latn_1 {
|
|
lookupflag 0;
|
|
sub fi by f i;
|
|
sub fl by f l;
|
|
} ccmp_latn_1;
|
|
|
|
script latn;
|
|
lookup ccmp_latn_1;
|
|
";
|
|
tag = ccmp;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "script latn;
|
|
language AZE;
|
|
lookup locl_latn_0 {
|
|
sub i by idotaccent;
|
|
} locl_latn_0;
|
|
language CRT;
|
|
lookup locl_latn_0;
|
|
language KAZ;
|
|
lookup locl_latn_0;
|
|
language TAT;
|
|
lookup locl_latn_0;
|
|
language TRK;
|
|
lookup locl_latn_0;
|
|
|
|
script latn;
|
|
language ROM;
|
|
lookup locl_latn_1 {
|
|
sub Scedilla by Scommaaccent;
|
|
sub scedilla by scommaaccent;
|
|
sub Tcedilla by Tcommaaccent;
|
|
sub tcedilla by tcommaaccent;
|
|
} locl_latn_1;
|
|
language MOL;
|
|
lookup locl_latn_1;
|
|
|
|
script latn;
|
|
language MAH;
|
|
lookup locl_latn_2 {
|
|
sub Lcommaaccent by Lcommaaccent.loclMAH;
|
|
sub Ncommaaccent by Ncommaaccent.loclMAH;
|
|
sub lcommaaccent by lcommaaccent.loclMAH;
|
|
sub ncommaaccent by ncommaaccent.loclMAH;
|
|
sub commaaccentcomb by commaaccentcomb.loclMAH;
|
|
} locl_latn_2;
|
|
|
|
script latn;
|
|
language NLD;
|
|
lookup locl_latn_3 {
|
|
sub iacute j' by jacute;
|
|
sub Iacute J' by Jacute;
|
|
} locl_latn_3;
|
|
";
|
|
tag = locl;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub one by onesuperior;
|
|
sub two by twosuperior;
|
|
sub three by threesuperior;
|
|
";
|
|
tag = sups;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub three by three.numr;
|
|
";
|
|
tag = numr;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub four by four.dnom;
|
|
";
|
|
tag = dnom;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub one slash four by onequarter;
|
|
sub one slash two by onehalf;
|
|
sub three slash four by threequarters;
|
|
";
|
|
tag = frac;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub [zero one two three four five six seven eight nine] [A a]' by ordfeminine;
|
|
sub [zero one two three four five six seven eight nine] [O o]' by ordmasculine;
|
|
sub N o period by numero;
|
|
";
|
|
tag = ordn;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "lookupflag IgnoreMarks;
|
|
sub f i by f_i.dlig;
|
|
";
|
|
tag = dlig;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "lookupflag IgnoreMarks;
|
|
sub A I by A_I.liga;
|
|
sub U I by U_I.liga;
|
|
sub f i by fi;
|
|
sub f l by fl;
|
|
";
|
|
tag = liga;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub a by a.ss01;
|
|
sub aacute by aacute.ss01;
|
|
sub abreve by abreve.ss01;
|
|
sub acircumflex by acircumflex.ss01;
|
|
sub adieresis by adieresis.ss01;
|
|
sub agrave by agrave.ss01;
|
|
sub amacron by amacron.ss01;
|
|
sub aogonek by aogonek.ss01;
|
|
sub aring by aring.ss01;
|
|
sub atilde by atilde.ss01;
|
|
";
|
|
labels = (
|
|
{
|
|
language = dflt;
|
|
value = "No tail a";
|
|
}
|
|
);
|
|
tag = ss01;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub a by a.ss02;
|
|
sub aacute by aacute.ss02;
|
|
sub abreve by abreve.ss02;
|
|
sub acircumflex by acircumflex.ss02;
|
|
sub adieresis by adieresis.ss02;
|
|
sub agrave by agrave.ss02;
|
|
sub amacron by amacron.ss02;
|
|
sub aogonek by aogonek.ss02;
|
|
sub aring by aring.ss02;
|
|
sub atilde by atilde.ss02;
|
|
";
|
|
labels = (
|
|
{
|
|
language = dflt;
|
|
value = "Alt a";
|
|
}
|
|
);
|
|
tag = ss02;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub l by l.ss03;
|
|
sub lacute by lacute.ss03;
|
|
sub lcaron by lcaron.ss03;
|
|
sub lcommaaccent.loclMAH by lcommaaccent.loclMAH.ss03;
|
|
sub lcommaaccent by lcommaaccent.ss03;
|
|
sub lslash by lslash.ss03;
|
|
";
|
|
labels = (
|
|
{
|
|
language = dflt;
|
|
value = "Alt l";
|
|
}
|
|
);
|
|
tag = ss03;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub R by R.ss04;
|
|
sub Racute by Racute.ss04;
|
|
sub Rcaron by Rcaron.ss04;
|
|
sub Rcommaaccent by Rcommaaccent.ss04;
|
|
";
|
|
labels = (
|
|
{
|
|
language = dflt;
|
|
value = "Alt R";
|
|
}
|
|
);
|
|
tag = ss04;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub I by I.ss05;
|
|
sub Iacute by Iacute.ss05;
|
|
sub Icircumflex by Icircumflex.ss05;
|
|
sub Idieresis by Idieresis.ss05;
|
|
sub Idotaccent by Idotaccent.ss05;
|
|
sub Igrave by Igrave.ss05;
|
|
sub Imacron by Imacron.ss05;
|
|
sub Iogonek by Iogonek.ss05;
|
|
sub Itilde by Itilde.ss05;
|
|
";
|
|
labels = (
|
|
{
|
|
language = dflt;
|
|
value = "Alt I";
|
|
}
|
|
);
|
|
tag = ss05;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub G by G.ss06;
|
|
sub Gbreve by Gbreve.ss06;
|
|
sub Gcommaaccent by Gcommaaccent.ss06;
|
|
sub Gdotaccent by Gdotaccent.ss06;
|
|
sub Gmacron by Gmacron.ss06;
|
|
";
|
|
labels = (
|
|
{
|
|
language = dflt;
|
|
value = "Alt G";
|
|
}
|
|
);
|
|
tag = ss06;
|
|
},
|
|
{
|
|
automatic = 1;
|
|
code = "sub zero by zero.ss09;
|
|
";
|
|
labels = (
|
|
{
|
|
language = dflt;
|
|
value = "Alt numbers";
|
|
}
|
|
);
|
|
tag = ss09;
|
|
}
|
|
);
|
|
fontMaster = (
|
|
{
|
|
axesValues = (
|
|
0
|
|
);
|
|
customParameters = (
|
|
{
|
|
name = unitizerUnit;
|
|
value = "38";
|
|
},
|
|
{
|
|
name = hheaAscender;
|
|
value = 1005;
|
|
},
|
|
{
|
|
name = hheaDescender;
|
|
value = -295;
|
|
},
|
|
{
|
|
name = hheaLineGap;
|
|
value = 0;
|
|
},
|
|
{
|
|
name = typoAscender;
|
|
value = 1005;
|
|
},
|
|
{
|
|
name = typoDescender;
|
|
value = -295;
|
|
},
|
|
{
|
|
name = typoLineGap;
|
|
value = 0;
|
|
},
|
|
{
|
|
name = winAscent;
|
|
value = 1088;
|
|
},
|
|
{
|
|
name = winDescent;
|
|
value = 394;
|
|
},
|
|
{
|
|
name = "Master Icon Glyph Name";
|
|
value = v;
|
|
}
|
|
);
|
|
id = m01;
|
|
metricValues = (
|
|
{
|
|
pos = 722;
|
|
},
|
|
{
|
|
pos = 532;
|
|
},
|
|
{
|
|
},
|
|
{
|
|
pos = -152;
|
|
},
|
|
{
|
|
}
|
|
);
|
|
name = Regular;
|
|
visible = 1;
|
|
}
|
|
);
|
|
instances = (
|
|
{
|
|
axesValues = (
|
|
0
|
|
);
|
|
instanceInterpolations = {
|
|
m01 = 1;
|
|
};
|
|
name = Regular;
|
|
visible = 0;
|
|
},
|
|
{
|
|
axesValues = (
|
|
1
|
|
);
|
|
instanceInterpolations = {
|
|
m01 = 1;
|
|
};
|
|
name = Square;
|
|
},
|
|
{
|
|
axesValues = (
|
|
20
|
|
);
|
|
instanceInterpolations = {
|
|
m01 = 1;
|
|
};
|
|
name = Circle;
|
|
visible = 0;
|
|
},
|
|
{
|
|
axesValues = (
|
|
40
|
|
);
|
|
instanceInterpolations = {
|
|
m01 = 1;
|
|
};
|
|
name = Grid;
|
|
visible = 0;
|
|
},
|
|
{
|
|
axesValues = (
|
|
60
|
|
);
|
|
instanceInterpolations = {
|
|
m01 = 1;
|
|
};
|
|
name = Triangle;
|
|
visible = 0;
|
|
},
|
|
{
|
|
axesValues = (
|
|
80
|
|
);
|
|
instanceInterpolations = {
|
|
m01 = 1;
|
|
};
|
|
name = Line;
|
|
visible = 0;
|
|
}
|
|
);
|
|
kerningLTR = {
|
|
m01 = {
|
|
"@MMK_L_A" = {
|
|
"@MMK_R_T" = -76;
|
|
"@MMK_R_V" = -38;
|
|
};
|
|
"@MMK_L_L" = {
|
|
"@MMK_R_T" = -152;
|
|
"@MMK_R_V" = -114;
|
|
};
|
|
"@MMK_L_T" = {
|
|
"@MMK_R_A" = -76;
|
|
"@MMK_R_T" = 0;
|
|
"@MMK_R_a" = -76;
|
|
"@MMK_R_o" = -76;
|
|
};
|
|
"@MMK_L_V" = {
|
|
"@MMK_R_A" = -38;
|
|
"@MMK_R_a" = -38;
|
|
"@MMK_R_o" = -38;
|
|
};
|
|
"@MMK_L_l" = {
|
|
"@MMK_R_T" = -76;
|
|
};
|
|
"@MMK_L_o" = {
|
|
"@MMK_R_T" = -76;
|
|
};
|
|
"@MMK_L_r" = {
|
|
"@MMK_R_a" = -38;
|
|
"@MMK_R_o" = -38;
|
|
};
|
|
underscore = {
|
|
"@MMK_R_o" = -38;
|
|
"@MMK_R_v" = -76;
|
|
};
|
|
};
|
|
};
|
|
metrics = (
|
|
{
|
|
type = "cap height";
|
|
},
|
|
{
|
|
type = "x-height";
|
|
},
|
|
{
|
|
type = baseline;
|
|
},
|
|
{
|
|
type = descender;
|
|
},
|
|
{
|
|
type = "italic angle";
|
|
}
|
|
);
|
|
properties = (
|
|
{
|
|
key = copyrights;
|
|
values = (
|
|
{
|
|
language = dflt;
|
|
value = "Copyright 2026 Hanzo AI, Inc. (https://git.hanzo.ai/hanzoai/font)";
|
|
}
|
|
);
|
|
},
|
|
{
|
|
key = designers;
|
|
values = (
|
|
{
|
|
language = dflt;
|
|
value = "Hanzo AI, Inc.";
|
|
}
|
|
);
|
|
},
|
|
{
|
|
key = designerURL;
|
|
value = "https://hanzo.ai";
|
|
},
|
|
{
|
|
key = licenses;
|
|
values = (
|
|
{
|
|
language = dflt;
|
|
value = "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org";
|
|
}
|
|
);
|
|
},
|
|
{
|
|
key = manufacturers;
|
|
values = (
|
|
{
|
|
language = dflt;
|
|
value = "Hanzo AI, Inc.";
|
|
}
|
|
);
|
|
},
|
|
{
|
|
key = manufacturerURL;
|
|
value = "https://hanzo.ai";
|
|
},
|
|
{
|
|
key = vendorID;
|
|
value = "HNZO";
|
|
}
|
|
);
|
|
settings = {
|
|
gridLength = 38;
|
|
gridSubDivision = 38;
|
|
keyboardIncrementBig = 38;
|
|
};
|
|
unitsPerEm = 1000;
|
|
userData = {
|
|
backdropGlyphLib = {
|
|
AE = (
|
|
(
|
|
A,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
E,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
OE,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
B = (
|
|
(
|
|
D,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
E,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
P,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
R,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
Germandbls,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
germandbls,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
three,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
eight,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
C = (
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
G,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
O,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Q,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
D = (
|
|
(
|
|
B,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
C,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
E,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
G,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
O,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Q,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
E = (
|
|
(
|
|
B,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
F,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
Eng = (
|
|
(
|
|
N,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
j,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
F = (
|
|
(
|
|
E,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
G = (
|
|
(
|
|
A,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
C,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
O,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Q,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
x,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
Germandbls = (
|
|
(
|
|
B,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
S,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
T,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
germandbls,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
H = (
|
|
(
|
|
B,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
E,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
F,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
J,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
K,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
L,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
M,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
N,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
P,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
R,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
U,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
I = (
|
|
(
|
|
B,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
E,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
F,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
J,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
K,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
L,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
M,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
N,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
P,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
R,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
T,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
U,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
Y,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
i,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
one,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
IJ = (
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
J,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
U,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
J = (
|
|
(
|
|
I,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
U,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
K = (
|
|
(
|
|
B,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
I,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
R,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
X,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
Y,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
L = (
|
|
(
|
|
E,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
I,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
M = (
|
|
(
|
|
H,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
O,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
N,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
V,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
W,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
N = (
|
|
(
|
|
H,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
M,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
U,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
O = (
|
|
(
|
|
C,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
G,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Q,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
zero,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
OE = (
|
|
(
|
|
E,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
O,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
OE,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
Oslash = (
|
|
(
|
|
O,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Q,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
P = (
|
|
(
|
|
B,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
F,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
R,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
Q = (
|
|
(
|
|
C,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
G,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
O,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
R,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
R = (
|
|
(
|
|
B,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
F,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
P,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Q,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
X,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
T = (
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
I,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Y,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
Thorn = (
|
|
(
|
|
D,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
P,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
U = (
|
|
(
|
|
H,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
N,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
O,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
V,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
V = (
|
|
(
|
|
U,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
W,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
X,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
Y,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
W = (
|
|
(
|
|
M,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
V,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
X = (
|
|
(
|
|
K,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
N,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
R,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
V,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
Y,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
Z,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
Y = (
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
T,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
U,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
V,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
W,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
X,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
Z = (
|
|
(
|
|
L,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
T,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
X,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
ae = (
|
|
(
|
|
a,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
oe,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
ampersand = (
|
|
(
|
|
E,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
t,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
at = (
|
|
(
|
|
a,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
b = (
|
|
(
|
|
c,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
h,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
k,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
p,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
c = (
|
|
(
|
|
b,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
d,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
g,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
p,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
q,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
cent = (
|
|
(
|
|
c,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
d = (
|
|
(
|
|
c,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
eth,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
q,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
dollar = (
|
|
(
|
|
S,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
e = (
|
|
(
|
|
b,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
c,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
d,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
g,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
p,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
q,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
eight = (
|
|
(
|
|
B,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
zero,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
three,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
six,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
nine,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
eng = (
|
|
(
|
|
j,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
m,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
estimated = (
|
|
(
|
|
e,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
eth = (
|
|
(
|
|
d,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
euro = (
|
|
(
|
|
C,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
exclam = (
|
|
(
|
|
I,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
T,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
one,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
period,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
question,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
f = (
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
longs,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
germandbls,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
t,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
five = (
|
|
(
|
|
six,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
florin = (
|
|
(
|
|
f,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
franc = (
|
|
(
|
|
F,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
g = (
|
|
(
|
|
c,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
q,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
germandbls = (
|
|
(
|
|
B,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
b,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
f,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
s,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
longs,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
h = (
|
|
(
|
|
b,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
k,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
m,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
r,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
i = (
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
j,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
idotless = (
|
|
(
|
|
I,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
i,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
j,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
uni0237,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
j = (
|
|
(
|
|
i,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
k = (
|
|
(
|
|
b,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
h,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
x,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
l = (
|
|
(
|
|
I,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
b,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
h,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
k,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
i,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
one,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
longs = (
|
|
(
|
|
f,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
germandbls,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
m = (
|
|
(
|
|
h,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
r,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
w,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
mu = (
|
|
(
|
|
u,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
n = (
|
|
(
|
|
h,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
m,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
r,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
u,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
v,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
nine = (
|
|
(
|
|
zero,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
six,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
eight,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
o = (
|
|
(
|
|
b,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
c,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
d,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
eth,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
g,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
p,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
q,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
oe = (
|
|
(
|
|
ae,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
one = (
|
|
(
|
|
I,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
oslash = (
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
p = (
|
|
(
|
|
b,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
c,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
product = (
|
|
(
|
|
H,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
q = (
|
|
(
|
|
d,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
c,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
e,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
g,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
o,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
question = (
|
|
(
|
|
two,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
period,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
exclam,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
r = (
|
|
(
|
|
h,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
m,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
seven = (
|
|
(
|
|
T,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
six = (
|
|
(
|
|
zero,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
five,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
eight,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
nine,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
t = (
|
|
(
|
|
f,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
thorn = (
|
|
(
|
|
b,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
h,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
p,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
three = (
|
|
(
|
|
B,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
eight,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
two = (
|
|
(
|
|
question,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
u = (
|
|
(
|
|
n,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
v,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
uni0237 = (
|
|
(
|
|
i,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
idotless,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
l,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
n,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
uni20B9 = (
|
|
(
|
|
R,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
uni20BD = (
|
|
(
|
|
P,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
uni20BF = (
|
|
(
|
|
B,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
v = (
|
|
(
|
|
n,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
w,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
x,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
y,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
w = (
|
|
(
|
|
v,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
m,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
x = (
|
|
(
|
|
k,
|
|
1,
|
|
0
|
|
),
|
|
(
|
|
v,
|
|
0,
|
|
0
|
|
),
|
|
(
|
|
z,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
y = (
|
|
(
|
|
v,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
yen = (
|
|
(
|
|
Y,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
z = (
|
|
(
|
|
x,
|
|
0,
|
|
0
|
|
)
|
|
);
|
|
zero = (
|
|
(
|
|
O,
|
|
1,
|
|
0
|
|
)
|
|
);
|
|
};
|
|
};
|
|
versionMajor = 1;
|
|
versionMinor = 0;
|
|
}
|