---------------------------------------------------------------------------- This file contains all command strings and filenames from the Tutorial 1.0.0. Use it as an index to the tutorial and as a source for cutting and pasting command strings into the terminal window when working through the Tutorial. ---------------------------------------------------------------------------- LESSON ONE: Filling out the glyph repertoire ---------- Repertoire analysis to produce add list ftxanalyzer -g 02_AppleSimple.add 01_Apple\ Simple.ttf ftxanalyzer -g 02_AppleSimple.add '01_Apple Simple.ttf' MacRoman Mapping option for add list ftxanalyzer -M -g 03_AppleSimple.add '01_Apple Simple.ttf' Comparison of two add lists diff 02_AppleSimple.add 03_AppleSimple.add Manually adding the glyphs in FontLab FontFile: Apple Simple with cloned, flipped and mirrored glyphs 06_AppleSimple.ttf Do working checks after each major file modification ftxvalidator 01_AppleSimple.ttf ftxvalidator 06_AppleSimple.ttf ftxvalidator -e 06_AppleSimple.ttf ftxanalyzer -g 07_AppleSimple.add 06_AppleSimple.ttf ftxanalyzer -M -g 08_AppleSimple.add 06_AppleSimple.ttf Making Mac file backup copies cp '01_Apple Simple.ttf' 09_AppleSimple.ttf /Developer/Tools/CpMac '01_Apple Simple.ttf' 09_AppleSimple.ttf echo $path CpMac '01_Apple Simple.ttf' 09_AppleSimple.ttf PDF document: TrueEdit font glyph palette after adding clones & flipping mirror glyphs 05_GlyphPalette.pdf Run the add list to create the mirrored and cloned glyphs ftxenhancer -A 02_AppleSimple.add 09_AppleSimple.ttf FontFile: Apple Simple with cloned and mirrored glyphs added 09_AppleSimple.ttf LESSON TWO: USING ADD LISTS --------------------------- At the start of the lesson, 11_AppleSimple.ttf is a copy of 06_AppleSimple.ttf 10_Roman.add Handling tool errors ftxenhancer -A 10_Roman.add 11_AppleSimple.ttf ftxenhancer -v -A 10_Roman.add 11_AppleSimple.ttf Debugging the Add list ftxenhancer -A 12_Roman.add 11_AppleSimple.ttf Running additional add lists ftxenhancer -A 13_LatinExtensionB.add 11_AppleSimple.ttf Roll back the font and re-run the Add lists PDF File containing TrueEdit glyph palette of 11_AppleSimple.ttf. 14_GlyphPalette.pdf Copy font to new working file /Developer/Tools/CpMac 06_AppleSimple.ttf 16_AppleSimple.ttf Re-Run roman and LatinExtB add lists on roll-back copy ftxenhancer -v -A 12_Roman.add 16_AppleSimple.ttf ftxenhancer -A 15_LatinExtensionB.add 16_AppleSimple.ttf Creating cmap entries for the new glyphs ftxanalyzer -c 17_AppleSimple.cmap.xml 16_AppleSimple.ttf Glyph Name Database FTXDatabase.xml Prepare to merge old and new cmap data Dumping original cmap ftxdumperfuser -t cmap -o 18_AppleSimple.cmap.xml 16_AppleSimple.ttf cmap XML structure - where to cut and paste Identify the new glyph entries in the ftxanalyzer cmap ftxdumperfuser -t post -p -o 20_AppleSimple.post.xml 16_AppleSimple.ttf File of new entries 19_NewGlyphs.cmap.xml Postname check for missing glyphs ftxdumperfuser -t post -p -o 20_AppleSimple.post.xml 16_AppleSimple.ttf Pasting in the new cmap entries New merged cmap file 21_AppleSimple.cmap.xml Kinds of manual checking still needed Making a Font backup copy /Developer/Tools/CpMac 16_AppleSimple.ttf 22_AppleSimple.ttf Fusing cmap into font ftxdumperfuser -t cmap -d 21_AppleSimple.cmap.xml 22_AppleSimple.ttf Working check of on cmap fuse ftxdumperfuser -t cmap -p -o 23_AppleSimple.cmap.xml 22_AppleSimple.ttf Font change comparison with ftxdiff ftxdiff -o 24_AppleSimple2216.dif 22_AppleSimple.ttf 16_AppleSimple.ttf Do working checks after each major file modification ftxvalidator 06_AppleSimple.ttf ftxvalidator 22_AppleSimple.ttf Unicode cmap repertoire check ftxanalyzer -g 25_AppleSimple.add 22_AppleSimple.ttf diff 07_AppleSimple.add 25_AppleSimple.add Reader exercise (1) Add glyph to font: 26_AppleSimple.add (2) Try add file: 27_LatinExtAdditional.add /Developer/Tools/CpMac 22_AppleSimple.ttf 28_AppleSimple.ttf ftxenhancer -A 27_LatinExtAdditional.add 28_AppleSimple.ttf PDF of glyph palette: 29_AppleSimple.pdf LESSON THREE: Manual Table Edits -------------------------------- Editing the post table clone entries ftxdumperfuser -t post -o 30_AppleSimple.post.xml 22_AppleSimple.ttf Making the XML edit using a delta file 31_PostDeltas.xml cp 30_AppleSimple.post.xml 32_AppleSimple.post.xml /Developer/Tools/CpMac 22_AppleSimple.ttf 33_AppleSimple.ttf ftxdumperfuser -t post -d 32_AppleSimple.post.xml 33_AppleSimple.ttf ftxdumperfuser -t post -o 34_AppleSimple.post.xml 33_AppleSimple.ttf ftxdiff -o 35_PostDiff.txt 33_AppleSimple.ttf 22_AppleSimple.ttf Editing the cmap clone entries ftxdumperfuser -pu -t cmap -o xx_AppleSimple.cmap.xml 22_AppleSimple.ttf ftxdumperfuser -t cmap -pu -o xx_AppleSimple.cmap.xml 22_AppleSimple.ttf Delta file for changes and notes 40_CmapDeltas.txt Fuse cmap and do QA cp 36_AppleSimple.cmap.xml 41_AppleSimple.cmap.xml /Developer/Tools/CpMac 33_AppleSimple.ttf 42_AppleSimple.ttf ftxdumperfuser -t cmap -d 41_AppleSimple.cmap.xml 42_AppleSimple.ttf ftxdumperfuser -t cmap -pu -o 43_AppleSimple.cmap.xml 42_AppleSimple.ttf ftxdiff -o 44_CmapDiff.txt 42_AppleSimple.ttf 33_AppleSimple.ttf Using GlyphNames instead of GlyphRefIDs to edit the cmap cp 36_AppleSimple.cmap.xml 45_AppleSimple.cmap.xml /Developer/Tools/CpMac 33_AppleSimple.ttf 46_AppleSimple.ttf ftxdumperfuser -G -t cmap -d 45_AppleSimple.cmap.xml 46_AppleSimple.ttf ftxdumperfuser -t cmap -pu -o 47_AppleSimple.cmap.xml 46_AppleSimple.ttf ftxdiff -o 47_CmapDiff.txt 33_AppleSimple.ttf 46_AppleSimple.ttf Default glyph properties table generation ftxanalyzer -P 48_AppleSimple.prop.xml 46_AppleSimple.ttf 49_propDeltas.txt cp 48_AppleSimple.prop.xml 50_AppleSimple.prop.xml /Developer/Tools/CpMac 46_AppleSimple.ttf 51_AppleSimple.ttf ftxdumperfuser -t prop -d 50_AppleSimple.prop.xml 51_AppleSimple.ttf ftxdiff -o 52_PropEditDiff.txt 51_AppleSimple.ttf 46_AppleSimple.ttf Final Unicode cmap clean-up ftxdumperfuser -t cmap -pu -o 53_AppleSimple.cmap.xml 51_AppleSimple.ttf Unnasigned characters Different kinds of Private Use Area (PUA) Mappings Reconcilliation of normal Unicode cmap entries Which Apple Simple Unicode cmap entries need editing? Re-mapping the Deseret script block to the supplementary planes http://www.unicode.org/charts/PDF/U10400.pdf 29_AppleSimple.pdf Mac Roman cmap check (1) Manual editing 55_LucidaMacRoman.cmap 29_AppleSimple.pdf (2) Automation using Glyphnames as primary glyph identifiers: 55_LucidaMacRoman.cmap 56_MacRomanPostnames.txt 34_AppleSimple.post.xml (3) Automation using Unicodes as primary glyph identifiers: 57_MacRomanUnicodeMapping.TXT http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT Detecting Gaps in the glyph repertoire Final repertoire clean-up... eyeballing the glyph palette Glyph Registry and Assignment Report Glyph deletion and its consequences LESSON FOUR: Metamorphosis Input Files (MIFs) --------------------------------------------- Generating a default MIF file for decomposed Unicode support /Developer/Tools/CpMac 51_AppleSimple.ttf 58_AppleSimple.ttf ftxanalyzer -m 59_AppleSimple.mif 58_AppleSimple.ttf Adding fi and fl ligature actions with ZeroWidthJoiner support 60_fiflLigSubtables.mif cp 58_AppleSimple.mif 59_AppleSimple.mif Sub-table sequence dependencies in the MIF file Sequence of execution within a Ligature sub-table Adding Pollard shaping support 59_AppleSimple.mif 61_Pollard.mif Adding long-s typographic feature support 62_LongS.mif Compiling the MIF into the font /Developer/Tools/CpMac 51_AppleSimple.ttf 63_AppleSimple.ttf ftxenhancer -v -m 59_AppleSimple.mif 63_AppleSimple.ttf ftxdiff -o 64_MIFDiff.txt 63_AppleSimple.ttf 51_AppleSimple.ttf Font installation checks ftxinstalledfonts -fl | grep Simple 67_AppleSimple.ttf Application testing of the typographic features Test of Zero Width Joiner support Test of medial long-s form Test of Shavian cmap Test of Pollard shaping 69_AppleSimpleDemo.wtx. Creating Kerning and Justification input files -------------------------- Lesson 1: 01_Apple Simple.ttf 02_AppleSimple.add 03_AppleSimple.add 05_GlyphPalette.pdf 06_AppleSimple.ttf 07_AppleSimple.add 08_AppleSimple.add 09_AppleSimple.ttf Lesson 2: 06_AppleSimple.ttf 07_AppleSimple.add 10_Roman.add 11_AppleSimple.ttf 12_Roman.add 13_LatinExtensionB.add 14_GlyphPalette.pdf 15_LatinExtensionB.add 16_AppleSimple.ttf 17_AppleSimple.cmap.xml 18_AppleSimpleOrig.cmap.xml 19_NewGlyphs.cmap.xml 20_AppleSimple.post.xml 21_AppleSimple.cmap.xml 22_AppleSimple.ttf 23_AppleSimple.cmap.xml 24_AppleSimple2216.dif 25_AppleSimple.add 27_LatinExtAdditional.add 28_AppleSimple.ttf 29_AppleSimple.pdf Lesson 3: 22_AppleSimple.ttf 30_AppleSimple.post.xml 31_PostDeltas.xml 32_AppleSimple.post.xml 33_AppleSimple.ttf 34_AppleSimple.post.xml 35_PostDiff.txt 36_AppleSimple.cmap.xml 40_CmapDeltas.txt 41_AppleSimple.cmap.xml 42_AppleSimple.ttf 43_AppleSimple.cmap.xml 44_CmapDiff.txt 45_AppleSimple.cmap.xml 46_AppleSimple.ttf 47_AppleSimple.cmap.xml 48_AppleSimple.prop.xml 49_propDeltas.txt 50_AppleSimple.prop.xml 51_AppleSimple.ttf 52_fusePropGIDwarnings.txt 52_PropEditDiff.txt 53_AppleSimple.cmap.xml 54_CmapCheck.pdf 55_LucidaMacRoman.cmap 56_MacRomanPostnames.txt 57_MacRomanUnicodeMapping.TXT Lesson 4: 51_AppleSimple.ttf 58_AppleSimple.mif 59_AppleSimple.mif 60_fiflLigSubtables.mif 61_Pollard.mif 62_LongS.mif 63_AppleSimple.ttf 64_MIFDiff.txt 65_AppleSimple.post.xml 66_AppleSimple.mif 67_AppleSimple.ttf 69_AppleSimpleDemo.wtx --------------------------------