diff options
author | Karl Berry <karl@freefriends.org> | 2014-01-22 23:32:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-01-22 23:32:55 +0000 |
commit | 5cd64bf14acd0c4bb4730ff0032ad13709907901 (patch) | |
tree | 121d1ebba41592e4e0a47d9a184012662b280fd5 /Master/texmf-dist/doc/fonts/xits | |
parent | e27eadb35a578f3f548c718fba74ec4b5871912e (diff) |
xits (22jan14)
git-svn-id: svn://tug.org/texlive/trunk@32763 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/fonts/xits')
-rw-r--r-- | Master/texmf-dist/doc/fonts/xits/FONTLOG.txt | 58 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/xits/Makefile | 45 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/xits/README | 21 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/xits/build.py | 13 | ||||
-rwxr-xr-x | Master/texmf-dist/doc/fonts/xits/fontcoverage.py | 58 |
5 files changed, 141 insertions, 54 deletions
diff --git a/Master/texmf-dist/doc/fonts/xits/FONTLOG.txt b/Master/texmf-dist/doc/fonts/xits/FONTLOG.txt index 8612ff04ead..63c663ac212 100644 --- a/Master/texmf-dist/doc/fonts/xits/FONTLOG.txt +++ b/Master/texmf-dist/doc/fonts/xits/FONTLOG.txt @@ -31,27 +31,27 @@ XITS currently provides the following Unicode coverage: Combining Diacritical Marks (U+0300-036F): 73/112 (65.18%) Greek and Coptic (U+0370-03FF): 93/134 (69.40%) Cyrillic (U+0400-04FF): 102/256 (39.84%) - Arabic (U+0600-06FF): 67/250 (26.80%) + Arabic (U+0600-06FF): 30/253 (11.86%) Phonetic Extensions (U+1D00-1D7F): 3/128 (2.34%) Phonetic Extensions Supplement (U+1D80-1DBF): 8/64 (12.50%) Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%) General Punctuation (U+2000-206F): 70/107 (65.42%) - Superscripts and Subscripts (U+2070-209F): 1/34 (2.94%) - Currency Symbols (U+20A0-20CF): 4/25 (16.00%) + Superscripts and Subscripts (U+2070-209F): 1/42 (2.38%) + Currency Symbols (U+20A0-20CF): 4/26 (15.38%) Combining Diacritical Marks for Symbols (U+20D0-20FF): 24/33 (72.73%) Letterlike Symbols (U+2100-214F): 60/80 (75.00%) Number Forms (U+2150-218F): 12/58 (20.69%) Arrows (U+2190-21FF): 103/112 (91.96%) Mathematical Operators (U+2200-22FF): 256/256 (100.00%) - Miscellaneous Technical (U+2300-23FF): 90/233 (38.63%) + Miscellaneous Technical (U+2300-23FF): 90/244 (36.89%) Control Pictures (U+2400-243F): 1/39 (2.56%) Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%) Box Drawing (U+2500-257F): 45/128 (35.16%) Block Elements (U+2580-259F): 8/32 (25.00%) Geometric Shapes (U+25A0-25FF): 96/96 (100.00%) - Miscellaneous Symbols (U+2600-26FF): 54/250 (21.60%) - Dingbats (U+2700-27BF): 30/175 (17.14%) - Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 43/44 (97.73%) + Miscellaneous Symbols (U+2600-26FF): 55/256 (21.48%) + Dingbats (U+2700-27BF): 30/191 (15.71%) + Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 45/48 (93.75%) Supplemental Arrows-A (U+27F0-27FF): 16/16 (100.00%) Supplemental Arrows-B (U+2900-297F): 128/128 (100.00%) Miscellaneous Mathematical Symbols-B (U+2980-29FF): 128/128 (100.00%) @@ -59,10 +59,11 @@ XITS currently provides the following Unicode coverage: Miscellaneous Symbols and Arrows (U+2B00-2BFF): 64/87 (73.56%) CJK Symbols and Punctuation (U+3000-303F): 2/64 (3.12%) Hiragana (U+3040-309F): 1/93 (1.08%) - Latin Extended-D (U+A720-A7FF): 1/114 (0.88%) + Latin Extended-D (U+A720-A7FF): 2/134 (1.49%) Variation Selectors (U+FE00-FE0F): 1/16 (6.25%) Specials (U+FFF0-FFFF): 1/5 (20.00%) Mathematical Alphanumeric Symbols (U+1D400-1D7FF): 996/996 (100.00%) + Arabic Mathematical Alphabetic Symbols (U+1EE00-1EEFF): 141/143 (98.60%) * XITS: Basic Latin (U+0000-007F): 95/95 (100.00%) @@ -78,22 +79,22 @@ XITS currently provides the following Unicode coverage: Phonetic Extensions Supplement (U+1D80-1DBF): 8/64 (12.50%) Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%) General Punctuation (U+2000-206F): 46/107 (42.99%) - Superscripts and Subscripts (U+2070-209F): 1/34 (2.94%) - Currency Symbols (U+20A0-20CF): 4/25 (16.00%) + Superscripts and Subscripts (U+2070-209F): 1/42 (2.38%) + Currency Symbols (U+20A0-20CF): 4/26 (15.38%) Combining Diacritical Marks for Symbols (U+20D0-20FF): 24/33 (72.73%) Letterlike Symbols (U+2100-214F): 60/80 (75.00%) Number Forms (U+2150-218F): 12/58 (20.69%) Arrows (U+2190-21FF): 103/112 (91.96%) Mathematical Operators (U+2200-22FF): 256/256 (100.00%) - Miscellaneous Technical (U+2300-23FF): 61/233 (26.18%) + Miscellaneous Technical (U+2300-23FF): 61/244 (25.00%) Control Pictures (U+2400-243F): 1/39 (2.56%) Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%) Box Drawing (U+2500-257F): 45/128 (35.16%) Block Elements (U+2580-259F): 8/32 (25.00%) Geometric Shapes (U+25A0-25FF): 96/96 (100.00%) - Miscellaneous Symbols (U+2600-26FF): 54/250 (21.60%) - Dingbats (U+2700-27BF): 30/175 (17.14%) - Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 43/44 (97.73%) + Miscellaneous Symbols (U+2600-26FF): 55/256 (21.48%) + Dingbats (U+2700-27BF): 30/191 (15.71%) + Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 45/48 (93.75%) Supplemental Arrows-A (U+27F0-27FF): 16/16 (100.00%) Supplemental Arrows-B (U+2900-297F): 128/128 (100.00%) Miscellaneous Mathematical Symbols-B (U+2980-29FF): 128/128 (100.00%) @@ -101,7 +102,7 @@ XITS currently provides the following Unicode coverage: Miscellaneous Symbols and Arrows (U+2B00-2BFF): 64/87 (73.56%) CJK Symbols and Punctuation (U+3000-303F): 2/64 (3.12%) Hiragana (U+3040-309F): 1/93 (1.08%) - Latin Extended-D (U+A720-A7FF): 1/114 (0.88%) + Latin Extended-D (U+A720-A7FF): 2/134 (1.49%) Alphabetic Presentation Forms (U+FB00-FB4F): 5/58 (8.62%) Specials (U+FFF0-FFFF): 1/5 (20.00%) @@ -118,22 +119,23 @@ XITS currently provides the following Unicode coverage: Phonetic Extensions (U+1D00-1D7F): 3/128 (2.34%) Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%) General Punctuation (U+2000-206F): 40/107 (37.38%) - Superscripts and Subscripts (U+2070-209F): 1/34 (2.94%) - Currency Symbols (U+20A0-20CF): 4/25 (16.00%) + Superscripts and Subscripts (U+2070-209F): 1/42 (2.38%) + Currency Symbols (U+20A0-20CF): 4/26 (15.38%) Combining Diacritical Marks for Symbols (U+20D0-20FF): 22/33 (66.67%) Letterlike Symbols (U+2100-214F): 38/80 (47.50%) Number Forms (U+2150-218F): 12/58 (20.69%) Arrows (U+2190-21FF): 82/112 (73.21%) Mathematical Operators (U+2200-22FF): 237/256 (92.58%) - Miscellaneous Technical (U+2300-23FF): 15/233 (6.44%) + Miscellaneous Technical (U+2300-23FF): 15/244 (6.15%) Control Pictures (U+2400-243F): 1/39 (2.56%) Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%) Box Drawing (U+2500-257F): 40/128 (31.25%) Geometric Shapes (U+25A0-25FF): 6/96 (6.25%) - Miscellaneous Symbols (U+2600-26FF): 3/250 (1.20%) - Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 4/44 (9.09%) + Miscellaneous Symbols (U+2600-26FF): 3/256 (1.17%) + Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 4/48 (8.33%) Miscellaneous Mathematical Symbols-B (U+2980-29FF): 10/128 (7.81%) Supplemental Mathematical Operators (U+2A00-2AFF): 58/256 (22.66%) + Latin Extended-D (U+A720-A7FF): 1/134 (0.75%) Alphabetic Presentation Forms (U+FB00-FB4F): 5/58 (8.62%) * XITS Italic: @@ -147,9 +149,10 @@ XITS currently provides the following Unicode coverage: Cyrillic (U+0400-04FF): 102/256 (39.84%) Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%) General Punctuation (U+2000-206F): 23/107 (21.50%) - Currency Symbols (U+20A0-20CF): 4/25 (16.00%) + Currency Symbols (U+20A0-20CF): 4/26 (15.38%) Combining Diacritical Marks for Symbols (U+20D0-20FF): 20/33 (60.61%) Letterlike Symbols (U+2100-214F): 30/80 (37.50%) + Number Forms (U+2150-218F): 12/58 (20.69%) Mathematical Operators (U+2200-22FF): 2/256 (0.78%) Control Pictures (U+2400-243F): 1/39 (2.56%) Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%) @@ -167,9 +170,10 @@ XITS currently provides the following Unicode coverage: Cyrillic (U+0400-04FF): 102/256 (39.84%) Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%) General Punctuation (U+2000-206F): 23/107 (21.50%) - Currency Symbols (U+20A0-20CF): 4/25 (16.00%) + Currency Symbols (U+20A0-20CF): 4/26 (15.38%) Combining Diacritical Marks for Symbols (U+20D0-20FF): 1/33 (3.03%) Letterlike Symbols (U+2100-214F): 29/80 (36.25%) + Number Forms (U+2150-218F): 12/58 (20.69%) Mathematical Operators (U+2200-22FF): 2/256 (0.78%) Control Pictures (U+2400-243F): 1/39 (2.56%) Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%) @@ -191,6 +195,15 @@ http://github.com/khaledhosny/xits-math ChangeLog ---------- +20 Jan 2014 (Khaled Hosny) <XITS> Version 1.108 +- Add ‘latn’ and ‘dflt’ languages to math stylistic sets +- Add missing substitutions from ‘ss05’, ‘ss06’ and ‘ss07’ features +- Drop regular Arabic letters +- Drop the Arabic digits ‘locl’ feature +- Import Arabic alphanumeric math symbols and Arabic ray sign from Amiri font +- Add ‘ss10’ for \hbar variant of \hslash +- Fix ‘rtlm’ feature to follow the spec + 28 May 2013 (Khaled Hosny) <XITS> Version 1.107 - Make ‘rtlm’ feature work with Firefox - Disable fi ligatures with Turkish @@ -345,4 +358,3 @@ E: W: http://www.stixfonts.org D: Original authors - diff --git a/Master/texmf-dist/doc/fonts/xits/Makefile b/Master/texmf-dist/doc/fonts/xits/Makefile index cc97a6de672..cb5d52f8c3e 100644 --- a/Master/texmf-dist/doc/fonts/xits/Makefile +++ b/Master/texmf-dist/doc/fonts/xits/Makefile @@ -1,24 +1,17 @@ NAME=xits -VERSION=1.107 +VERSION=1.108 SRC=sources DOC=documentation +TOOLS=tools DOCSRC=$(DOC)/$(DOC)-$(SRC) DIST=$(NAME)-$(VERSION) PY=python -POSTPROCESS=./postprocess.py - -define $(NAME)SCRIPT -import fontforge, sys -f = fontforge.open(sys.argv[1]) -if len(sys.argv) > 3: - f.mergeFeature(sys.argv[3]) -f.version = "$(VERSION)" -f.generate(sys.argv[2], flags=("round", "opentype")) -endef - -export $(NAME)SCRIPT +PY3=python3 +BUILD=$(TOOLS)/build.py +POSTPROCESS=$(TOOLS)/postprocess.py +COVERAGE=$(TOOLS)/fontcoverage.py FONTS=math mathbold regular bold italic bolditalic DOCS=user-guide xits-specimen @@ -33,22 +26,22 @@ all: otf otf: $(OTF) -xits-math.otf: $(SRC)/xits-math.sfd Makefile $(POSTPROCESS) +xits-math.otf: $(SRC)/xits-math.sfd Makefile $(BUILD) $(POSTPROCESS) @echo "Building $@" - @$(PY) -c "$$$(NAME)SCRIPT" $< $@ - @$(POSTPROCESS) $@ + @$(PY) $(BUILD) $< $@ $(VERSION) + @$(PY) $(POSTPROCESS) $@ @mv $@.post $@ -xits-mathbold.otf: $(SRC)/xits-mathbold.sfd Makefile $(POSTPROCESS) +xits-mathbold.otf: $(SRC)/xits-mathbold.sfd Makefile $(BUILD) $(POSTPROCESS) @echo "Building $@" - @$(PY) -c "$$$(NAME)SCRIPT" $< $@ - @$(POSTPROCESS) $@ + @$(PY) $(BUILD) $< $@ $(VERSION) + @$(PY) $(POSTPROCESS) $@ @mv $@.post $@ -%.otf: $(SRC)/%.sfd Makefile $(SRC)/$(FEA) $(POSTPROCESS) +%.otf: $(SRC)/%.sfd Makefile $(SRC)/$(FEA) $(BUILD) $(POSTPROCESS) @echo "Building $@" - @$(PY) -c "$$$(NAME)SCRIPT" $< $@ $(SRC)/$(FEA) - @$(POSTPROCESS) $@ + @$(PY) $(BUILD) $< $@ $(VERSION) $(SRC)/$(FEA) + @$(PY) $(POSTPROCESS) $@ @mv $@.post $@ doc: $(PDF) @@ -57,21 +50,23 @@ $(DOC)/%.pdf: $(DOCSRC)/%.tex @echo "Building $@" @context --nonstopmode --result=$@ $< 1>/dev/null -FONTLOG.txt: FONTLOG.txt.in +FONTLOG.txt: FONTLOG.txt.in $(COVERAGE) $(OTF) @echo "Generating $@" - @./tools/fontcoverage.py tools/Blocks.txt $< $(SFD) > $@ + @$(PY3) $(COVERAGE) tools/Blocks.txt $< $(OTF) $@ dist: $(OTF) $(PDF) FONTLOG.txt @echo "Making dist tarball" @mkdir -p $(DIST)/$(SRC) @mkdir -p $(DIST)/$(DOC) @mkdir -p $(DIST)/$(DOCSRC) + @mkdir -p $(DIST)/$(TOOLS) @cp $(SFD) $(DIST)/$(SRC) @cp $(SRC)/$(FEA) $(DIST)/$(SRC) @cp $(OTF) $(DIST) + @cp $(POSTPROCESS) $(BUILD) $(COVERAGE) $(DIST)/$(TOOLS) @cp -r $(PDF) $(DIST)/$(DOC) @cp -r $(TEX) $(DIST)/$(DOCSRC) - @cp -r $(POSTPROCESS) Makefile OFL-FAQ.txt OFL.txt FONTLOG.txt tex $(DIST) + @cp -r Makefile OFL-FAQ.txt OFL.txt FONTLOG.txt tex $(DIST) @cp README.md $(DIST)/README.txt @zip -r $(DIST).zip $(DIST) diff --git a/Master/texmf-dist/doc/fonts/xits/README b/Master/texmf-dist/doc/fonts/xits/README index fec7552dcbb..4611489aa31 100644 --- a/Master/texmf-dist/doc/fonts/xits/README +++ b/Master/texmf-dist/doc/fonts/xits/README @@ -1,4 +1,3 @@ - The XITS font project ====================== @@ -17,12 +16,22 @@ The current version of XITS is based on version 1.1.0-beta1 of STIX fonts. This is work in progress, feedback, bug reports and even patches are welcomed. -[1]: http://www.stixfonts.org -[2]: http://scripts.sil.org/OFL +Developers +---------- -Khaled Hosny +The preferred way for modifying the fonts is by editing the SFD files under +`sources`, using [Sorts Mill Tools][3] or [FontForge][4]. When submitting +patches, please make sure they are as clean as possible, avoiding any unrelated +or unnecessary changes. -khaledhosny@eglug.org +To build the fonts from source you need a make program (only GNU Make is +tested), either [Sorts Mill Tools][3] (preferred) or [FontForge][4] with Python +support, and [FontTools][5]. -08 Oct 2011 + +[1]: http://www.stixfonts.org +[2]: http://scripts.sil.org/OFL +[3]: http://sortsmill.bitbucket.org/ +[4]: http://fontforge.org/ +[5]: http://github.com/behdad/fonttools diff --git a/Master/texmf-dist/doc/fonts/xits/build.py b/Master/texmf-dist/doc/fonts/xits/build.py new file mode 100644 index 00000000000..1575ec2ef9c --- /dev/null +++ b/Master/texmf-dist/doc/fonts/xits/build.py @@ -0,0 +1,13 @@ +import sys +try: + from sortsmill import ffcompat as fontforge +except ImportError: + import fontforge + +font = fontforge.open(sys.argv[1]) + +if len(sys.argv) > 4: + font.mergeFeature(sys.argv[4]) + +font.version = sys.argv[3] +font.generate(sys.argv[2], flags=("round", "opentype")) diff --git a/Master/texmf-dist/doc/fonts/xits/fontcoverage.py b/Master/texmf-dist/doc/fonts/xits/fontcoverage.py new file mode 100755 index 00000000000..c17fde46422 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/xits/fontcoverage.py @@ -0,0 +1,58 @@ +import sys +import unicodedata +from fontTools.ttLib import TTFont + +# Unicode blocks file from: http://www.unicode.org/Public/UNIDATA/Blocks.txt + +blocksfile = open(sys.argv[1], "r") +blocks = [ ] +for line in blocksfile.readlines(): + if not (line.startswith("#") or line == "\n"): + start, end = line.split("; ")[0].split("..") + name = line.split("; ")[1].strip() + blocks.append((name, (start, end))) +blocksfile.close() + +logfile = open(sys.argv[2], "r") +log = logfile.read() +logfile.close() + +for fontfile in sys.argv[3:-1]: + font = TTFont(fontfile) + cmap = font['cmap'].getcmap(3, 10) + if cmap is None: + cmap = font['cmap'].getcmap(3, 1) + found = [ ] + + for block in blocks: + t = f = 0 + name = block[0] + start, end = int(block[1][0], 16), int(block[1][1], 16) + i = start + while (i <= end): + category = unicodedata.category(chr(i)) + if category != "Cc" and category!= "Cn": + if i in cmap.cmap: + f += 1 + t += 1 + i += 1 + if f: + found.append((name, (t,f))) + + fullname = str(font['name'].getName(4, 1, 0).string, encoding='ascii') + coverage = "" + coverage += "* %s:\n" %fullname + for f in found: + for b in blocks: + if b[0] == f[0]: + name = f[0] + start, end = b[1] + total, present = f[1] + percent = present/total*100 + coverage += " %s (U+%s-%s): %s/%s (%.2f%%)\n" %(name, start, end, present, total, percent) + + log = log.replace("%%{%s}" %fullname, coverage) + +outfile = open(sys.argv[-1], "w") +outfile.write(log) +outfile.close() |