Changes to vpl2vpl between first (unnumbered) release and release 0.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When I first wrote vpl2vpl I was under the impression that the vpl file output by afm2tfm could never contain accented character definitions. The first (unnumbered) release of vpl2vpl thus did not implement the -b option allowed for mkt1font (to block the use of predefined accented characters). I have since become aware that in the rather rare case of an afm file containing composite character information, afm2tfm uses that information to build definitions of accented characters; I have therefore introduced a -b option in version 0.1. There were two bugs in the coding dealing with the -s option in the first version of vpl2vpl. First, the shrink-factor specified by the user was incorrectly applied to the underdot accent as well as to dropped superscript accents. Second, the shrink-factor was not correctly scaled in terms of the value of DESIGNUNITS (this chiefly affected Computer Modern fonts). Both of these have been fixed in version 0.1. Another bug affected those characters (quotesingle, quotedbl, backslash, underscore, braceleft, bar and braceright) which dvips.enc places in the lower half of the character set, but which vpl2vpl removes to make room for the normal TeX inhabitants of their "slots"; in the first version of the program it was not possible to include these characters in the output font. This has also been fixed in version 0.1. The handling of LIGTABLE information controlling kerning etc. has been improved, to eliminate repeated instructions and "orphaned" instructions with no LABEL. In the first version of vpl2vpl I deliberately did not allow for double superscript accents on tall characters such as capital letters, on the grounds that this would be bad typographic practice. A specific request for one such character has led me to modify version 0.1 of the program to make the creation of such characters possible, but I would still argue against their use. Some minor improvements have been made to the code in various areas, including checking for inappropriate input, calculation of italic correction for characters with superscript accents, and placing of dropped superscript accents. (However, it is likely that such accents will still sometimes require manual intervention.) Changes to mkt1font between first (unnumbered) release and release 0.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In the first release of mkt1font, kerning information for predefined accented characters was taken from the input font, even if the -b option had been specified to force the redefinition of such characters. This has been fixed in version 0.1: if the -b option is used, kerns for characters such as "eacute" are generalised from the kerns for "e" in just the same way as happens for "emacron" etc. Similarly, predefined accented characters eliminated by the -b option used to retain "ghost" entries among the unencoded characters in the afm file. This too has been fixed in version 0.1. As of version 0.1, any composite character definitions contained in the afm file of the input font are eliminated from the output font, since they will almost certainly be incomplete, and (if the user has specified -b) will probably be wrong as well. Version 0.1 can now properly process input fonts using MS-DOS file format (with newline represented by CR/LF). It can also process fonts in which the character "|" is used in the names of the frequently used "noaccess def" and "noaccess put" definitions (previously this fell foul of Perl's regular expression handler). As with vpl2vpl, I have modified version 0.1 of mkt1font to permit the creation of tall characters bearing double superscript accents, though I do not recommend the use of such characters. The "FontBBox" entries in the afm and pfb files now reflect any increase in the maximum height or depth of characters in the output font. Various other minor improvements have been made to the code, including the placing of dropped superscript accents. (As with vpl2vpl, however, it is likely that such accents will still sometimes require manual intervention.) Changes to vpl2vpl and mkt1font between release 0.1 and release 0.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A. Changes common to both programs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I have implemented the candrabindu ("moon-dot") accent sometimes used in Indian-language material. This is achieved by overprinting a breve with a dotaccent; a new command-line option (-c) has been introduced to allow for font-specific adjustments in the placing of the dotaccent. The user's command-line is now stored as a comment at the head of the output file(s). The constraint on the ordering of definitions in a definition file has been removed: it is no longer necessary to ensure that a character is defined before it is used. Digraphs are now implemented: if the character specified as the "accent" in a definition is not in fact a valid accent character, the definition is interpreted as a request for a digraph formed from the "character" followed by the "accent". A bug which placed superscript accents incorrectly over tall characters already bearing "under" accents has been fixed. The vertical positioning of "under" accents has been adjusted: they are now placed slightly lower than previously. B. Changes to vpl2vpl ~~~~~~~~~~~~~~~~~~~~~ Fixed a bug which resulted in some accents in small caps fonts being positioned at the wrong height. Fixed a bug which resulted in small amounts of LIGTABLE information being lost. C. Changes to mkt1font ~~~~~~~~~~~~~~~~~~~~~~ The internal organisation of the program has been cleaned up in a number of respects. In particular, various subroutines are now called with the appropriate formal parameters, rather than relying on the existence of equivalent global variables; the fetching and storing of character metric information is tidier and more efficient; and kerning information is dealt with in the course of the main program loop, rather than in a private (double) loop afterwards. The -s option allowing "under" accents to be shrunk by a specified factor, which was previously available only in vpl2vpl, has now been implemented in mkt1font also. The output afm file previously sometimes contained spurious entries for unencoded characters that duplicated items in the list of encoded characters. This has been fixed. Despite the fix introduced in version 0.1, some predefined kerning information continued to find its way into the afm file even when the -b option was specified to block the use of predefined accented characters. A new, improved fix is now in place to prevent this. An error in a regular expression which generated some undesirable kerns has also been corrected. The "FontBBox" entries in the afm and pfb files now reflect any increase in the maximum width of characters in the output font, as well as increases in their maximum height or depth. Fixed a bug causing the underbar accent to be too long. Fixed a bug causing "under" accents to be assigned the wrong depth: this could result in the bottom of the accent failing to print properly. Changes to vpl2vpl and mkt1font between release 0.2 and release 0.21 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Changes common to both programs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The vertical positioning of "under" accents has been adjusted again (the previous adjustment was a little too enthusiastic). They have been raised slightly. The height at which characters are reckoned to be so tall that superscript accents placed on them must be raised above the normal level has been increased slightly (from 1.1 x xheight to 1.15 x xheight). Changes to vpl2vpl and mkt1font between release 0.21 and release 0.211 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A. Changes to vpl2vpl ~~~~~~~~~~~~~~~~~~~~~ A single minor change has been made to vpl2vpl: this has been necessitated by a change in the format of the LIGTABLE information produced by version 8.1 of afm2tfm, which now adds identificatory comments to lines referring to characters by means of octal notation. Vpl2vpl strips out such comments. B. Changes to mkt1font ~~~~~~~~~~~~~~~~~~~~~~ Minor bugfixes have been put in place: extra spaces in the the "noaccess def" and "noaccess put" definitions are now permitted, and so is a character named ".null". An error message has been improved. Changes to vpl2vpl and mkt1font between release 0.211 and release 0.212 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A. Changes to vpl2vpl ~~~~~~~~~~~~~~~~~~~~~ Fixed a bug in the "double superscript accent on small caps character" routine. B. Changes to mkt1font ~~~~~~~~~~~~~~~~~~~~~~ Fixed a bug which produced incorrect output in cases where the character to be accented is defined as blank (e.g. space). Changes to vpl2vpl and mkt1font between release 0.212 and release 0.22 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Changes common to both programs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The programs now recognise "commaaccent" as a valid subscript accent. Note that they cannot replace this subscript with the superscript form used with the letter "g" (any more than they can substitute the apostrophe-like form of the caron that is used with "L", "d", "l" and "t"). Note also that as there is no position for this accent in either the standard TeX encoding or the dvips.enc variant, vpl2vpl will not actually be able to use it to build new characters without further modification. In the case where the definition file specifies, say, "z overdot" and the font contains a predefined version named "zdotaccent", it previously happened that the output font contained both characters. This has been fixed: now only the character requested in the definition file exists in the output.