Browse Source

Added long right arrow --> (closes #4)

Added "less or equal" and "greater or equal" ligatures
Added support for conditional compilation using C preprocessor
  Default compilation enables =< and >= ligatures for the above
  Alt compilation enables <= (used to be fat arrow) and >= (closes #3)
pull/10/head
Kirill Pertsev 6 years ago
parent
commit
36b3334991
  1. 173
      FSEX.ttx
  2. 19
      Makefile
  3. 4
      ligatures.txt

173
FSEX.ttx

@ -6023,6 +6023,9 @@
<GlyphID id="6017" name="alt"/>
<GlyphID id="6018" name="kleisli_fwd"/>
<GlyphID id="6019" name="kleisli_back"/>
<GlyphID id="6020" name="longrightarrow"/>
<GlyphID id="6021" name="lessequal.alt"/>
<GlyphID id="6022" name="greaterequal.alt"/>
</GlyphOrder>
<head>
@ -12159,6 +12162,9 @@
<mtx name="alt" width="240" lsb="50"/>
<mtx name="kleisli_fwd" width="240" lsb="50"/>
<mtx name="kleisli_back" width="240" lsb="50"/>
<mtx name="longrightarrow" width="240" lsb="20"/>
<mtx name="lessequal.alt" width="160" lsb="30"/>
<mtx name="greaterequal.alt" width="160" lsb="30"/>
</hmtx>
<VDMX>
@ -39536,6 +39542,66 @@
</assembly></instructions>
</TTGlyph>
<TTGlyph name="greaterequal.alt" xMin="30" yMin="0" xMax="120" yMax="90">
<contour>
<pt x="90" y="40" on="1"/>
<pt x="80" y="40" on="1"/>
<pt x="80" y="30" on="1"/>
<pt x="70" y="30" on="1"/>
<pt x="70" y="20" on="1"/>
<pt x="60" y="20" on="1"/>
<pt x="60" y="10" on="1"/>
<pt x="50" y="10" on="1"/>
<pt x="50" y="0" on="1"/>
<pt x="30" y="0" on="1"/>
<pt x="30" y="10" on="1"/>
<pt x="40" y="10" on="1"/>
<pt x="40" y="20" on="1"/>
<pt x="50" y="20" on="1"/>
<pt x="50" y="30" on="1"/>
<pt x="60" y="30" on="1"/>
<pt x="60" y="40" on="1"/>
<pt x="70" y="40" on="1"/>
<pt x="70" y="50" on="1"/>
<pt x="60" y="50" on="1"/>
<pt x="60" y="60" on="1"/>
<pt x="50" y="60" on="1"/>
<pt x="50" y="70" on="1"/>
<pt x="40" y="70" on="1"/>
<pt x="40" y="80" on="1"/>
<pt x="30" y="80" on="1"/>
<pt x="30" y="90" on="1"/>
<pt x="50" y="90" on="1"/>
<pt x="50" y="80" on="1"/>
<pt x="60" y="80" on="1"/>
<pt x="60" y="70" on="1"/>
<pt x="70" y="70" on="1"/>
<pt x="70" y="60" on="1"/>
<pt x="80" y="60" on="1"/>
<pt x="80" y="50" on="1"/>
<pt x="90" y="50" on="1"/>
</contour>
<contour>
<pt x="120" y="40" on="1"/>
<pt x="100" y="40" on="1"/>
<pt x="100" y="30" on="1"/>
<pt x="90" y="30" on="1"/>
<pt x="90" y="20" on="1"/>
<pt x="80" y="20" on="1"/>
<pt x="80" y="10" on="1"/>
<pt x="70" y="10" on="1"/>
<pt x="70" y="0" on="1"/>
<pt x="90" y="0" on="1"/>
<pt x="90" y="10" on="1"/>
<pt x="100" y="10" on="1"/>
<pt x="100" y="20" on="1"/>
<pt x="110" y="20" on="1"/>
<pt x="110" y="30" on="1"/>
<pt x="120" y="30" on="1"/>
</contour>
<instructions><assembly>
</assembly></instructions>
</TTGlyph>
<TTGlyph name="fwd_compose" xMin="40" yMin="0" xMax="200" yMax="90">
<contour>
<pt x="100" y="40" on="1"/>
@ -42194,6 +42260,67 @@
</assembly></instructions>
</TTGlyph>
<TTGlyph name="lessequal.alt" xMin="30" yMin="0" xMax="120" yMax="90">
<contour>
<pt x="120" y="0" on="1"/>
<pt x="100" y="0" on="1"/>
<pt x="100" y="10" on="1"/>
<pt x="90" y="10" on="1"/>
<pt x="90" y="20" on="1"/>
<pt x="80" y="20" on="1"/>
<pt x="80" y="30" on="1"/>
<pt x="70" y="30" on="1"/>
<pt x="70" y="40" on="1"/>
<pt x="60" y="40" on="1"/>
<pt x="60" y="50" on="1"/>
<pt x="70" y="50" on="1"/>
<pt x="70" y="60" on="1"/>
<pt x="80" y="60" on="1"/>
<pt x="80" y="70" on="1"/>
<pt x="90" y="70" on="1"/>
<pt x="90" y="80" on="1"/>
<pt x="100" y="80" on="1"/>
<pt x="100" y="90" on="1"/>
<pt x="120" y="90" on="1"/>
<pt x="120" y="80" on="1"/>
<pt x="110" y="80" on="1"/>
<pt x="110" y="70" on="1"/>
<pt x="100" y="70" on="1"/>
<pt x="100" y="60" on="1"/>
<pt x="90" y="60" on="1"/>
<pt x="90" y="50" on="1"/>
<pt x="80" y="50" on="1"/>
<pt x="80" y="40" on="1"/>
<pt x="90" y="40" on="1"/>
<pt x="90" y="30" on="1"/>
<pt x="100" y="30" on="1"/>
<pt x="100" y="20" on="1"/>
<pt x="110" y="20" on="1"/>
<pt x="110" y="10" on="1"/>
<pt x="120" y="10" on="1"/>
</contour>
<contour>
<pt x="80" y="0" on="1"/>
<pt x="60" y="0" on="1"/>
<pt x="60" y="10" on="1"/>
<pt x="50" y="10" on="1"/>
<pt x="50" y="20" on="1"/>
<pt x="40" y="20" on="1"/>
<pt x="40" y="30" on="1"/>
<pt x="30" y="30" on="1"/>
<pt x="30" y="40" on="1"/>
<pt x="50" y="40" on="1"/>
<pt x="50" y="30" on="1"/>
<pt x="60" y="30" on="1"/>
<pt x="60" y="20" on="1"/>
<pt x="70" y="20" on="1"/>
<pt x="70" y="10" on="1"/>
<pt x="80" y="10" on="1"/>
</contour>
<instructions><assembly>
</assembly></instructions>
</TTGlyph>
<TTGlyph name="alt" xMin="40" yMin="-20" xMax="200" yMax="90">
<contour>
<pt x="80" y="0" on="1"/>
@ -48702,6 +48829,41 @@
</assembly></instructions>
</TTGlyph>
<TTGlyph name="longrightarrow" xMin="20" yMin="0" xMax="220" yMax="70">
<contour>
<pt x="170" y="70" on="1"/>
<pt x="190" y="70" on="1"/>
<pt x="190" y="60" on="1"/>
<pt x="200" y="60" on="1"/>
<pt x="200" y="50" on="1"/>
<pt x="210" y="50" on="1"/>
<pt x="210" y="40" on="1"/>
<pt x="220" y="40" on="1"/>
<pt x="220" y="30" on="1"/>
<pt x="210" y="30" on="1"/>
<pt x="210" y="20" on="1"/>
<pt x="200" y="20" on="1"/>
<pt x="200" y="10" on="1"/>
<pt x="190" y="10" on="1"/>
<pt x="190" y="0" on="1"/>
<pt x="170" y="0" on="1"/>
<pt x="170" y="10" on="1"/>
<pt x="180" y="10" on="1"/>
<pt x="180" y="20" on="1"/>
<pt x="190" y="20" on="1"/>
<pt x="190" y="30" on="1"/>
<pt x="20" y="30" on="1"/>
<pt x="20" y="40" on="1"/>
<pt x="190" y="40" on="1"/>
<pt x="190" y="50" on="1"/>
<pt x="180" y="50" on="1"/>
<pt x="180" y="60" on="1"/>
<pt x="170" y="60" on="1"/>
</contour>
<instructions><assembly>
</assembly></instructions>
</TTGlyph>
<TTGlyph name="rightquotes.sf" xMin="20" yMin="50" xMax="70" yMax="90">
<contour>
<pt x="40" y="60" on="1"/>
@ -247742,7 +247904,7 @@
found in the 'post' table. Since these names might not be unique,
we have to invent artificial names in case of clashes. In order to
be able to retain the original information, we need a name to
ps name mapping for those cases where they differ. That's what
ps name mapping for those cases where they differ. Thats what
you see below.
-->
</psNames>
@ -259451,6 +259613,7 @@
<Ligature components="hyphen" glyph="comment_start.hask"/>
</LigatureSet>
<LigatureSet glyph="hyphen">
<Ligature components="hyphen,greater" glyph="longrightarrow"/>
<Ligature components="greater" glyph="rightarrow"/>
<Ligature components="braceright" glyph="comment_end.hask"/>
</LigatureSet>
@ -259462,7 +259625,11 @@
<Ligature components="hyphen" glyph="leftarrow"/>
<Ligature components="equal,greater" glyph="uni27FA"/>
<Ligature components="equal,less" glyph="kleisli_back"/>
#ifdef ALT_LESSEQUAL
<Ligature components="equal" glyph="lessequal.alt"/>
#else
<Ligature components="equal" glyph="uni27F8"/>
#endif
<Ligature components="asterisk,greater" glyph="apply"/>
<Ligature components="dollar,greater" glyph="map"/>
<Ligature components="greater" glyph="append"/>
@ -259475,6 +259642,9 @@
<Ligature components="equal,equal" glyph="equalequalequal"/>
<Ligature components="equal" glyph="equalequal"/>
<Ligature components="less,less" glyph="leftshove"/>
#ifndef ALT_LESSEQUAL
<Ligature components="less" glyph="lessequal.alt"/>
#endif
</LigatureSet>
<LigatureSet glyph="plus">
<Ligature components="plus" glyph="plusplus"/>
@ -259498,6 +259668,7 @@
<Ligature components="equal,greater" glyph="kleisli_fwd"/>
<Ligature components="greater,equal" glyph="rightshove"/>
<Ligature components="greater,greater" glyph="fwd_compose"/>
<Ligature components="equal" glyph="greaterequal.alt"/>
</LigatureSet>
<LigatureSet glyph="asciitilde">
<Ligature components="greater" glyph="tilde_gt"/>

19
Makefile

@ -1,5 +1,20 @@
FSEX302.ttf: FSEX.ttx
ttx -f -o $@ $<
COMPILE=ttx -f --recalc-timestamp
CPP=cpp
all: FSEX302.ttf FSEX302-alt.ttf
FSEX302.ttf: FSEX-default.ttx
$(COMPILE) -o $@ $<
cp $@ ~/Library/Fonts
atsutil databases -remove
rm $<
FSEX302-alt.ttf: FSEX-alt.ttx
$(COMPILE) -o $@ $<
rm $<
FSEX-default.ttx: FSEX.ttx
$(CPP) $< |grep -v "^#" > $@
FSEX-alt.ttx: FSEX.ttx
$(CPP) -DALT_LESSEQUAL $< |grep -v "^#" > $@

4
ligatures.txt

@ -30,5 +30,7 @@ a/\b
a<=<b
a>=>b
a<|>b
a-->b
a>=b
a=<b

Loading…
Cancel
Save