• R/O
  • SSH
  • HTTPS

tsukurimashou: Commit


Commit MetaInfo

Revision251 (tree)
Time2012-04-07 22:49:02
Authormskala

Log Message

Korean bug fixes, documentation updates for 0.6

Change Summary

Incremental Difference

--- trunk/doc/usermanual.tex (revision 250)
+++ trunk/doc/usermanual.tex (revision 251)
@@ -199,8 +199,8 @@
199199 generate a potentially unlimited number of typeface designs from the source
200200 code; but I've provided parameters for several ready-made faces, each of
201201 which can be drawn in monospace or proportional forms. The mainline
202-Tsukurimashou fonts are intended for Japanese, but (new in version 0.5)
203-there is also a series of fonts called Jieubsida, designed for Korean
202+Tsukurimashou fonts are intended for Japanese, but version 0.5 also
203+introduced a series of fonts called Jieubsida, designed for Korean
204204 hangul. There is also some experimental code intended to eventually become
205205 a set of blackletter fonts, but it is disabled by default and not currently
206206 usable.
@@ -285,8 +285,8 @@
285285
286286 The Tsukurimashou fonts are distributed under the GNU General Public
287287 License, version 3, with an added paragraph clarifying that they may be
288-embedded in documents. See the file named LICENSE and note the
289-following addition:
288+embedded in documents. See the files COPYING and COPYING.GPL3, and
289+note the following addition:
290290
291291 \begin{quotation}
292292 As a special exception, if you create a document which uses this font, and
@@ -336,14 +336,14 @@
336336 Tsukurimashou fonts, which encode the Genjimon characters in the
337337 Supplemental Private Use Area and also include a lot of other characters.
338338
339-This documentation file gives some notes on the build system, which is much
340-enhanced in this version, and on how to use the OpenType features built into
341-the fonts. Other documentation files included in the package demonstrate
342-what the fonts look like and list the current kanji coverage. Better
343-documentation (and some day, Japanese-language documentation) will probably
344-appear in a later version; at the moment, I'm just more interested in
345-designing fonts than in writing about them. Of course, all the typesetting
346-in this manual is done with fonts from this package.
339+This documentation file gives some notes on the build system and on how
340+to use the OpenType features built into the fonts. Other documentation
341+files included in the package demonstrate what the fonts look like and
342+list the current kanji coverage. Better documentation (and some day,
343+Japanese-language documentation) will probably appear in a later
344+version; at the moment, I'm just more interested in designing fonts
345+than in writing about them. Of course, all the typesetting in this
346+manual is done with fonts from this package.
347347
348348 The name ``Tsukurimashou'' could be translated as ``Let's make something!''
349349
@@ -373,45 +373,101 @@
373373 \blsubsection{\TsukurimashouVWide
374374 のニュース}{What's new in \TsukurimashouVersion?}
375375
376-The big news for version 0.5 is the introduction of the Jieubsida series of
377-fonts, covering Korean hangul. I decided to build these even though I don't
378-actually know the language, because the writing system seemed simple and I
379-thought it would be easy to add, providing a lot of bang for the buck in
380-terms of increasing the potential user base for Tsukuimashou. I was wrong
381-about it being easy to implement hangul; but doing the work had several
382-important side benefits. In particular, because of creating some
383-drastically larger fonts than this project has generated before, the Korean
384-fonts gave me the opportunity to find out about some problems in third-party
385-software that would if unfixed eventually cause big trouble for the Japanese
386-fonts too.
376+The main visible content of the fonts hasn't changed much in version
377+\TsukurimashouVersion; I'm simply continuing the slog through the
378+kyouiku kanji. This version contains the completion of Grade Three.
387379
388-The Jieubsida fonts should be of usable quality (comparable to the Latin
389-range) already. All the 11172 Unicode precomposed syllables are included,
390-as well as all the Unicode ``hangul compatibility jamo'' and ``hangul jamo''
391-code points---but only the main sequence, not the ``extended A and B''
392-ranges. (The extensions may arrive in a later version.) There are extensive
393-OpenType features that should, if used correctly, allow all the
394-Unicode-defined combining behaviour as well as all of Microsoft's.
380+There's been a lot of less-visible work done, however. This version
381+contains its own bundled copy of the METAFONT-language portion of
382+METATYPE1, and a Perl script that replaces the Awk portion of METATYPE1
383+and the wrapper provided by the mtype13 distribution. There's a story
384+behind that.
395385
396-One of the side effects of implementing the OpenType features for the Korean
397-fonts was that I discovered a pretty serious bug in \XeTeX's implementation
398-of glyph substitution; and, unfortunately, earlier versions of the
399-Tsukurimashou vertical fractions feature were actually written to depend on
400-the bug. In this version those tables have been rewritten in such a way
401-that they should work both in \XeTeX\ and in any correct implementations of
402-the standard. The bug has been reported to the appropriate authorities.
386+I reinstalled the operating system on my laptop and so, in order to
387+continue developing Tsukurimashou there, I had to also reinstall all
388+Tsukurimashou's dependencies. I installed \TeX{}Live, then tried to
389+install mtype13 according to its instructions. Bear in mind that
390+mtype13 is about ten years old and its installation process is designed
391+for \TeX\ distributions of that vintage, not present-day \TeX{}Live.
392+When invoked as directed, mtype13's Makefile automatically overwrote
393+the master configuration that allows \TeX\ and related programs to find
394+their data. My entire \TeX\ installation was rendered unusable. After
395+reinstalling the entirety of \TeX, I dug through the directory
396+structure to figure out the actually correct place to put mtype13, and
397+that fortunately wasn't hard. Thinking that I'd rather not lead
398+Tsukurimashou users into making the same mistake I made, I figured I
399+would add detailed instructions for installing mtype13 on a modern
400+\TeX, in this document.
403401
404-There are also a number of behind-the-scenes changes to the infrastructure.
405-The build system has been rearranged to avoid doing in-place modification of
406-files wherever possible, because that was making it hard for make to
407-properly track changes. The kerning recipes have been split into smaller
408-chunks, the better to debug FontForge bugs that turn up during kerning.
409-It's not included in the distribution because by nature it depends on
410-outside fonts, but I now have a ``missing kanji'' maintainer tool that makes
411-a chart of kanji used in the documentation and not yet included in the font,
412-so as to make planning easier. And the documentation itself has expanded
413-considerably.
402+But while researching that, I discovered that mtype13, although
403+obviously intended to be free software, did not actually contain any
404+license at all, making its status questionable. It also contained an
405+outdated version of METATYPE1, and since I've been having trouble with
406+METATYPE1 bugs right from the start of Tsukurimashou, it seemed like
407+switching to a new version might be desirable.
414408
409+I contacted the author of mtype13 and he very graciously released his
410+decade-old code under an MIT-style free software license; but I wanted
411+the updated METATYPE1, and in digging through that, I discovered that
412+it was doing a lot of things not needed by Tsukurimashou, such as
413+re-compiling all fonts twice, the second pass solely to create the
414+*.tfm files that I was throwing out anyway. Meanwhile mtype13 was
415+doing things like writing output to /dev/tty, which was what drove me
416+in an earlier version to put the whole works inside Expect so I could
417+keep the build system output clean-looking. And METATYPE1 is public
418+domain, and the parts used by Tsukurimashou amounted to just two files
419+of METAFONT code plus an Awk script to process the output---the rest of
420+the package is all about encodings, Latin Modern, back-translation from
421+Postscript to METAFONT, and other things not used by Tsukurimashou.
422+Then the only part of mtype13 really used by Tsukurimashou was a shell
423+script that would run the Awk script.
424+
425+All in all it seemed the logical thing to do was bundle an entire copy
426+of METATYPE1's METAFONT code, and a script with function similar to
427+mtype13 but with modifications appropriate to Tsukurimashou. That way
428+I eliminate the dependencies on separately installed METATYPE1 and
429+mtype13, and I have the opportunity to modify any features of those
430+packages that aren't ideal for Tsukurimashou.
431+
432+I combined the two METAFONT-language files into one and ripped out the
433+second pass of font compilation; that alone doubles the speed of
434+Postscript subfont generation. I also translated the Awk script into
435+Perl, and removed all the hinting code from it. People who have
436+the other dependencies of this package almost certainly have GNU Awk
437+anyway, but I don't really want to try to maintain code in Awk, a
438+language I barely know, and have that dependency for installation when
439+I've already got a lot of Perl in the project. The automated
440+Awk-to-Perl translator didn't work, for reasons unknown. Most of the
441+Awk code seemed to be all about properly handling hints, which
442+Tsukurimashou doesn't use at that stage of processing, so by removing
443+all that stuff I ended up with a much shorter and cleaner Perl script
444+than the original Awk.
445+
446+Also worth mentioning is the ``t1asm'' utility, another previously
447+unknown-to-me dependency of the mtype13/METATYPE1 complex. This is
448+part of the popular ``t1utils'' package; I could have simply declared
449+that package to be a new dependency, but there again, given that t1asm
450+is just one small thing needed out of a larger package, and distributed
451+under a permissive license, I decided to bundle it too. The C code for
452+this utility is in the t1asm/ subdirectory.
453+
454+This version of Tsukurimashou is the first one designed to work with
455+IDSgrep. IDSgrep is a separate, new project, with its own
456+documentation and distribution packages, but its source code is checked
457+into the Tsukurimashou SVN repository and so if you're following that
458+respository, you should already have a copy of the IDSgrep code.
459+IDSgrep brings the user-friendliness of grep to kanji search. It
460+allows querying databases of kanji by partial descriptions of visual
461+structure, such as ``all kanji with 月 at the right.’’ Tsukurimashou's
462+build system now supports a ``make eids'' target, which will generate a
463+database file suitable for querying with IDSgrep based on the visual
464+structure of Tsukurimashou glyphs. Note that that may explicitly not
465+be the same as their etymological origins; databases from other sources
466+may be more useful for general dictionary purposes, but I've found that
467+in Tsururimashou's own development a need exists for querying what
468+is in the font as such, and IDSgrep exists in large part to serve that
469+need.
470+
415471 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
416472
417473 \blsubsection{外のプロジェクト}{Other similar projects}
@@ -420,7 +476,7 @@
420476 that are relevant to its designer, and although I certainly hope others will
421477 find it useful, my goals may or may not be in line with yours. Also,
422478 although I sometimes describe Tsukurimashou as the first parameterized
423-MetaFont family with Japanese-language coverage, that claim requires careful
479+METAFONT family with Japanese-language coverage, that claim requires careful
424480 qualification because many projects with similar aims have existed in some
425481 form for a long time. Here are some others, going back a few decades, that
426482 you might want to check out.
@@ -511,9 +567,9 @@
511567 \url{http://scripts.sil.org/xetex}
512568
513569 \item Hóng Zì project by Javier R.\ Laguna. Aimed to be a parameterized
514-MetaFont family for Chinese. The last release, which was in 2006,
570+METAFONT family for Chinese. The last release, which was in 2006,
515571 contained 125 characters. No infrastructure for addressing issues
516-like MetaFont's 256-glyph limit, or radicals changing shape depending
572+like METAFONT's 256-glyph limit, or radicals changing shape depending
517573 on their context. Probably abandoned. However, it did make several
518574 releases of code that you can still download and compile.
519575 \url{http://hongzi.sourceforge.net/}
@@ -552,23 +608,23 @@
552608 \blsubsection{デベロップメントロードマップ}{Development roadmap}
553609
554610 This version contains all the kyouiku kanji (the ones taught in Japanese
555-elementary school) through Grade 2 and half of them for Grade 3. The
556-current plan is to release a minor version after each grade level of kyouiku
557-kanji and one halfway through each grade level, which will take us up to
558-version 0.12 at the end of Grade 6. Version 1.0 will probably be a separate
559-version released shortly after 0.12, with a general clean-up and renovation,
560-but it's possible I might skip directly from 0.11 to 1.0.
611+elementary school) through Grade 3. The current plan is to release a minor
612+version after each grade level of kyouiku kanji and one halfway through each
613+grade level, which will take us up to version 0.12 at the end of Grade 6.
614+Version 1.0 will probably be a separate version released shortly after 0.12,
615+with a general clean-up and renovation, but it's possible I might skip
616+directly from 0.11 to 1.0.
561617
562-There are 1006 kyouiku kanji, though my expectation is that by that point
563-the fonts will probably contain more than that number of kanji
564-glyphs because my general practice is to add other glyphs that are
565-convenient to add whenever they come up, regardless of their level. For
566-instance, when I added the ``gate'' radical 門 it was easy to add many other
567-kanji that consist of that wrapped around an easy pre-existing kanji, even
568-though some of those are not in common use and one, 閠, isn't even a real
569-kanji at all, having been created by an error in the standards process. But
570-having just over a thousand in the main-line roadmap makes the end of the
571-kyouiku kanji a good milestone for the first major version number.
618+There are 1006 kyouiku kanji, though the fonts already contain more than
619+that number of kanji glyphs because my general practice is to add other
620+glyphs that are convenient to add whenever they come up, regardless of their
621+level. For instance, when I added the ``gate'' radical 門 it was easy to
622+add many other kanji that consist of that wrapped around an easy
623+pre-existing kanji, even though some of those are not in common use and one,
624+閠, isn't even a real kanji at all, having been created by an error in the
625+standards process. But having just over a thousand in the main-line roadmap
626+makes the end of the kyouiku kanji a good milestone for the first major
627+version number.
572628
573629 That may be a few years from now. Progress past that point will be somewhat
574630 dependent on how I feel about the project by then and what my personal
@@ -593,14 +649,11 @@
593649 reasonable milestones for 4.0 and 5.0.
594650
595651 Figure~\ref{fig:glyph-counts} is a chart of the progress to date. Note the
596-horizontal axis is labelled by version but scaled by time. There was a long
597-gap between 0.3 and 0.4, which I hope won't be typical of future minor
598-versions. The last half of Grade 2 turned out to include some really hard
599-characters, and I did a lot of infrastructure work during this time that
600-isn't shown in the numbers but will become important for speeding up future
601-work. All the glyph counts in these charts are for the Tsukurimashou
602-(Japanese) fonts alone. The Jieubsida (Korean) fonts contain the
603-11172-glyph block of precomposed syllables, which because they are
652+horizontal axis is labelled by version but scaled by time. Even-numbered
653+versions tend to take more time because I tend to do the easier characters
654+in each grade level first. All the glyph counts in these charts are for the
655+Tsukurimashou (Japanese) fonts alone. The Jieubsida (Korean) fonts contain
656+the 11172-glyph block of precomposed syllables, which because they are
604657 algorithmically generated cannot be well compared to the more
605658 manually-created kanji and other glyphs. The Jieubsida fonts also contain a
606659 few hundred non-precomposed glyphs, beyond the core they share with
@@ -662,8 +715,9 @@
662715 comments and blanks but not including code in other languages and locations;
663716 also excluding jieub-*.mp, but still including a few other files from
664717 Jieubsida) plotted against the total number of glyphs in the main
665-Tsukurimashou family. This version's significant increase in code per glyph
666-is probably an artifact of the
718+Tsukurimashou family. In version 0.6, there are a few thousand lines of
719+code added due to the bundling of METATYPE1, which may skew the numbers a
720+bit.
667721
668722 \begin{figure}
669723 \tikzset{horizontal axis/.style={xscale=0.4}}
@@ -715,11 +769,11 @@
715769 sense to also have a central list.
716770
717771 \begin{itemize}
718- \item MetaPost (maybe even MetaFont) issue propagated to MetaType1:
772+ \item Metapost (maybe even METAFONT) issue propagated to METATYPE1:
719773 the equation solver has a non-renewable resource of ``independent
720774 variable instance serial numbers'' which are consumed as code executes.
721775 Basically, one is used up permanently every time an assignment statement
722- executes. Very old versions of MetaPost either did not have these, or
776+ executes. Very old versions of Metapost either did not have these, or
723777 allowed the counter to wrap around, and so the solver would produce
724778 incorrect results in long-running programs. At some time before
725779 version 0.641, the solver
@@ -727,7 +781,7 @@
727781 serial numbers would run out and cause a fatal error when they reached
728782 $\textrm{2}^\textrm{\small 25}$. In version 1.501, the limit was
729783 increased to $\textrm{2}^\textrm{\small 31}$. Any sufficiently
730- long-running MetaPost program will eventually die as the limit is
784+ long-running Metapost program will eventually die as the limit is
731785 exceeded. Some experimental versions of the Blackletter Lolita
732786 curve-fitter would exceed the $\textrm{2}^\textrm{\small 25}$ limit; the
733787 current experimental version is less computation-intensive, probably
@@ -734,39 +788,49 @@
734788 wouldn't exceed $\textrm{2}^\textrm{\small 25}$, and certainly fits
735789 comfortably in $\textrm{2}^\textrm{\small 31}$, but it seems like the
736790 limit should not exist at all. Debugging is hindered by some currently
737- in progress redesign work on MetaPost's data structures, such that (as
791+ in progress redesign work on Metapost's data structures, such that (as
738792 of October 2011) the cutting-edge development version leaks memory and
739793 crashes for that reason long before the serial numbers can run out
740- anyway. Memory leaks acknowledged and planned to be fixed by MetaPost
794+ anyway. Memory leaks acknowledged and planned to be fixed by Metapost
741795 maintainer Taco Hoekwater, but it may take a while. I've posted a link
742796 target to track this issue at \url{http://ansuz.sooke.bc.ca/entry/213}.
743797
744- \item MetaType1 apparently removes the dot from glyph names that contain
745- a decimal digit followed by a dot, such as ``uni1100.bug'' which becomes
746- ``uni1100bug''; this is not really a problem for us at the moment (and
747- so not much debugging work done on it) because we rename glyphs in
748- FontForge later anyway, using a name list extracted by Perl directly
749- from the *.mp files instead of depending on correct propagation of glyph
750- names through MetaType1. Noting it here as a reminder for future
751- caution if our data flow changes.
798+ \item METATYPE1 sometimes runs glyph names through the METAFONT
799+ tokenizer. At this point, I don't know how essential that is to
800+ the operation of METATYPE1 or whether it can be changed. It has
801+ subtle effects that can cause problems. One issue shows up in
802+ glyph names that contain a decimal digit followed by a dot, as in
803+ ``uni1100.bug''; then what gets written into the Postscript output
804+ is ``uni1100bug'' because that is equivalent but more canonical in
805+ METAFONT syntax. A more serious issue shows up with the glyph name
806+ ``uni1100.l1'' from Tsukurimashou 0.5; in the new METATYPE1 version
807+ 0.55, that gets tokenized in a context where the token ``l'' is a
808+ ``spark,'' and so the whole compilation fails. The workaround
809+ is to change ``l'' to ``lj'' (for ``lead jamo''). We are not
810+ actually using the glyph names written into the Postscript files,
811+ so it doesn't matter if they are incorrect, but compilation must
812+ not fail. In the longer term it would be nice to make METATYPE1
813+ not exhibit this behaviour, and pass the strings intact into the
814+ Postscript file.
752815
753- \item MetaType1 pen\_stroke\_edge macro: if left to its own devices, it
754- will sometimes attempt to evaluate the ``turning angle'' of a zero vector,
755- and then blow up. This seems to happen most often when stroking a
756- vector in a direction of approximately 290 degrees. Workaround is a
757- slightly modified replacement version of this macro at the bottom of
758- intro.mp, which checks for the bad case and avoids doing the operation
759- that would fail; adding additional points to the stroke path also seems
760- to help.
816+ \item METATYPE1 pen\_stroke\_edge macro: as of METATYPE1 version
817+ 0.44, if left to its own devices it will sometimes attempt to
818+ evaluate the ``turning angle'' of a zero vector, and then blow up.
819+ This seems to happen most often when stroking a vector in a
820+ direction of approximately 290 degrees. As of Tsukurimashou 0.6,
821+ we are bundling METATYPE1 version 0.55, which seems to have fixed
822+ this bug; the workaround in previous versions of Tsukurimashou has
823+ been removed.
761824
762- \item MetaType1 infrastructure in general: sometimes generates paths that
763- MetaFont calls ``degenerate,'' triggering a fatal error. Workaround is
764- to filter things, before rendering, through the regenerate macro in
765- intro.mp, which removes any very short path segments. Possibly
766- related: the Fill macro will sometimes abort in response to some
767- conditions on ``turning number'' that do not appear to actually be
768- harmful. Workaround is to use our dangerousFill in intro.mp instead,
769- which is just a copy of Fill with the error checking removed.
825+ \item METATYPE1 infrastructure in general: sometimes generates paths that
826+ METAFONT calls ``degenerate,'' triggering a fatal error.
827+ Workaround is to filter things, before rendering, through the
828+ regenerate macro in intro.mp, which removes any very short path
829+ segments. Possibly related: the Fill macro will sometimes abort in
830+ response to some conditions on ``turning number'' that do not
831+ appear to actually be harmful. Workaround is to use our
832+ dangerousFill in intro.mp instead, which is just a copy of Fill
833+ with the error checking removed.
770834
771835 \item FontForge spline geometry operations, such as overlap removal and
772836 simplification: these have historically tended to be very numerically
@@ -795,8 +859,7 @@
795859
796860 \item FontForge can segfault while writing a feature file because of
797861 dereferencing a pointer first and checking whether it was null
798- afterward. Reported on mailing list November 2011, no response,
799- but we're avoiding writing feature files for other reasons anyway.
862+ afterward. Fixed by developers in December 2011.
800863
801864 \item FontForge does not apply features of the ``DFLT'' language system as
802865 a default to Unicode ranges that have no explicit mention in the font
@@ -811,13 +874,15 @@
811874 be monospace and thus won't also have per-glyph non-default advance
812875 widths. Fix: change the limit to 22. Patch offered on FontForge
813876 mailing list in November 2011
814- (\url{http://sourceforge.net/mailarchive/forum.php?thread_name=alpine.LNX.2.00.1111231635070.28210\%40tetsu.ansuz.sooke.bc.ca&forum_name=fontforge-devel}).
877+ (\url{http://sourceforge.net/mailarchive/forum.php?thread_name=alpine.LNX.2.00.1111231635070.28210\%40tetsu.ansuz.sooke.bc.ca&forum_name=fontforge-devel}),
878+ applied by FontForge developers in December 2011.
815879
816880 \item FontForge save and then load of an SFD file has the effect of
817881 renaming the ``clig'' feature to ``rtla'' on only one of the three
818882 machines where I've tried it. May be related to the x86-64
819883 architecture. Reported on mailing list November 2011,
820- no responses, resolution or workaround unknown.
884+ mentioned in a developer's commit message December 2011, whether it
885+ is in fact fixed is unknown.
821886
822887 \item FontForge rasterization to BDF via FreeType as opposed to whatever
823888 other code FontForge would use: sometimes produces corrupt results.
@@ -831,7 +896,8 @@
831896 support; from GUI it is possible to just turn off FreeType rasterization
832897 on individual bitmap-creation operations, but that option doesn't seem
833898 to be available from the scripting language and so the package has to
834- actually be built without FreeType.
899+ actually be built without FreeType. As of April 2012, seems not to
900+ be an issue with Arch Linux's packaged versions.
835901
836902 \item \XeTeX\ fails to advance glyph pointer after a successful match in a
837903 GSUB table, which has complicated consequences for chaining
@@ -996,7 +1062,7 @@
9961062 }
9971063
9981064 This feature works with both the ``narrow'' digits and slash
999-(ASCII 47--57, Unicode U+002F--U+0039) and the ``wide'' ones (Unicode
1065+(ASCII code 47--57, Unicode U+002F--U+0039) and the ``wide'' ones (Unicode
10001066 U+FF0F--U+FF19). If the input digits are narrow, and the fraction is one
10011067 digit over one digit, then the resulting glyph will be narrow (the same
10021068 width as monospaced Latin characters). Otherwise---with wide input or more
@@ -1085,7 +1151,7 @@
10851151 lowercase q with a breve, which does not correspond to any Unicode code
10861152 point and would not otherwise be available.
10871153
1088-As of version 0.5, support for this feature is limited. Not every base
1154+As of version 0.6, support for this feature is limited. Not every base
10891155 letter you might want will necessarily be available; all the most popular
10901156 combining diacritical marks exist, but it's easy to imagine others you might
10911157 want that are not included; in many cases (especially when capital letters
@@ -1106,12 +1172,9 @@
11061172 this should allow stacking up more than one accent on the same letter to
11071173 create many glyphs that would be impossible by other means.
11081174
1109-As of version 0.5, this feature only works with I Ching combining dots in
1110-Tsukurimashou's private-use range, and it is used to replicate functionality
1111-of the monospace fonts which can already position multiple I Ching dots
1112-without needing an OpenType feature because of their different
1113-implementation. More thorough support of mark to mark---for instance, to
1114-allow multiple accents on a letter---is planned for some future version.
1175+In version 0.6, this feature has been expanded to cover a few more of the
1176+Latin accents than before, allowing the construction of such characters as
1177+x\char"0308\char"030C. It is still somewhat experimental, however.
11151178
11161179 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11171180
@@ -1148,6 +1211,62 @@
11481211
11491212 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11501213
1214+\blsubsection{FIXME}{FontForge-specific Metadata (pfed)}
1215+
1216+This is not the usual kind of OpenType feature, but it can be turned on and
1217+off through the same build-system interface. When selected, it causes the
1218+build system to add a ``pfed'' table with a ``flog'' subtable in the
1219+generated OpenType fonts, containing verbose information about the
1220+installation on which the fonts were built. This table is a
1221+FontForge-specific extension of OpenType format; the name ``pfed'' refers to
1222+PfaEdit, an earlier name of the software that later became FontForge. Other
1223+software will ignore this table; but users with FontForge can examine the
1224+verbose metadata under the ``FONTLOG'' heading in the ``Font Info...''
1225+dialog. The data is also visible as a chunk of plain text near the end of
1226+the file when the OTF file is examined with a general-purpose file viewer
1227+such as ``less.'' The main interesting content is the command line that was
1228+given to configure, and a dump of most of the variables known to Make.
1229+There's also a copy of the copyright notice and URLs for the project home
1230+pages, giving in more verbose detail some of the same information included
1231+in the ``name'' table.
1232+
1233+I recommend activating this feature, especially if you will be building
1234+fonts for distribution to others. It may make bug reporting easier, because
1235+it means that anyone who gets a copy of the font also gets some information
1236+on where that font came from; if someone builds a font and then has trouble
1237+with it, it'll be easier to help if the font contains this debugging
1238+information. It also improves the chances that should a font file get
1239+separated from its context, someone stumbling upon it will be able to figure
1240+out what to do with it. The Net is full of inaccurately labelled fonts with
1241+unknown authorship, often being sold by shady commercial enterprises that
1242+have no legal right to do so, and we all ought to do what we can to stamp
1243+that out. Detailed human-readable metadata, in general, is a Good Thing.
1244+
1245+But the font log contains information like software version numbers, user
1246+account names, and installation directory names. Some people have funny
1247+ideas about the sensitivity of such information in relation to system
1248+security; they may think that revealing it creates a real risk, not
1249+otherwise present, of people breaking into their computers. They might also
1250+think it could be used to trace the origins of anonymously written PDF files
1251+and that forensic investigators don't have many other ways to do that.
1252+
1253+Such people are wrong. However, my saying so won't cause them to change
1254+their minds. If I distributed software that attached this information to
1255+generated fonts by default, then someone who didn't read the documentation
1256+would eventually ``discover'' it and make a big fuss about it supposedly
1257+being a security hole. Who needs that? The feature is therefore turned off
1258+by default. I recommend turning it on by passing the
1259+``--enable-ot-features=all'' option to configure. The default is
1260+``--enable-ot-features=all,!pfed,'' which enables everything else.
1261+
1262+Regardless of the setting chosen, the build system will place the same
1263+information in a file called ``fontlog.txt'' in the txt/ subdirectory of the
1264+build tree. After doing a build you can read that file to see what would
1265+have been put in the fonts. The option setting just controls whether or not
1266+the fontlog file will be added to the OTFs during the final packaging step.
1267+
1268+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1269+
11511270 \blsubsection{スモールキャピタル}{Small Caps (smcp)}
11521271
11531272 {\fontspec[RawFeature=+smcp]{TsukurimashouKakuPS}Small caps are available
@@ -1284,12 +1403,23 @@
12841403 for using them to describe what Han-script characters look like. For
12851404 instance, 「歯」 might be described by the string 「⿱止⿶凵米」, which
12861405 expresses that 歯 consists of 止 written above a composite sub-glyph that
1287-itself consists of 凵 wrapped around 米.
1288-Tsukurimashou includes glyphs for the special characters. It is planned
1289-that at some point in the future, there may be some automatic generation of
1290-the description strings, to support advanced searching features.
1406+itself consists of 凵 wrapped around 米. Unicode's scheme for character
1407+description appears to have been inherited more or less unmodified from a
1408+similar scheme in the Chinese GBK standard.
12911409
1292-The glyphs look like this: \char"2FF0\char"2FF1\char"2FF2\char"2FF3%
1410+Tsukurimashou includes glyphs for the special characters. There is also
1411+support in the build system for a ``make eids'' target, which generates a
1412+file called tsukurimashou.eids in the txt/ directory. That file is a
1413+collection of Extended Ideographic Description Sequences (EIDSes) describing
1414+the construction of the kanji in the font. This is the interface to
1415+IDSgrep, a program for searching kanji according to powerful
1416+criteria on their visual structure. IDSgrep is available from the same
1417+SourceForge.JP project that hosts Tsukurimashou; see that package and its
1418+documentation for more information on EIDS format and how to use it.
1419+
1420+With or without IDSgrep, Tsukurimashou may be used to typeset the special
1421+characters for the descriptions. The glyphs look like this:
1422+\char"2FF0\char"2FF1\char"2FF2\char"2FF3%
12931423 \char"2FF4\char"2FF5\char"2FF6\char"2FF7\char"2FF8\char"2FF9%
12941424 \char"2FFA\char"2FFB
12951425
@@ -1384,7 +1514,7 @@
13841514 the lead is always written with at least one jamo, and in the relatively
13851515 standardized present-day language, at most two. Also, two-jamo leads on the
13861516 list of 19 always consist of one jamo repeated twice (not two different
1387-ones); two-jamo tails may contain two different jamo. Combinations of more
1517+ones); some two-jamo tails contain two different jamo. Combinations of more
13881518 than two jamo, and other single and double jamo not on those lists, occur in
13891519 archaic contexts, less-popular dialects, and so on; but there are very many
13901520 of those longer, or merely other, combinations defined by Unicode.
@@ -1676,7 +1806,7 @@
16761806 a complete glyph set (or as many glyphs as have been selected with
16771807 configure). This will generally be a few thousand glyphs for the
16781808 Tsukurimashou family and about 13 thousand for the Jieubsida family.
1679-Because MetaType1 is limited to producing Postscript font files with at most
1809+Because METATYPE1 is limited to producing Postscript font files with at most
16801810 256 glyphs each, the system builds ``subfonts'' each corresponding to a
16811811 ``page'' of the Unicode character set---that is, an aligned 256-code-point
16821812 block. For instance, the range U+0000 to U+00FF is the page containing
@@ -1796,13 +1926,13 @@
17961926
17971927 \begin{itemize}
17981928 \item A reasonably standard Unix command-line environment. I use
1799- Slackware Linux. Anything branded as ``Unix'' should work. MacOS X
1800- might work. Windows with Cygwin might work.
1929+ Arch Linux. Anything branded as ``Unix'' should work. MacOS X
1930+ might work. Windows with Cygwin might work.
1931+ \item A standard C-language tool chain (normally comes with Linux).
18011932 \item Perl.
1802- \item GNU Make.
1803- \item MetaType1, specifically the \texttt{mtype13} distribution.
1804- \item A version of FontForge that actually works. This will probably
1805- require local patching, and possibly local debugging; see below.
1933+ \item GNU Make (non-GNU versions will not work).
1934+ \item Metapost (this comes with most \TeX/\LaTeX\ installations)
1935+ \item A version of FontForge that actually works.
18061936 \end{itemize}
18071937
18081938 Other things that might also be useful include:
@@ -1823,46 +1953,31 @@
18231953 \end{itemize}
18241954
18251955 If you have a current version of \TeX{}Live, then you probably have
1826-MetaType1 and \XeLaTeX\ already. Note that it does have to be fairly
1827-up-to-date. The version that came with Slackware on my laptop had a bug
1828-that caused ``{\fontspec[StylisticSet=2]{TsukurimashouKakuPS}\{3\}}'' to
1829-appear as ``\{3\},'' where it should be a white ``3'' in a black circle.
1830-(It appears that the issue was with the braces being treated as ``math''
1831-characters and substituted from Latin Modern instead of the specified
1832-Tsukurimashou font, so that as a result the OpenType substitution wasn't
1833-being triggered.)
1956+Metapost and \XeLaTeX\ already. Note that it does have to be fairly
1957+up-to-date. Tsukurimashou now bundles its own version of the public domain
1958+METATYPE1 code, so the dependency of previous versions
1959+on the mtype13 distribution of that has been removed from the list. In
1960+preparing METATYPE1 code for bundling I discovered a previously unknown
1961+dependency of previous versions on the t1asm package from t1utils; that has
1962+now been bundled as well.
18341963
18351964 I mentioned a requirement for a version of FontForge ``that actually
18361965 works.'' FontForge is plagued by many bugs and numerical instabilities in
18371966 its spline geometry code, and stock, distributed ``stable'' versions tend to
1838-hang and/or segfault when they are used to compile Tsukurimashou.
1839-As of December 2011, rasterization using FreeType seems to produce corrupt
1840-results, and the best workaround seems to be to compile FontForge without
1841-FreeType support. Since a binary distributed version is likely to include
1842-FreeType, you will probably need to compile your own. Using the latest
1843-development sources from the FontForge Git repository is probably a good
1844-idea. Spline geometry is a
1845-moving target and it may be necessary to experiment with different settings
1846-for numeric precision in the build (most recently I've gotten best results
1847-with plain floats, but it does seem to vary).
1848-The excessive hinting bug
1849-reported in the mailing list thread at
1850-\url{http://sourceforge.net/mailarchive/forum.php?thread_name=alpine.LNX.2.00.1111231635070.28210\%40tetsu.ansuz.sooke.bc.ca&forum_name=fontforge-devel}
1851-is, as far as I know, not yet fixed even in the development Git repository,
1852-and so may require local patching.
1967+hang and/or segfault when they are used to compile Tsukurimashou. As of
1968+April 2012, the version distributed by Arch Linux x86\_64 seems to work. In
1969+the recent past there've been bugs relevant to Tsukurimashou fixed in the
1970+interface to FreeType for rasterization; spline geometry; and hinting. I
1971+can't promise that using the latest patched version will be enough to keep
1972+FontForge from crashing; what I do myself is go in with gdb after each
1973+sufficiently annoying crash, find the line that is segfaulting, and try to
1974+fix it. I'm not sure that I have reported or recorded all the changes I've
1975+made as a result of this procedure. Because of all this,
1976+Tsukurimashou's configure script will check that your FontForge has been
1977+compiled with debugging symbols, and generate a warning message if not. You
1978+can either get a debuggable version, or disable the message if you feel like
1979+living dangerously.
18531980
1854-Turning off FreeType support also means you won't be surprised by the
1855-FontForge configure script's ridiculous policy of invoking ``find /'' to
1856-search for FreeType headers.
1857-
1858-I can't promise that using the latest patched version will be
1859-enough to keep FontForge from crashing; what I do myself is go in with gdb
1860-after each sufficiently annoying crash, find the line that is segfaulting,
1861-and try to fix it. I'm not sure that I have reported or recorded all the
1862-changes I've made as a result of this procedure. But, hey, if you're lucky,
1863-maybe FontForge will have fixed all its own bugs by the time you read this
1864-and you'll get along all right with a distributed version!
1865-
18661981 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18671982
18681983 \clearpage
@@ -1915,15 +2030,19 @@
19152030 triggering them automatically when I add new source files.
19162031
19172032 One important tip is that if things are failing, you can add ``V=1'' to the
1918-``make'' command line (note no hyphen, because this is a variable setting
1919-instead of an option; and you will probably also want to specify a target
1920-filename, which implicitly overrides the default ``-j'' multi-CPU option) to
1921-temporarily disable the silent build rules and see what's going on. The
1922-third-party font-building programs unconfigurably produce large quantities
1923-of verbose messages, some sent inexcusibly to /dev/tty instead of standard
1924-output or error, and the build system will go to heroic lengths with Expect
1925-(if available) to filter those out by default.
2033+``make'' command line, as in ``make V=1 pfbtmp/tsuku-kg-00.pfb'' to
2034+temporarily disable the silent build rules and see what's going on. Note no
2035+hyphen, because this is a variable setting instead of an option, and you
2036+will probably also want to specify a target filename, which implicitly
2037+overrides the default ``-j'' multi-CPU option. In version 0.6, Expect was
2038+rendered less necessary by the replacement of mtype13 with a homegrown and
2039+less chatty Perl script; but the support remains in place to handle \TeX's
2040+lesser jubilations.
19262041
2042+You can also add ``KEEPTMP=1'' to prevent deletion of the temporary
2043+directories created while running Metapost. This feature is primarily
2044+useful for debugging the pfb-generating scripts themselves.
2045+
19272046 You can turn subsets of the character set on and off with the
19282047 ``-{}-enable-chars'' option to configure. Give it a parameter consisting of
19292048 a comma-separated list of tags with optional plusses and minuses. The idea
@@ -1952,7 +2071,7 @@
19522071 characters---though you {\anbiruteki can} build a font with enclosed and not
19532072 regular numeric glyphs, because glyphs are mostly independent of each
19542073 other.\footnote{Mostly. In the case of white-on-black reversed glyphs and
1955-some fractions precomposed by FontForge instead of by MetaType1, you
2074+some fractions precomposed by FontForge instead of by METATYPE1, you
19562075 must include all the parts that FontForge will assemble in order to get the
19572076 combined glyph made by assembling those parts. This is a sufficiently
19582077 arcane scenario that the build system will not check for it.}
@@ -1987,25 +2106,27 @@
19872106 The ``make clean'' target and its variations probably do not really make
19882107 things as clean as they should.
19892108
1990-Don't bother with ``-{}-disable-dependency-tracking''; that is an Autotools
1991-thing meant for much larger and more softwary packages. It applies only
1992-to code in languages supported by Autotools, which at present means only the C
1993-kerning program whose dependency is trivial. The dependency tracking for
1994-MetaType1 code is completely separate, unaffected by this option, and trying
1995-to disable it would be a bad idea.
2109+Don't bother with ``-{}-disable-dependency-tracking''; that is an
2110+Autotools thing meant for much larger and more softwary packages. It
2111+applies only to code in languages supported by Autotools, which at
2112+present means only the C kerning program whose dependency is trivial.
2113+The dependency tracking for METATYPE1 code is completely separate,
2114+unaffected by this option, and trying to disable it would be a bad
2115+idea.
19962116
1997-Autotools encourages the use of a separate build directory, with the sources
1998-remaining inviolate elsewhere, but that is not really recommended for
1999-Tsukurimashou. I try to make it pass ``make dist-check'' right before each
2000-release, which implies making separate build directories work, but if you
2001-are building Tsukurimashou from a checked-out SVN version, chances of that
2002-working are slim. It's safer to build right in the main directory. Even if
2003-VPATH builds work, they are only intended for the case of having an
2004-untouched set of sources in one directory and a build in another. If you
2005-try to do the overlay thing, with modified versions of some source files in
2006-your build directory, it is unlikely to work, because of the large amount of
2007-bolted-on filename and path logic that doesn't go through GNU Make for name
2008-resolution.
2117+Autotools encourages the use of a separate build directory, with the
2118+sources remaining inviolate elsewhere, but that is not really
2119+recommended for Tsukurimashou. I try to make it pass ``make
2120+dist-check'' right before each release, which implies making separate
2121+build directories work, but if you are building Tsukurimashou from a
2122+checked-out SVN version, chances of that working are slim. It's safer
2123+to build right in the main directory. Even if VPATH builds work, they
2124+are only intended for the case of having an untouched set of sources in
2125+one directory and a build in another. If you try to do the overlay
2126+thing, with modified versions of some source files in your build
2127+directory, it is unlikely to work, because of the large amount of
2128+bolted-on filename and path logic that doesn't go through GNU Make for
2129+name resolution.
20092130
20102131 If you look in the source of the build system, specifically files like
20112132 configure.ac, you'll see that I did a whole lot of work ripping out sections
--- trunk/COPYING (revision 250)
+++ trunk/COPYING (revision 251)
@@ -1,675 +1,242 @@
1+The Tsukurimashou parametric font family and IDSgrep are in general covered
2+by the GNU GPL, version 3, with an exception to explicitly permit font
3+embedding. However, some files in this package when considered individually
4+are covered by other copyrights, and licenses of their own. See the
5+individual files for their specific licensing terms.
16
2- GNU GENERAL PUBLIC LICENSE
3- Version 3, 29 June 2007
7+A copy of the GNU GPL, version 3, is included in the file COPYING.GPL3.
48
5- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
6- Everyone is permitted to copy and distribute verbatim copies
7- of this license document, but changing it is not allowed.
9+The following notice applies to the package as a whole, the generated fonts,
10+and the main source code and documentation:
811
9- Preamble
12+ This program is free software: you can redistribute it and/or modify it
13+ under the terms of the GNU General Public License as published by the
14+ Free Software Foundation, version 3.
1015
11- The GNU General Public License is a free, copyleft license for
12-software and other kinds of works.
16+ As a special exception, if you create a document which uses this font,
17+ and embed this font or unaltered portions of this font into the
18+ document, this font does not by itself cause the resulting document to
19+ be covered by the GNU General Public License. This exception does not
20+ however invalidate any other reasons why the document might be covered
21+ by the GNU General Public License. If you modify this font, you may
22+ extend this exception to your version of the font, but you are not
23+ obligated to do so. If you do not wish to do so, delete this exception
24+ statement from your version.
1325
14- The licenses for most software and other practical works are designed
15-to take away your freedom to share and change the works. By contrast,
16-the GNU General Public License is intended to guarantee your freedom to
17-share and change all versions of a program--to make sure it remains free
18-software for all its users. We, the Free Software Foundation, use the
19-GNU General Public License for most of our software; it applies also to
20-any other work released this way by its authors. You can apply it to
21-your programs, too.
26+ This program is distributed in the hope that it will be useful, but
27+ WITHOUT ANY WARRANTY; without even the implied warranty of
28+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29+ General Public License for more details.
2230
23- When we speak of free software, we are referring to freedom, not
24-price. Our General Public Licenses are designed to make sure that you
25-have the freedom to distribute copies of free software (and charge for
26-them if you wish), that you receive source code or can get it if you
27-want it, that you can change the software or use pieces of it in new
28-free programs, and that you know you can do these things.
31+ You should have received a copy of the GNU General Public License along
32+ with this program. If not, see <http://www.gnu.org/licenses/>.
2933
30- To protect your rights, we need to prevent others from denying you
31-these rights or asking you to surrender the rights. Therefore, you have
32-certain responsibilities if you distribute copies of the software, or if
33-you modify it: responsibilities to respect the freedom of others.
34+The IDSgrep program (not included in standard distributions of
35+Tsukurimashou, but available from the same source-control repositories) is
36+covered by the above notice except without the font-embedding exception,
37+which would be irrelevant to IDSgrep.
3438
35- For example, if you distribute copies of such a program, whether
36-gratis or for a fee, you must pass on to the recipients the same
37-freedoms that you received. You must make sure that they, too, receive
38-or can get the source code. And you must show them these terms so they
39-know their rights.
39+The files mp/fntbase.mp and tools/mp2pf, which are modified versions of code
40+from the METATYPE1 package, are public domain with the following notices:
4041
41- Developers that use the GNU GPL protect your rights with two steps:
42-(1) assert copyright on the software, and (2) offer you this License
43-giving you legal permission to copy, distribute and/or modify it.
42+ THIS FILE IS PUBLIC DOMAIN NOTWITHSTANDING THE COPYRIGHT ON THE OVERALL
43+ TSUKURIMASHOU PACKAGE
4444
45- For the developers' and authors' protection, the GPL clearly explains
46-that there is no warranty for this free software. For both users' and
47-authors' sake, the GPL requires that modified versions be marked as
48-changed, so that their problems will not be attributed erroneously to
49-authors of previous versions.
45+ This file is based on the files "fontbase.mp" and "plain_ex.mp" from
46+ the METATYPE1 package version 0.55. Those files contain no
47+ copyright-related notices of their own, but the README for METATYPE1
48+ version 0.55 contains the following notices (in English and Polish; the
49+ slashes are verbatim from the original and presumably are some
50+ convention for expressing non-ASCII Polish letters in the ASCII file):
5051
51- Some devices are designed to deny users access to install or run
52-modified versions of the software inside them, although the manufacturer
53-can do so. This is fundamentally incompatible with the aim of
54-protecting users' freedom to change the software. The systematic
55-pattern of such abuse occurs in the area of products for individuals to
56-use, which is precisely where it is most unacceptable. Therefore, we
57-have designed this version of the GPL to prohibit the practice for those
58-products. If such problems arise substantially in other domains, we
59-stand ready to extend this provision to those domains in future versions
60-of the GPL, as needed to protect the freedom of users.
52+ This is METATYPE1 package -- a tool for creating Type 1 fonts using
53+ METAPOST. The package belongs to public domain (no copyrights,
54+ copylefts, copyups, copydowns, etc.).
55+ Version: 0.55 (16.09.2009; a tentative version, released along with
56+ the sources of the Latin Modern fonts ver. 2.003)
57+ Author: JNS team <JNSteam@gust.org.pl>
6158
62- Finally, every program is threatened constantly by software patents.
63-States should not allow patents to restrict development and use of
64-software on general-purpose computers, but in those that do, we wish to
65-avoid the special danger that patents applied to a free program could
66-make it effectively proprietary. To prevent this, the GPL assures that
67-patents cannot be used to render the program non-free.
59+ To jest pakiet METATYPE1 -- narz/edzie do tworzenia font/ow Type 1
60+ za pomoc/a systemu METAPOST. Pakiet stanowi dobro wsp/olne
61+ (/zadnych copyright/ow, copyleft/ow, copyup/ow, copydown/ow, etc.).
62+ Wersja: 0.55 (16.09.2009 -- wersja opublikowana wraz z wersj/a
63+ /xr/od/low/a 2.003 pakietu font/ow Latin Modern)
64+ Autorstwo: JNS team <JNSteam@gust.org.pl>
6865
69- The precise terms and conditions for copying, distribution and
70-modification follow.
66+ Although I assert my general right to claim copyright on work of my own
67+ that draws from public domain source materials, I nonetheless am
68+ releasing this file to the public domain in an effort to maintain the
69+ spirit of the JNS team's release above.
7170
72- TERMS AND CONDITIONS
71+ This program is distributed in the hope that it will be useful, but
72+ WITHOUT ANY WARRANTY; without even the implied warranty of
73+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7374
74- 0. Definitions.
75+The configure and Makefile.in files and any others generated by Autotools
76+and incidentally included in the package as part of the build system will
77+generally include notices from the Free Software Foundation in addition to
78+the ones from their source code; the exact notices may vary depending on the
79+tool versions used to generate the files, but some typical ones are as
80+follows:
7581
76- "This License" refers to version 3 of the GNU General Public License.
82+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
83+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
84+ Foundation, Inc.
7785
78- "Copyright" also means copyright-like laws that apply to other kinds of
79-works, such as semiconductor masks.
86+ This configure script is free software; the Free Software Foundation
87+ gives unlimited permission to copy, distribute and modify it.
8088
81- "The Program" refers to any copyrightable work licensed under this
82-License. Each licensee is addressed as "you". "Licensees" and
83-"recipients" may be individuals or organizations.
89+ Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
90+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
91+ Foundation, Inc.
8492
85- To "modify" a work means to copy from or adapt all or part of the work
86-in a fashion requiring copyright permission, other than the making of an
87-exact copy. The resulting work is called a "modified version" of the
88-earlier work or a work "based on" the earlier work.
93+ This Makefile.in is free software; the Free Software Foundation gives
94+ unlimited permission to copy and/or distribute it, with or without
95+ modifications, as long as this notice is preserved.
8996
90- A "covered work" means either the unmodified Program or a work based
91-on the Program.
97+ This program is distributed in the hope that it will be useful, but
98+ WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
99+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
100+ PURPOSE.
92101
93- To "propagate" a work means to do anything with it that, without
94-permission, would make you directly or secondarily liable for
95-infringement under applicable copyright law, except executing it on a
96-computer or modifying a private copy. Propagation includes copying,
97-distribution (with or without modification), making available to the
98-public, and in some countries other activities as well.
102+The Autoconf macros in the m4/ directory of the distribution are covered by
103+a variety of licenses from a variety of copyright holders. Most bear a
104+notice like this one:
99105
100- To "convey" a work means any kind of propagation that enables other
101-parties to make or receive copies. Mere interaction with a user through
102-a computer network, with no transfer of a copy, is not conveying.
106+ [copyright holder and date noted here]
103107
104- An interactive user interface displays "Appropriate Legal Notices"
105-to the extent that it includes a convenient and prominently visible
106-feature that (1) displays an appropriate copyright notice, and (2)
107-tells the user that there is no warranty for the work (except to the
108-extent that warranties are provided), that licensees may convey the
109-work under this License, and how to view a copy of this License. If
110-the interface presents a list of user commands or options, such as a
111-menu, a prominent item in the list meets this criterion.
108+ Copying and distribution of this file, with or without modification,
109+ are permitted in any medium without royalty provided the copyright
110+ notice and this notice are preserved. This file is offered as-is,
111+ without any warranty.
112112
113- 1. Source Code.
113+The files m4/tsu_colourise.m4 and m4/tsu_table_line.m4 are public domain
114+with this notice:
114115
115- The "source code" for a work means the preferred form of the work
116-for making modifications to it. "Object code" means any non-source
117-form of a work.
116+ This macro is released to the public domain by its author,
117+ Matthew Skala <mskala@ansuz.sooke.bc.ca>.
118118
119- A "Standard Interface" means an interface that either is an official
120-standard defined by a recognized standards body, or, in the case of
121-interfaces specified for a particular programming language, one that
122-is widely used among developers working in that language.
119+The file m4/ax_create_stdint_h.m4 contains this notice:
123120
124- The "System Libraries" of an executable work include anything, other
125-than the work as a whole, that (a) is included in the normal form of
126-packaging a Major Component, but which is not part of that Major
127-Component, and (b) serves only to enable use of the work with that
128-Major Component, or to implement a Standard Interface for which an
129-implementation is available to the public in source code form. A
130-"Major Component", in this context, means a major essential component
131-(kernel, window system, and so on) of the specific operating system
132-(if any) on which the executable work runs, or a compiler used to
133-produce the work, or an object code interpreter used to run it.
121+ Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
122+
123+ This program is free software; you can redistribute it and/or modify it
124+ under the terms of the GNU General Public License as published by the
125+ Free Software Foundation; either version 3 of the License, or (at your
126+ option) any later version.
127+
128+ This program is distributed in the hope that it will be useful, but
129+ WITHOUT ANY WARRANTY; without even the implied warranty of
130+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
131+ General Public License for more details.
132+
133+ You should have received a copy of the GNU General Public License along
134+ with this program. If not, see <http://www.gnu.org/licenses/>.
135+
136+ As a special exception, the respective Autoconf Macro's copyright owner
137+ gives unlimited permission to copy, distribute and modify the configure
138+ scripts that are the output of Autoconf when processing the Macro. You
139+ need not follow the terms of the GNU General Public License when using
140+ or distributing such scripts, even though portions of the text of the
141+ Macro appear in them. The GNU General Public License (GPL) does govern
142+ all other use of the material that constitutes the Autoconf Macro.
143+
144+ This special exception to the GPL applies to versions of the Autoconf
145+ Macro released by the Autoconf Archive. When you make and distribute a
146+ modified version of the Autoconf Macro, you may extend this special
147+ exception to the GPL to apply to your modified version as well.
134148
135- The "Corresponding Source" for a work in object code form means all
136-the source code needed to generate, install, and (for an executable
137-work) run the object code and to modify the work, including scripts to
138-control those activities. However, it does not include the work's
139-System Libraries, or general-purpose tools or generally available free
140-programs which are used unmodified in performing those activities but
141-which are not part of the work. For example, Corresponding Source
142-includes interface definition files associated with source files for
143-the work, and the source code for shared libraries and dynamically
144-linked subprograms that the work is specifically designed to require,
145-such as by intimate data communication or control flow between those
146-subprograms and other parts of the work.
149+The file txt/aglfn.txt, which lists recommended glyph names for Unicode
150+code points, contains this notice:
147151
148- The Corresponding Source need not include anything that users
149-can regenerate automatically from other parts of the Corresponding
150-Source.
152+ Copyright (c) 2003,2005,2006,2007 Adobe Systems Incorporated
153+
154+ Permission is hereby granted, free of charge, to any person obtaining a
155+ copy of this documentation file to use, copy, publish, distribute,
156+ sublicense, and/or sell copies of the documentation, and to permit
157+ others to do the same, provided that:
158+ - No modification, editing or other alteration of this document is
159+ allowed; and
160+ - The above copyright notice and this permission notice shall be
161+ included in all copies of the documentation.
162+
163+ Permission is hereby granted, free of charge, to any person obtaining a
164+ copy of this documentation file, to create their own derivative works
165+ from the content of this document to use, copy, publish, distribute,
166+ sublicense, and/or sell the derivative works, and to permit others to
167+ do the same, provided that the derived work is not represented as being
168+ a copy or version of this document.
169+
170+ Adobe shall not be liable to any party for any loss of revenue or
171+ profit or for indirect, incidental, special, consequential, or other
172+ similar damages, whether based on tort (including without limitation
173+ negligence or strict liability), contract or other legal or equitable
174+ grounds even if Adobe has been advised or had reason to know of the
175+ possibility of such damages.X The Adobe materials are provided on an
176+ "AS IS" basis.X Adobe specifically disclaims all express, statutory, or
177+ implied warranties relating to the Adobe materials, including but not
178+ limited to those concerning merchantability or fitness for a particular
179+ purpose or non-infringement of any third party rights regarding the
180+ Adobe materials.
151181
152- The Corresponding Source for a work in source code form is that
153-same work.
182+The files t1asm/clp.c and t1asm/clp.h, which form a library used by t1asm,
183+contain this notice:
154184
155- 2. Basic Permissions.
185+ Permission is hereby granted, free of charge, to any person obtaining a
186+ copy of this software and associated documentation files (the
187+ "Software"), to deal in the Software without restriction, subject to
188+ the conditions listed in the Click LICENSE file, which is available in
189+ full at http://www.pdos.lcs.mit.edu/click/license.html. The conditions
190+ include: you must preserve this copyright notice, and you cannot
191+ mention the copyright holders in advertising related to the Software
192+ without their permission. The Software is provided WITHOUT ANY
193+ WARRANTY, EXPRESS OR IMPLIED. This notice is a summary of the Click
194+ LICENSE file; the license in that file is legally binding.
156195
157- All rights granted under this License are granted for the term of
158-copyright on the Program, and are irrevocable provided the stated
159-conditions are met. This License explicitly affirms your unlimited
160-permission to run the unmodified Program. The output from running a
161-covered work is covered by this License only if the output, given its
162-content, constitutes a covered work. This License acknowledges your
163-rights of fair use or other equivalent, as provided by copyright law.
196+However, the Click license is not, in fact, available at that URL. It
197+apparently is now available at http://www.read.cs.ucla.edu/click/license .
198+To reduce future confusion should it move again, and given that the Click
199+license says it "shall be included in all copies" of covered works, I
200+reproduce it here (as well as in the distributed versions of the source
201+files):
164202
165- You may make, run and propagate covered works that you do not
166-convey, without conditions so long as your license otherwise remains
167-in force. You may convey covered works to others for the sole purpose
168-of having them make modifications exclusively for you, or provide you
169-with facilities for running those works, provided that you comply with
170-the terms of this License in conveying all material for which you do
171-not control copyright. Those thus making or running the covered works
172-for you must do so exclusively on your behalf, under your direction
173-and control, on terms that prohibit them from making any copies of
174-your copyrighted material outside their relationship with you.
203+ The Click License
175204
176- Conveying under any other circumstances is permitted solely under
177-the conditions stated below. Sublicensing is not allowed; section 10
178-makes it unnecessary.
205+ Permission is hereby granted, free of charge, to any person
206+ obtaining a copy of this software and associated documentation files
207+ (the "Software"), to deal in the Software without restriction,
208+ including without limitation the rights to use, copy, modify, merge,
209+ publish, distribute, sublicense, and/or sell copies of the Software,
210+ and to permit persons to whom the Software is furnished to do so,
211+ subject to the following conditions:
179212
180- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
213+ The above copyright notice and this permission notice shall be
214+ included in all copies or substantial portions of the Software.
181215
182- No covered work shall be deemed part of an effective technological
183-measure under any applicable law fulfilling obligations under article
184-11 of the WIPO copyright treaty adopted on 20 December 1996, or
185-similar laws prohibiting or restricting circumvention of such
186-measures.
216+ The name and trademarks of copyright holders may NOT be used in
217+ advertising or publicity pertaining to the Software without specific,
218+ written prior permission. Title to copyright in this Software and
219+ any associated documentation will at all times remain with copyright
220+ holders.
187221
188- When you convey a covered work, you waive any legal power to forbid
189-circumvention of technological measures to the extent such circumvention
190-is effected by exercising rights under this License with respect to
191-the covered work, and you disclaim any intention to limit operation or
192-modification of the work as a means of enforcing, against the work's
193-users, your or third parties' legal rights to forbid circumvention of
194-technological measures.
222+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
223+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
224+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
225+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
226+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
227+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
228+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
195229
196- 4. Conveying Verbatim Copies.
230+The t1asm program itself (t1asm/t1asm.c) contains the following notice:
197231
198- You may convey verbatim copies of the Program's source code as you
199-receive it, in any medium, provided that you conspicuously and
200-appropriately publish on each copy an appropriate copyright notice;
201-keep intact all notices stating that this License and any
202-non-permissive terms added in accord with section 7 apply to the code;
203-keep intact all notices of the absence of any warranty; and give all
204-recipients a copy of this License along with the Program.
232+ Copyright (c) 1992 by I. Lee Hetherington, all rights reserved.
205233
206- You may charge any price or no price for each copy that you convey,
207-and you may offer support or warranty protection for a fee.
234+ Permission is hereby granted to use, modify, and distribute this program
235+ for any purpose provided this copyright notice and the one below remain
236+ intact.
208237
209- 5. Conveying Modified Source Versions.
238+ I. Lee Hetherington (ilh@lcs.mit.edu)
210239
211- You may convey a work based on the Program, or the modifications to
212-produce it from the Program, in the form of source code under the
213-terms of section 4, provided that you also meet all of these conditions:
240+ 1.5 and later versions contain changes by, and are maintained by,
241+ Eddie Kohler <ekohler@gmail.com>.
214242
215- a) The work must carry prominent notices stating that you modified
216- it, and giving a relevant date.
217-
218- b) The work must carry prominent notices stating that it is
219- released under this License and any conditions added under section
220- 7. This requirement modifies the requirement in section 4 to
221- "keep intact all notices".
222-
223- c) You must license the entire work, as a whole, under this
224- License to anyone who comes into possession of a copy. This
225- License will therefore apply, along with any applicable section 7
226- additional terms, to the whole of the work, and all its parts,
227- regardless of how they are packaged. This License gives no
228- permission to license the work in any other way, but it does not
229- invalidate such permission if you have separately received it.
230-
231- d) If the work has interactive user interfaces, each must display
232- Appropriate Legal Notices; however, if the Program has interactive
233- interfaces that do not display Appropriate Legal Notices, your
234- work need not make them do so.
235-
236- A compilation of a covered work with other separate and independent
237-works, which are not by their nature extensions of the covered work,
238-and which are not combined with it such as to form a larger program,
239-in or on a volume of a storage or distribution medium, is called an
240-"aggregate" if the compilation and its resulting copyright are not
241-used to limit the access or legal rights of the compilation's users
242-beyond what the individual works permit. Inclusion of a covered work
243-in an aggregate does not cause this License to apply to the other
244-parts of the aggregate.
245-
246- 6. Conveying Non-Source Forms.
247-
248- You may convey a covered work in object code form under the terms
249-of sections 4 and 5, provided that you also convey the
250-machine-readable Corresponding Source under the terms of this License,
251-in one of these ways:
252-
253- a) Convey the object code in, or embodied in, a physical product
254- (including a physical distribution medium), accompanied by the
255- Corresponding Source fixed on a durable physical medium
256- customarily used for software interchange.
257-
258- b) Convey the object code in, or embodied in, a physical product
259- (including a physical distribution medium), accompanied by a
260- written offer, valid for at least three years and valid for as
261- long as you offer spare parts or customer support for that product
262- model, to give anyone who possesses the object code either (1) a
263- copy of the Corresponding Source for all the software in the
264- product that is covered by this License, on a durable physical
265- medium customarily used for software interchange, for a price no
266- more than your reasonable cost of physically performing this
267- conveying of source, or (2) access to copy the
268- Corresponding Source from a network server at no charge.
269-
270- c) Convey individual copies of the object code with a copy of the
271- written offer to provide the Corresponding Source. This
272- alternative is allowed only occasionally and noncommercially, and
273- only if you received the object code with such an offer, in accord
274- with subsection 6b.
275-
276- d) Convey the object code by offering access from a designated
277- place (gratis or for a charge), and offer equivalent access to the
278- Corresponding Source in the same way through the same place at no
279- further charge. You need not require recipients to copy the
280- Corresponding Source along with the object code. If the place to
281- copy the object code is a network server, the Corresponding Source
282- may be on a different server (operated by you or a third party)
283- that supports equivalent copying facilities, provided you maintain
284- clear directions next to the object code saying where to find the
285- Corresponding Source. Regardless of what server hosts the
286- Corresponding Source, you remain obligated to ensure that it is
287- available for as long as needed to satisfy these requirements.
288-
289- e) Convey the object code using peer-to-peer transmission, provided
290- you inform other peers where the object code and Corresponding
291- Source of the work are being offered to the general public at no
292- charge under subsection 6d.
293-
294- A separable portion of the object code, whose source code is excluded
295-from the Corresponding Source as a System Library, need not be
296-included in conveying the object code work.
297-
298- A "User Product" is either (1) a "consumer product", which means any
299-tangible personal property which is normally used for personal, family,
300-or household purposes, or (2) anything designed or sold for incorporation
301-into a dwelling. In determining whether a product is a consumer product,
302-doubtful cases shall be resolved in favor of coverage. For a particular
303-product received by a particular user, "normally used" refers to a
304-typical or common use of that class of product, regardless of the status
305-of the particular user or of the way in which the particular user
306-actually uses, or expects or is expected to use, the product. A product
307-is a consumer product regardless of whether the product has substantial
308-commercial, industrial or non-consumer uses, unless such uses represent
309-the only significant mode of use of the product.
310-
311- "Installation Information" for a User Product means any methods,
312-procedures, authorization keys, or other information required to install
313-and execute modified versions of a covered work in that User Product from
314-a modified version of its Corresponding Source. The information must
315-suffice to ensure that the continued functioning of the modified object
316-code is in no case prevented or interfered with solely because
317-modification has been made.
318-
319- If you convey an object code work under this section in, or with, or
320-specifically for use in, a User Product, and the conveying occurs as
321-part of a transaction in which the right of possession and use of the
322-User Product is transferred to the recipient in perpetuity or for a
323-fixed term (regardless of how the transaction is characterized), the
324-Corresponding Source conveyed under this section must be accompanied
325-by the Installation Information. But this requirement does not apply
326-if neither you nor any third party retains the ability to install
327-modified object code on the User Product (for example, the work has
328-been installed in ROM).
329-
330- The requirement to provide Installation Information does not include a
331-requirement to continue to provide support service, warranty, or updates
332-for a work that has been modified or installed by the recipient, or for
333-the User Product in which it has been modified or installed. Access to a
334-network may be denied when the modification itself materially and
335-adversely affects the operation of the network or violates the rules and
336-protocols for communication across the network.
337-
338- Corresponding Source conveyed, and Installation Information provided,
339-in accord with this section must be in a format that is publicly
340-documented (and with an implementation available to the public in
341-source code form), and must require no special password or key for
342-unpacking, reading or copying.
343-
344- 7. Additional Terms.
345-
346- "Additional permissions" are terms that supplement the terms of this
347-License by making exceptions from one or more of its conditions.
348-Additional permissions that are applicable to the entire Program shall
349-be treated as though they were included in this License, to the extent
350-that they are valid under applicable law. If additional permissions
351-apply only to part of the Program, that part may be used separately
352-under those permissions, but the entire Program remains governed by
353-this License without regard to the additional permissions.
354-
355- When you convey a copy of a covered work, you may at your option
356-remove any additional permissions from that copy, or from any part of
357-it. (Additional permissions may be written to require their own
358-removal in certain cases when you modify the work.) You may place
359-additional permissions on material, added by you to a covered work,
360-for which you have or can give appropriate copyright permission.
361-
362- Notwithstanding any other provision of this License, for material you
363-add to a covered work, you may (if authorized by the copyright holders of
364-that material) supplement the terms of this License with terms:
365-
366- a) Disclaiming warranty or limiting liability differently from the
367- terms of sections 15 and 16 of this License; or
368-
369- b) Requiring preservation of specified reasonable legal notices or
370- author attributions in that material or in the Appropriate Legal
371- Notices displayed by works containing it; or
372-
373- c) Prohibiting misrepresentation of the origin of that material, or
374- requiring that modified versions of such material be marked in
375- reasonable ways as different from the original version; or
376-
377- d) Limiting the use for publicity purposes of names of licensors or
378- authors of the material; or
379-
380- e) Declining to grant rights under trademark law for use of some
381- trade names, trademarks, or service marks; or
382-
383- f) Requiring indemnification of licensors and authors of that
384- material by anyone who conveys the material (or modified versions of
385- it) with contractual assumptions of liability to the recipient, for
386- any liability that these contractual assumptions directly impose on
387- those licensors and authors.
388-
389- All other non-permissive additional terms are considered "further
390-restrictions" within the meaning of section 10. If the Program as you
391-received it, or any part of it, contains a notice stating that it is
392-governed by this License along with a term that is a further
393-restriction, you may remove that term. If a license document contains
394-a further restriction but permits relicensing or conveying under this
395-License, you may add to a covered work material governed by the terms
396-of that license document, provided that the further restriction does
397-not survive such relicensing or conveying.
398-
399- If you add terms to a covered work in accord with this section, you
400-must place, in the relevant source files, a statement of the
401-additional terms that apply to those files, or a notice indicating
402-where to find the applicable terms.
403-
404- Additional terms, permissive or non-permissive, may be stated in the
405-form of a separately written license, or stated as exceptions;
406-the above requirements apply either way.
407-
408- 8. Termination.
409-
410- You may not propagate or modify a covered work except as expressly
411-provided under this License. Any attempt otherwise to propagate or
412-modify it is void, and will automatically terminate your rights under
413-this License (including any patent licenses granted under the third
414-paragraph of section 11).
415-
416- However, if you cease all violation of this License, then your
417-license from a particular copyright holder is reinstated (a)
418-provisionally, unless and until the copyright holder explicitly and
419-finally terminates your license, and (b) permanently, if the copyright
420-holder fails to notify you of the violation by some reasonable means
421-prior to 60 days after the cessation.
422-
423- Moreover, your license from a particular copyright holder is
424-reinstated permanently if the copyright holder notifies you of the
425-violation by some reasonable means, this is the first time you have
426-received notice of violation of this License (for any work) from that
427-copyright holder, and you cure the violation prior to 30 days after
428-your receipt of the notice.
429-
430- Termination of your rights under this section does not terminate the
431-licenses of parties who have received copies or rights from you under
432-this License. If your rights have been terminated and not permanently
433-reinstated, you do not qualify to receive new licenses for the same
434-material under section 10.
435-
436- 9. Acceptance Not Required for Having Copies.
437-
438- You are not required to accept this License in order to receive or
439-run a copy of the Program. Ancillary propagation of a covered work
440-occurring solely as a consequence of using peer-to-peer transmission
441-to receive a copy likewise does not require acceptance. However,
442-nothing other than this License grants you permission to propagate or
443-modify any covered work. These actions infringe copyright if you do
444-not accept this License. Therefore, by modifying or propagating a
445-covered work, you indicate your acceptance of this License to do so.
446-
447- 10. Automatic Licensing of Downstream Recipients.
448-
449- Each time you convey a covered work, the recipient automatically
450-receives a license from the original licensors, to run, modify and
451-propagate that work, subject to this License. You are not responsible
452-for enforcing compliance by third parties with this License.
453-
454- An "entity transaction" is a transaction transferring control of an
455-organization, or substantially all assets of one, or subdividing an
456-organization, or merging organizations. If propagation of a covered
457-work results from an entity transaction, each party to that
458-transaction who receives a copy of the work also receives whatever
459-licenses to the work the party's predecessor in interest had or could
460-give under the previous paragraph, plus a right to possession of the
461-Corresponding Source of the work from the predecessor in interest, if
462-the predecessor has it or can get it with reasonable efforts.
463-
464- You may not impose any further restrictions on the exercise of the
465-rights granted or affirmed under this License. For example, you may
466-not impose a license fee, royalty, or other charge for exercise of
467-rights granted under this License, and you may not initiate litigation
468-(including a cross-claim or counterclaim in a lawsuit) alleging that
469-any patent claim is infringed by making, using, selling, offering for
470-sale, or importing the Program or any portion of it.
471-
472- 11. Patents.
473-
474- A "contributor" is a copyright holder who authorizes use under this
475-License of the Program or a work on which the Program is based. The
476-work thus licensed is called the contributor's "contributor version".
477-
478- A contributor's "essential patent claims" are all patent claims
479-owned or controlled by the contributor, whether already acquired or
480-hereafter acquired, that would be infringed by some manner, permitted
481-by this License, of making, using, or selling its contributor version,
482-but do not include claims that would be infringed only as a
483-consequence of further modification of the contributor version. For
484-purposes of this definition, "control" includes the right to grant
485-patent sublicenses in a manner consistent with the requirements of
486-this License.
487-
488- Each contributor grants you a non-exclusive, worldwide, royalty-free
489-patent license under the contributor's essential patent claims, to
490-make, use, sell, offer for sale, import and otherwise run, modify and
491-propagate the contents of its contributor version.
492-
493- In the following three paragraphs, a "patent license" is any express
494-agreement or commitment, however denominated, not to enforce a patent
495-(such as an express permission to practice a patent or covenant not to
496-sue for patent infringement). To "grant" such a patent license to a
497-party means to make such an agreement or commitment not to enforce a
498-patent against the party.
499-
500- If you convey a covered work, knowingly relying on a patent license,
501-and the Corresponding Source of the work is not available for anyone
502-to copy, free of charge and under the terms of this License, through a
503-publicly available network server or other readily accessible means,
504-then you must either (1) cause the Corresponding Source to be so
505-available, or (2) arrange to deprive yourself of the benefit of the
506-patent license for this particular work, or (3) arrange, in a manner
507-consistent with the requirements of this License, to extend the patent
508-license to downstream recipients. "Knowingly relying" means you have
509-actual knowledge that, but for the patent license, your conveying the
510-covered work in a country, or your recipient's use of the covered work
511-in a country, would infringe one or more identifiable patents in that
512-country that you have reason to believe are valid.
513-
514- If, pursuant to or in connection with a single transaction or
515-arrangement, you convey, or propagate by procuring conveyance of, a
516-covered work, and grant a patent license to some of the parties
517-receiving the covered work authorizing them to use, propagate, modify
518-or convey a specific copy of the covered work, then the patent license
519-you grant is automatically extended to all recipients of the covered
520-work and works based on it.
521-
522- A patent license is "discriminatory" if it does not include within
523-the scope of its coverage, prohibits the exercise of, or is
524-conditioned on the non-exercise of one or more of the rights that are
525-specifically granted under this License. You may not convey a covered
526-work if you are a party to an arrangement with a third party that is
527-in the business of distributing software, under which you make payment
528-to the third party based on the extent of your activity of conveying
529-the work, and under which the third party grants, to any of the
530-parties who would receive the covered work from you, a discriminatory
531-patent license (a) in connection with copies of the covered work
532-conveyed by you (or copies made from those copies), or (b) primarily
533-for and in connection with specific products or compilations that
534-contain the covered work, unless you entered into that arrangement,
535-or that patent license was granted, prior to 28 March 2007.
536-
537- Nothing in this License shall be construed as excluding or limiting
538-any implied license or other defenses to infringement that may
539-otherwise be available to you under applicable patent law.
540-
541- 12. No Surrender of Others' Freedom.
542-
543- If conditions are imposed on you (whether by court order, agreement or
544-otherwise) that contradict the conditions of this License, they do not
545-excuse you from the conditions of this License. If you cannot convey a
546-covered work so as to satisfy simultaneously your obligations under this
547-License and any other pertinent obligations, then as a consequence you may
548-not convey it at all. For example, if you agree to terms that obligate you
549-to collect a royalty for further conveying from those to whom you convey
550-the Program, the only way you could satisfy both those terms and this
551-License would be to refrain entirely from conveying the Program.
552-
553- 13. Use with the GNU Affero General Public License.
554-
555- Notwithstanding any other provision of this License, you have
556-permission to link or combine any covered work with a work licensed
557-under version 3 of the GNU Affero General Public License into a single
558-combined work, and to convey the resulting work. The terms of this
559-License will continue to apply to the part which is the covered work,
560-but the special requirements of the GNU Affero General Public License,
561-section 13, concerning interaction through a network will apply to the
562-combination as such.
563-
564- 14. Revised Versions of this License.
565-
566- The Free Software Foundation may publish revised and/or new versions of
567-the GNU General Public License from time to time. Such new versions will
568-be similar in spirit to the present version, but may differ in detail to
569-address new problems or concerns.
570-
571- Each version is given a distinguishing version number. If the
572-Program specifies that a certain numbered version of the GNU General
573-Public License "or any later version" applies to it, you have the
574-option of following the terms and conditions either of that numbered
575-version or of any later version published by the Free Software
576-Foundation. If the Program does not specify a version number of the
577-GNU General Public License, you may choose any version ever published
578-by the Free Software Foundation.
579-
580- If the Program specifies that a proxy can decide which future
581-versions of the GNU General Public License can be used, that proxy's
582-public statement of acceptance of a version permanently authorizes you
583-to choose that version for the Program.
584-
585- Later license versions may give you additional or different
586-permissions. However, no additional obligations are imposed on any
587-author or copyright holder as a result of your choosing to follow a
588-later version.
589-
590- 15. Disclaimer of Warranty.
591-
592- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
593-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
594-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
595-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
596-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
597-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
598-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
599-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
600-
601- 16. Limitation of Liability.
602-
603- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
604-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
605-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
606-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
607-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
608-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
609-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
610-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
611-SUCH DAMAGES.
612-
613- 17. Interpretation of Sections 15 and 16.
614-
615- If the disclaimer of warranty and limitation of liability provided
616-above cannot be given local legal effect according to their terms,
617-reviewing courts shall apply local law that most closely approximates
618-an absolute waiver of all civil liability in connection with the
619-Program, unless a warranty or assumption of liability accompanies a
620-copy of the Program in return for a fee.
621-
622- END OF TERMS AND CONDITIONS
623-
624- How to Apply These Terms to Your New Programs
625-
626- If you develop a new program, and you want it to be of the greatest
627-possible use to the public, the best way to achieve this is to make it
628-free software which everyone can redistribute and change under these terms.
629-
630- To do so, attach the following notices to the program. It is safest
631-to attach them to the start of each source file to most effectively
632-state the exclusion of warranty; and each file should have at least
633-the "copyright" line and a pointer to where the full notice is found.
634-
635- <one line to give the program's name and a brief idea of what it does.>
636- Copyright (C) <year> <name of author>
637-
638- This program is free software: you can redistribute it and/or modify
639- it under the terms of the GNU General Public License as published by
640- the Free Software Foundation, either version 3 of the License, or
641- (at your option) any later version.
642-
643- This program is distributed in the hope that it will be useful,
644- but WITHOUT ANY WARRANTY; without even the implied warranty of
645- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
646- GNU General Public License for more details.
647-
648- You should have received a copy of the GNU General Public License
649- along with this program. If not, see <http://www.gnu.org/licenses/>.
650-
651-Also add information on how to contact you by electronic and paper mail.
652-
653- If the program does terminal interaction, make it output a short
654-notice like this when it starts in an interactive mode:
655-
656- <program> Copyright (C) <year> <name of author>
657- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
658- This is free software, and you are welcome to redistribute it
659- under certain conditions; type `show c' for details.
660-
661-The hypothetical commands `show w' and `show c' should show the appropriate
662-parts of the General Public License. Of course, your program's commands
663-might be different; for a GUI interface, you would use an "about box".
664-
665- You should also get your employer (if you work as a programmer) or school,
666-if any, to sign a "copyright disclaimer" for the program, if necessary.
667-For more information on this, and how to apply and follow the GNU GPL, see
668-<http://www.gnu.org/licenses/>.
669-
670- The GNU General Public License does not permit incorporating your program
671-into proprietary programs. If your program is a subroutine library, you
672-may consider it more useful to permit linking proprietary applications with
673-the library. If this is what you want to do, use the GNU Lesser General
674-Public License instead of this License. But first, please read
675-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
--- trunk/Makefile.am (revision 250)
+++ trunk/Makefile.am (revision 251)
@@ -207,7 +207,8 @@
207207
208208 # FILENAMES FOR AUTOTOOLS
209209
210-EXTRA_DIST:=README.en README.jp \
210+EXTRA_DIST:=COPYING.GPL3 \
211+ README.en README.jp \
211212 PKGBUILD.in \
212213 doc/demo.tex doc/proofs.tex doc/usermanual.tex doc/bkstyle.tex \
213214 $(wildcard $(mvp)/fsc/*.fsc) \
Show on old repository browser