Initial public commit
This commit is contained in:
commit
3b1fffade1
6648 changed files with 363948 additions and 0 deletions
384
misc/rf-scripts/StripGlyphs.py
Normal file
384
misc/rf-scripts/StripGlyphs.py
Normal file
|
|
@ -0,0 +1,384 @@
|
|||
#
|
||||
# Removes unused glyphs
|
||||
#
|
||||
from mojo.roboFont import version
|
||||
|
||||
SC_ROMAN = [
|
||||
"A.smcp",
|
||||
"B.smcp",
|
||||
"C.smcp",
|
||||
"D.smcp",
|
||||
"E.smcp",
|
||||
"F.smcp",
|
||||
"G.smcp",
|
||||
"H.smcp",
|
||||
"I.smcp",
|
||||
"J.smcp",
|
||||
"K.smcp",
|
||||
"L.smcp",
|
||||
"M.smcp",
|
||||
"N.smcp",
|
||||
"O.smcp",
|
||||
"P.smcp",
|
||||
"Q.smcp",
|
||||
"R.smcp",
|
||||
"S.smcp",
|
||||
"T.smcp",
|
||||
"U.smcp",
|
||||
"V.smcp",
|
||||
"W.smcp",
|
||||
"X.smcp",
|
||||
"Y.smcp",
|
||||
"Z.smcp",
|
||||
"AE.smcp",
|
||||
"AEacute.smcp",
|
||||
"Aacute.smcp",
|
||||
"Abreve.smcp",
|
||||
"Acircumflex.smcp",
|
||||
"Adieresis.smcp",
|
||||
"Agrave.smcp",
|
||||
"Alpha.smcp",
|
||||
"Alphatonos.smcp",
|
||||
"Amacron.smcp",
|
||||
"Aogonek.smcp",
|
||||
"Aogonek.smcp.NAV",
|
||||
"Aring.smcp",
|
||||
"Aringacute.smcp",
|
||||
"Atilde.smcp",
|
||||
"Beta.smcp",
|
||||
"Cacute.smcp",
|
||||
"Ccaron.smcp",
|
||||
"Ccedilla.smcp",
|
||||
"Ccircumflex.smcp",
|
||||
"Chi.smcp",
|
||||
"Dcaron.smcp",
|
||||
"Dcroat.smcp",
|
||||
"Delta.smcp",
|
||||
"Eacute.smcp",
|
||||
"Ebreve.smcp",
|
||||
"Ecaron.smcp",
|
||||
"Ecircumflex.smcp",
|
||||
"Edieresis.smcp",
|
||||
"Edotaccent.smcp",
|
||||
"Egrave.smcp",
|
||||
"Emacron.smcp",
|
||||
"Eng.smcp",
|
||||
"Eogonek.smcp",
|
||||
"Eogonek.smcp.NAV",
|
||||
"Epsilon.smcp",
|
||||
"Epsilontonos.smcp",
|
||||
"Eta.smcp",
|
||||
"Etatonos.smcp",
|
||||
"Eth.smcp",
|
||||
"Gamma.smcp",
|
||||
"Gbreve.smcp",
|
||||
"Gcircumflex.smcp",
|
||||
"Gcommaaccent.smcp",
|
||||
"Germandbls.smcp",
|
||||
"Hbar.smcp",
|
||||
"Hcircumflex.smcp",
|
||||
"IJ.smcp",
|
||||
"Iacute.smcp",
|
||||
"Ibreve.smcp",
|
||||
"Icircumflex.smcp",
|
||||
"Idieresis.smcp",
|
||||
"Igrave.smcp",
|
||||
"Imacron.smcp",
|
||||
"Iogonek.smcp",
|
||||
"Iota.smcp",
|
||||
"Iotadieresis.smcp",
|
||||
"Iotatonos.smcp",
|
||||
"Itilde.smcp",
|
||||
"Jcircumflex.smcp",
|
||||
"Kappa.smcp",
|
||||
"Kcommaaccent.smcp",
|
||||
"Lacute.smcp",
|
||||
"Lambda.smcp",
|
||||
"Lcaron.smcp",
|
||||
"Lcommaaccent.smcp",
|
||||
"Ldot.smcp",
|
||||
"Lslash.smcp",
|
||||
"Nacute.smcp",
|
||||
"Ncaron.smcp",
|
||||
"Ncommaaccent.smcp",
|
||||
"Ntilde.smcp",
|
||||
"Nu.smcp",
|
||||
"OE.smcp",
|
||||
"Oacute.smcp",
|
||||
"Obreve.smcp",
|
||||
"Ocircumflex.smcp",
|
||||
"Odieresis.smcp",
|
||||
"Ograve.smcp",
|
||||
"Ohungarumlaut.smcp",
|
||||
"Omacron.smcp",
|
||||
"Omega.smcp",
|
||||
"Omegatonos.smcp",
|
||||
"Omicron.smcp",
|
||||
"Omicrontonos.smcp",
|
||||
"Oogonek.smcp",
|
||||
"Oogonek.smcp.NAV",
|
||||
"Oslash.smcp",
|
||||
"Oslashacute.smcp",
|
||||
"Otilde.smcp",
|
||||
"Phi.smcp",
|
||||
"Pi.smcp",
|
||||
"Psi.smcp",
|
||||
"Racute.smcp",
|
||||
"Rcaron.smcp",
|
||||
"Rcommaaccent.smcp",
|
||||
"Rho.smcp",
|
||||
"Sacute.smcp",
|
||||
"Scaron.smcp",
|
||||
"Scedilla.smcp",
|
||||
"Scircumflex.smcp",
|
||||
"Sigma.smcp",
|
||||
"Tau.smcp",
|
||||
"Tbar.smcp",
|
||||
"Tcaron.smcp",
|
||||
"Theta.smcp",
|
||||
"Thorn.smcp",
|
||||
"Uacute.smcp",
|
||||
"Ubreve.smcp",
|
||||
"Ucircumflex.smcp",
|
||||
"Udieresis.smcp",
|
||||
"Ugrave.smcp",
|
||||
"Uhungarumlaut.smcp",
|
||||
"Umacron.smcp",
|
||||
"Uogonek.smcp",
|
||||
"Upsilon.smcp",
|
||||
"Upsilondieresis.smcp",
|
||||
"Upsilontonos.smcp",
|
||||
"Uring.smcp",
|
||||
"Utilde.smcp",
|
||||
"Wacute.smcp",
|
||||
"Wcircumflex.smcp",
|
||||
"Wdieresis.smcp",
|
||||
"Wgrave.smcp",
|
||||
"Xi.smcp",
|
||||
"Yacute.smcp",
|
||||
"Ycircumflex.smcp",
|
||||
"Ydieresis.smcp",
|
||||
"Ygrave.smcp",
|
||||
"Zacute.smcp",
|
||||
"Zcaron.smcp",
|
||||
"Zdotaccent.smcp",
|
||||
"Zeta.smcp",
|
||||
"ampersand.smcp",
|
||||
"uni010A.smcp",
|
||||
"uni0120.smcp",
|
||||
"uni0162.smcp",
|
||||
"Scommaaccent.smcp",
|
||||
"Tcommaaccent.smcp",
|
||||
"uni037F.smcp"
|
||||
]
|
||||
|
||||
|
||||
SC_SET1 = [
|
||||
"zero.smcp",
|
||||
"one.smcp",
|
||||
"two.smcp",
|
||||
"three.smcp",
|
||||
"four.smcp",
|
||||
"five.smcp",
|
||||
"six.smcp",
|
||||
"seven.smcp",
|
||||
"eight.smcp",
|
||||
"nine.smcp",
|
||||
"Euro.smcp",
|
||||
"Idotaccent.smcp",
|
||||
"Mu.smcp",
|
||||
"dollar.smcp",
|
||||
"lira.smcp",
|
||||
"sterling.smcp",
|
||||
"uni0401.smcp",
|
||||
"uni0402.smcp",
|
||||
"uni0403.smcp",
|
||||
"uni0404.smcp",
|
||||
"uni0405.smcp",
|
||||
"uni0406.smcp",
|
||||
"uni0407.smcp",
|
||||
"uni0408.smcp",
|
||||
"uni0409.smcp",
|
||||
"uni040A.smcp",
|
||||
"uni040B.smcp",
|
||||
"uni040C.smcp",
|
||||
"uni040E.smcp",
|
||||
"uni040F.smcp",
|
||||
"uni0410.smcp",
|
||||
"uni0411.smcp",
|
||||
"uni0412.smcp",
|
||||
"uni0413.smcp",
|
||||
"uni0414.smcp",
|
||||
"uni0415.smcp",
|
||||
"uni0416.smcp",
|
||||
"uni0417.smcp",
|
||||
"uni0418.smcp",
|
||||
"uni0419.smcp",
|
||||
"uni041A.smcp",
|
||||
"uni041B.smcp",
|
||||
"uni041C.smcp",
|
||||
"uni041D.smcp",
|
||||
"uni041E.smcp",
|
||||
"uni041F.smcp",
|
||||
"uni0420.smcp",
|
||||
"uni0421.smcp",
|
||||
"uni0422.smcp",
|
||||
"uni0423.smcp",
|
||||
"uni0424.smcp",
|
||||
"uni0425.smcp",
|
||||
"uni0426.smcp",
|
||||
"uni0427.smcp",
|
||||
"uni0428.smcp",
|
||||
"uni0429.smcp",
|
||||
"uni042A.smcp",
|
||||
"uni042B.smcp",
|
||||
"uni042C.smcp",
|
||||
"uni042D.smcp",
|
||||
"uni042E.smcp",
|
||||
"uni042F.smcp",
|
||||
"uni0490.smcp",
|
||||
"uni0492.smcp",
|
||||
"uni0496.smcp",
|
||||
"uni0498.smcp",
|
||||
"uni049A.smcp",
|
||||
"uni049C.smcp",
|
||||
"uni04A0.smcp",
|
||||
"uni04A2.smcp",
|
||||
"uni04A8.smcp",
|
||||
"uni04AA.smcp",
|
||||
"uni04AE.smcp",
|
||||
"uni04B0.smcp",
|
||||
"uni04B2.smcp",
|
||||
"uni04B4.smcp",
|
||||
"uni04B8.smcp",
|
||||
"uni04BA.smcp",
|
||||
"uni04BC.smcp",
|
||||
"uni04BE.smcp",
|
||||
"uni04D8.smcp",
|
||||
"uni04E0.smcp",
|
||||
"uni04E2.smcp",
|
||||
"uni04E8.smcp",
|
||||
"uni04EE.smcp",
|
||||
"uni20B4.smcp",
|
||||
"uni20B8.smcp",
|
||||
"uni20BD.smcp",
|
||||
"uni2116.smcp",
|
||||
"yen.smcp"
|
||||
]
|
||||
|
||||
|
||||
SC_SET2 = [
|
||||
"I.smcp",
|
||||
"Sigma.smcp",
|
||||
"Mu.smcp",
|
||||
"uni0410.smcp",
|
||||
"uni0411.smcp",
|
||||
"uni0412.smcp",
|
||||
"uni0413.smcp",
|
||||
"uni0414.smcp",
|
||||
"uni0415.smcp",
|
||||
"uni0416.smcp",
|
||||
"uni0417.smcp",
|
||||
"uni0418.smcp",
|
||||
"uni0419.smcp",
|
||||
"uni041A.smcp",
|
||||
"uni041B.smcp",
|
||||
"uni041C.smcp",
|
||||
"uni041D.smcp",
|
||||
"uni041E.smcp",
|
||||
"uni041F.smcp",
|
||||
"uni0420.smcp",
|
||||
"uni0421.smcp",
|
||||
"uni0422.smcp",
|
||||
"uni0423.smcp",
|
||||
"uni0424.smcp",
|
||||
"uni0425.smcp",
|
||||
"uni0426.smcp",
|
||||
"uni0427.smcp",
|
||||
"uni0428.smcp",
|
||||
"uni0429.smcp",
|
||||
"uni042A.smcp",
|
||||
"uni042B.smcp",
|
||||
"uni042C.smcp",
|
||||
"uni042D.smcp",
|
||||
"uni042E.smcp",
|
||||
"uni042F.smcp",
|
||||
"uni0401.smcp",
|
||||
"uni0402.smcp",
|
||||
"uni0403.smcp",
|
||||
"uni0404.smcp",
|
||||
"uni0405.smcp",
|
||||
"uni0406.smcp",
|
||||
"uni0407.smcp",
|
||||
"uni0408.smcp",
|
||||
"uni0409.smcp",
|
||||
"uni040A.smcp",
|
||||
"uni040B.smcp",
|
||||
"uni040C.smcp",
|
||||
"uni040E.smcp",
|
||||
"uni040F.smcp",
|
||||
"uni0490.smcp",
|
||||
"uni0492.smcp",
|
||||
"uni0496.smcp",
|
||||
"uni0498.smcp",
|
||||
"uni049A.smcp",
|
||||
"uni049C.smcp",
|
||||
"uni04A0.smcp",
|
||||
"uni04A2.smcp",
|
||||
"uni04A8.smcp",
|
||||
"uni04AA.smcp",
|
||||
"uni04AE.smcp",
|
||||
"uni04B0.smcp",
|
||||
"uni04B2.smcp",
|
||||
"uni04B4.smcp",
|
||||
"uni04B8.smcp",
|
||||
"uni04BA.smcp",
|
||||
"uni04BC.smcp",
|
||||
"uni04BE.smcp",
|
||||
"uni04D8.smcp",
|
||||
"uni04E0.smcp",
|
||||
"uni04E2.smcp",
|
||||
"uni04E8.smcp",
|
||||
"uni04EE.smcp"
|
||||
]
|
||||
|
||||
|
||||
STRIP_NAME_SET = set(SC_ROMAN).union(SC_SET1).union(SC_SET2)
|
||||
|
||||
STRIP_SUFFIXES = (
|
||||
'.smcp',
|
||||
'.unic',
|
||||
'.alt',
|
||||
'.alt2',
|
||||
'.ss06',
|
||||
'.ss07',
|
||||
'.onum',
|
||||
'.pnum',
|
||||
'.tnum'
|
||||
)
|
||||
|
||||
def hasStripSuffix(g):
|
||||
name = g.name
|
||||
for suffix in STRIP_SUFFIXES:
|
||||
if str.endswith(name, suffix):
|
||||
return True
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
font = CurrentFont()
|
||||
if font is not None:
|
||||
for g in font:
|
||||
if g.name in STRIP_NAME_SET or hasStripSuffix(g):
|
||||
|
||||
if g.unicode is not None:
|
||||
# glyph maps to a codepoint -- keep it
|
||||
continue
|
||||
|
||||
print 'Removing "%s"' % g.name
|
||||
|
||||
font.removeGlyph(g.name)
|
||||
font.update()
|
||||
else:
|
||||
print "No fonts open"
|
||||
|
||||
print "Done"
|
||||
Reference in a new issue