summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-01-22 23:32:55 +0000
committerKarl Berry <karl@freefriends.org>2014-01-22 23:32:55 +0000
commit5cd64bf14acd0c4bb4730ff0032ad13709907901 (patch)
tree121d1ebba41592e4e0a47d9a184012662b280fd5 /Master/texmf-dist/doc/fonts
parente27eadb35a578f3f548c718fba74ec4b5871912e (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')
-rw-r--r--Master/texmf-dist/doc/fonts/xits/FONTLOG.txt58
-rw-r--r--Master/texmf-dist/doc/fonts/xits/Makefile45
-rw-r--r--Master/texmf-dist/doc/fonts/xits/README21
-rw-r--r--Master/texmf-dist/doc/fonts/xits/build.py13
-rwxr-xr-xMaster/texmf-dist/doc/fonts/xits/fontcoverage.py58
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()