• R/O
  • SSH
  • HTTPS

tsukurimashou: Commit


Commit MetaInfo

Revision498 (tree)
Time2014-02-01 04:12:54
Authormskala

Log Message

docs, new "page" kanji, etc.

Change Summary

Incremental Difference

--- trunk/idsgrep/userpred.c (revision 497)
+++ trunk/idsgrep/userpred.c (revision 498)
@@ -1,6 +1,6 @@
11 /*
22 * User-defined matching predicates for IDSgrep
3- * Copyright (C) 2013 Matthew Skala
3+ * Copyright (C) 2013, 2014 Matthew Skala
44 *
55 * This program is free software: you can redistribute it and/or modify
66 * it under the terms of the GNU General Public License as published by
--- trunk/idsgrep/cook.c (revision 497)
+++ trunk/idsgrep/cook.c (revision 498)
@@ -1,6 +1,6 @@
11 /*
22 * I/O translations for IDSgrep
3- * Copyright (C) 2012, 2013 Matthew Skala
3+ * Copyright (C) 2012, 2013, 2014 Matthew Skala
44 *
55 * This program is free software: you can redistribute it and/or modify
66 * it under the terms of the GNU General Public License as published by
@@ -439,7 +439,7 @@
439439
440440 wrap_flush(f);
441441 if (colourize_output)
442- fwrite("\e[0;37m",7,1,f);
442+ current_colour="\e[0;37m";
443443
444444 switch (output_recipe[OS_SEPARATOR]) {
445445 case '0':
@@ -456,6 +456,6 @@
456456 wrap_write("\n",1,f);
457457 break;
458458 }
459-
459+
460460 delete_string(semicolon);
461461 }
--- trunk/doc/usermanual.tex (revision 497)
+++ trunk/doc/usermanual.tex (revision 498)
@@ -2,7 +2,7 @@
22
33 %
44 % User Manual for Tsukurimashou
5-% Copyright (C) 2011, 2012, 2013 Matthew Skala
5+% Copyright (C) 2011, 2012, 2013, 2014 Matthew Skala
66 %
77 % This program is free software: you can redistribute it and/or modify
88 % it under the terms of the GNU General Public License as published by
@@ -92,6 +92,10 @@
9292 \kaku\large#1\qquad\phantomsection%
9393 \addcontentsline{toc}{subsection}{#1 #2}%
9494 #2\par\addpenalty{-300}\normalsize}
95+\newcommand{\blsubsubsection}[2]{%
96+\kaku\bfseries#1\qquad\phantomsection%
97+\addcontentsline{toc}{subsubsection}{#1 #2}%
98+#2\mdseries\par\addpenalty{-300}}
9599
96100 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97101
@@ -791,6 +795,8 @@
791795 relevant parts of this document, but as of the current version, such bugs
792796 have become so numerous that it makes sense to also have a central list.
793797
798+\blsubsubsection{FIXME}{METAFONT, etc.}
799+
794800 \begin{itemize}
795801 \item Metapost (maybe even METAFONT) issue propagated to METATYPE1:
796802 the equation solver has a non-renewable resource of ``independent
@@ -883,7 +889,11 @@
883889 use our dangerousFill in intro.mp instead, which is just a copy of Fill
884890 with the error checking removed. Since the switch to bundled code based
885891 on METATYPE1 version 0.55, this seems to be a less significant issue.
892+\end{itemize}
886893
894+\blsubsubsection{FIXME}{FontForge}
895+
896+\begin{itemize}
887897 \item FontForge spline geometry operations, such as overlap removal and
888898 simplification: these have historically tended to be very numerically
889899 unstable, and subject to some combination of infinite loops,
@@ -978,6 +988,21 @@
978988 fix. Until we're sure that day has passed, Tsukurimashou will continue
979989 to work around the issue.
980990
991+ \item FontForge ``Metrics'' window crashes when OpenType feature choice is
992+ changed, in the presence of a complicated multi-lookup GSUB feature.
993+ Reported as FontForge Github issue number 1138
994+ (\url{https://github.com/fontforge/fontforge/issues/1138}), January 2014.
995+
996+ \item FontForge crashes when generating BDF if the copyright string is a
997+ null pointer, because of using \texttt{==} instead of \texttt{!=} when
998+ attempting to test for that case. Pull request to fix the typo created
999+ and merged (\url{https://github.com/fontforge/fontforge/pull/1143}),
1000+ January 2014.
1001+\end{itemize}
1002+
1003+\blsubsubsection{FIXME}{\XeTeX}
1004+
1005+\begin{itemize}
9811006 \item \XeTeX\ fails to advance glyph pointer after a successful match in a
9821007 GSUB table, which has complicated consequences for chaining
9831008 substitutions, most notably that ``ignore sub'' rules have no effect.
@@ -1018,7 +1043,13 @@
10181043 ``vjmo''). Workaround: manually request them with the RawFeature
10191044 option. It is possible that more careful language tagging (specifically
10201045 of Korean text) in the \TeX\ input might reduce or eliminate this issue.
1046+ Less relevant now (January 2014) that Mandeubsida no longer uses
1047+ ``ljmo'' and ``vjmo.''
1048+\end{itemize}
10211049
1050+\blsubsubsection{FIXME}{Other software}
1051+
1052+\begin{itemize}
10221053 \item \LaTeX\ tocloft package: as of May 2011, it sets an entry without a
10231054 dot leader by actually requesting an entry with a leader, but with a
10241055 font-dependent invalid spacing between dots. The DVI renderer is
@@ -1052,6 +1083,16 @@
10521083 double-byte code. Reported to their bug tracker
10531084 (\url{https://sourceforge.net/p/fonttools/bugs/53/}), January 2014.
10541085
1086+ \item HarfBuzz hangul ``shaper'' deliberately does not handle the case of
1087+ multiple conjoining jamo in the same category that could better be
1088+ expressed as a single cluster: for instance, the case of U+1100 U+1100
1089+ (kiyeok kiyeok) instead of U+1101 (ssangkiyeok). These two sequences
1090+ are not canonically equivalent in Unicode, and apparently the longer one
1091+ is forbidden by the Korean standard KS~X~1026--1; nonetheless,
1092+ Mandeubsida's GSUB features were intended to handle them both nicely.
1093+ Worked around this and various other issues (some of which were probably
1094+ bugs in Mandeubsida) by redesigning the GSUB features, January 2014.
1095+ Thanks to Dohyun Kim and Jonathan Kew for discussion of these points.
10551096 \end{itemize}
10561097
10571098 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1242,15 +1283,18 @@
12421283 Similarly, this feature will substitute precomposed voiced kana glyphs for
12431284 combinations of unvoiced kana plus combining dakuten or handakuten.
12441285
1245-In the Mandeubsida fonts, this feature breaks precomposed
1246-syllables that don't have final consonants into their component jamo, and
1247-combines sequences of jamo for single vowels and consonants into jamo
1248-representing the sequences, where possible. Splitting tail-less precomposed
1249-syllables is necessary to support the Unicode behaviour of adding a tail to
1250-a precomposed syllable that doesn't have one; the splitting is later undone
1251-by the ``liga'' feature. Combining single jamo into multiples does not seem
1252-to be required by Unicode, but is vaguely described in Microsoft's spec, and
1253-it seems like a reasonable thing to do.
1286+In the Mandeubsida fonts, this feature does extensive processing of
1287+precomposed syllables, conjoining jamo, and jamo clusters, to render each
1288+syllable into one glyph for the lead (even if it contains more than one
1289+jamo), one glyph for the vowel, and zero or one glyphs for the tail, with
1290+the lead and vowel glyphs selected from a choice of alternate forms to take
1291+into account the layout of the syllable, which is driven by the vowel and
1292+the presence or absence of a tail. In the case of syllables that do not
1293+have standard whole-syllable code points (i.e.\ those containing archaic or
1294+uncommon jamo or jamo combinations), the output of ccmp is the best we can
1295+do. Main-line standard syllables, which have their own code points and
1296+corresponding precomposed glyphs, will get those glyphs substituted in when
1297+the ``liga'' feature runs.
12541298
12551299 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12561300
@@ -1266,26 +1310,12 @@
12661310
12671311 The Mandeubsida fonts, however, contain an extensive ligature table for
12681312 hangul, and use of this feature is required to get full support for hangul
1269-script. Without it, the decomposition of precomposed tail-less syllables in
1270-the ``ccmp'' feature will stand, leaving those syllables looking poorly
1271-designed; and syllables written out as individual jamo will be approximated
1272-with on-the-fly composition even when a precomposed glyph would be
1273-available. In order for the ligature table to operate correctly, the
1274-``ljmo'' and ``vjmo'' features should also be turned on. See the section on
1275-Korean language support for more details of how this feature works.
1313+script. Without it, precomposed syllable glyphs will not be used and every
1314+syllable will be rendered in one of the six generic layouts. See the
1315+section on Korean language support.
12761316
12771317 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12781318
1279-\blsubsection{頭子音の形}{Lead Jamo Shaping (ljmo)}
1280-
1281-This feature only exists in the Mandeubsida fonts and should be turned on by
1282-default. It replaces ``lead'' jamo glyphs (consonants at the starts of
1283-syllables) with contextual variants that depend on the vowel and the
1284-presence or absence of a tail. For more information, see the section on
1285-Korean support.
1286-
1287-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1288-
12891319 \blsubsection{文字に付け方}{Mark to Base Positioning (mark)}
12901320
12911321 This feature only exists in the proportionally spaced fonts; a similar
@@ -1486,33 +1516,20 @@
14861516
14871517 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14881518
1489-\blsubsection{母音の形}{Vowel Jamo Shaping (vjmo)}
1490-
1491-This feature only exists in the Mandeubsida fonts, and should be turned on by
1492-default when it exists. It replaces ``vowel'' jamo glyphs with appropriate
1493-contextual variations depending on the layout of the syllable. The layout
1494-that will be used by ``vjmo'' is actually chosen during execution of the
1495-``ljmo'' feature, which must be applied before ``vjmo'' (as required by
1496-Microsoft's specification) for ``vjmo'' to work properly. Note that
1497-Microsoft also describes, but we don't use, a similar ``tjmo'' feature for
1498-reshaping the tail.
1499-
1500-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1501-
15021519 \blsubsection{私用符号位置を避けて}{Limit PUA Code Points (xpua)}
15031520
15041521 This is not the usual kind of OpenType feature, but is configured through
15051522 the same interface as the others.
15061523
1507-For software engineering purposes it is
1508-convenient to have a unique Unicode-like code point for every glyph in the
1509-font family. However, some of those glyphs are not intended to be accessed
1510-directly by users, and more than one of them may correspond to the same
1511-Unicode character in ordinary text. This feature removes the private-use
1512-code points from many such glyphs.
1524+For software engineering purposes it is convenient to have a unique
1525+Unicode-like code point for every glyph in the font family. However, some
1526+of those glyphs are not intended to be accessed directly by users, and more
1527+than one of them may correspond to the same Unicode character in ordinary
1528+text. This feature removes the private-use code points from many such
1529+glyphs.
15131530
1514-For instance, in Mandeubsida there is a glyph named ``uni112A'' for code point
1515-U+112A, but there is also a glyph named ``uni112A.bug'' which looks
1531+For instance, in Mandeubsida there is a glyph named ``uni112A'' for code
1532+point U+112A, but there is also a glyph named ``uni112A.bug'' which looks
15161533 identical but is referenced in the substitution table in order to work
15171534 around a bug in the ICU library used by \XeTeX. The uni112A.bug glyph, as
15181535 its name implies, is used to typeset the character U+112A, but it is
--- trunk/Makefile.am (revision 497)
+++ trunk/Makefile.am (revision 498)
@@ -8,7 +8,7 @@
88
99 #
1010 # Makefile for Tsukurimashou
11-# Copyright (C) 2011, 2012, 2013 Matthew Skala
11+# Copyright (C) 2011, 2012, 2013, 2014 Matthew Skala
1212 #
1313 # This program is free software: you can redistribute it and/or modify
1414 # it under the terms of the GNU General Public License as published by
Show on old repository browser