diff options
Diffstat (limited to 'fonts/greek/ibygrk')
64 files changed, 5507 insertions, 0 deletions
diff --git a/fonts/greek/ibygrk/COPYING b/fonts/greek/ibygrk/COPYING new file mode 100644 index 0000000000..5b6e7c66c2 --- /dev/null +++ b/fonts/greek/ibygrk/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/fonts/greek/ibygrk/NEWS b/fonts/greek/ibygrk/NEWS new file mode 100644 index 0000000000..726c90f8e1 --- /dev/null +++ b/fonts/greek/ibygrk/NEWS @@ -0,0 +1,43 @@ +============================================================ + Ibycus4 -- News +============================================================ + +2004-10-27, version 4.5 + + Changed directory structure to comply with TDS 1.1. + + The bold Ibycus font, too, is now available in Postscript + format. It was converted from Metafont to Type1 by Harald + Harders <h.harders@tu-bs.de>, and is available as + fibb84.pfb + fibb84.afm. A record for this font has been + added to the map file iby.map. + + Font file IbycusHTG-Regular.pfb renamed to fibr84.pfb, to + comply with Karl-Berry-scheme; map file changed + accordingly. The font should now work flawlessly with + Acrobat Reader 5; special thanks to Peter Heslin and Ralf + Stubner, who succeeded to find and fix a long-standing + bug. + + Fixed definition of the macro \greek, so as to work + also with default font encodings other than OT1. + + New text-generating command \textgreek as a counterpart to + the declaration \greek. + + Changed font definition file Uibycus.fd: + * only those fonts are used, that exist actually as Type1; + * fonts are declared as scalable; + * font definitions now work with VTeX, too. + + Regular Ibycus font is used as a 1:1 substitute for the + MF font now, without going via a virtual font. + Virtual fonts and related font metrics are gone. + + Proper identification messages (\ProvidesPackage) in all + LaTeX macro files + + Patched pssetiby.tex so that only Type1 fonts are used, + and that it works with VTeX. + +-- finis diff --git a/fonts/greek/ibygrk/README b/fonts/greek/ibygrk/README new file mode 100644 index 0000000000..7b46050a41 --- /dev/null +++ b/fonts/greek/ibygrk/README @@ -0,0 +1,83 @@ +============================================================ + Ibycus4, version 4.5 as of 2004-10-27 +============================================================ + Pierre MacKay <mackay at cs.washington.edu> + Walter Schmidt <w-a-schmidt at gmx.net> + + +Overview +-------- +Ibycus4 is a Greek typeface, based on Silvio Levy's +realization of a classic Didot cut of Greek type from around +1800. It is accompanied by a set of macro packages to use +it with Plain TeX or LaTeX 2e. + +See the file NEWS for a summary of the latest changes. + + +Installing +---------- +The below installation instructions assume a TDS-compliant +TeX system, in particular teTeX or MikTeX. The directory +name "texmf" refers to the root directory of a TDS directory +tree. In case your TeX systems has more than one directory +tree, its documentation should tell you where to install new +files. + +In case you have installed a previous release of the Ibycus4 +system, delete + +* the directory + texmf/fonts/vf/public/ibycus/ + +* the file + texmf/dvips/iby.map + +* and the files + texmf/fonts/tfm/public/ibycus4/fibo.pl + texmf/fonts/tfm/public/ibycus4/fibo.tfm + texmf/fonts/tfm/public/ibycus4/fibr.pl + texmf/fonts/tfm/public/ibycus4/fibr.tfm + texmf/fonts/type1/public/ibycushtg-regular.pfb (or .pfa) + +before installing the new release. + +To install Ibycus 4, v4.5, + + * Copy the everything from the directories doc, fonts and + tex of the distribution to the corresponding directories + texmf/doc, texmf/fonts and texmf/tex of your TeX system. + + * Update the file name data base of your TeX system (if + applicable), + + * Add the information from the font mapping file + texmf/fonts/map/dvips/ibycus4/iby.map to the configuration + of dvips, pdfTeX and related programs. + See the documentation of your TeX system for the details. + In particular, your TeX system may expect map files in a + different directory such as texmf/dvips/config; move + iby.map to that directory, if necessary. + Make sure that there is no further file named "iby.map" + from a previous Ibycus version around! + +Finally read the text file README, which should have been +installed in the directory texmf/doc/generic/ibycus4/ of the +TDS directory tree. It describes the usage of the Ibycus4 +system. + + +License +------- + + Copyright (c) 1992--2004 Pierre A. MacKay + +See the file COPYING (GNU General Public License) for +license conditions. As a special exception, permission is +granted to include the font programs fibr84.pfb and +fibb84.pfb in a Postscript or PDF document that contains +text to be displayed or printed using these fonts, +regardless of the conditions or license applying to the +document itself. + +== finis diff --git a/fonts/greek/ibygrk/doc/generic/ibycus4/README b/fonts/greek/ibygrk/doc/generic/ibycus4/README new file mode 100644 index 0000000000..a6d7194649 --- /dev/null +++ b/fonts/greek/ibygrk/doc/generic/ibycus4/README @@ -0,0 +1,361 @@ +====================================================================== + Ibycus4, version 4.5 as of 2004-10-27 +====================================================================== + Pierre A. MacKay + Department of Classics + University of Washington + mackay@cs.washington.edu + + Walter Schmidt + w-a-schmidt@gmx.net + + +Overview +--------- + +Like its predecessors, Ibycus4 is based on Silvio Levy's +realization of a classic Didot cut of Greek type from around 1800. +Ibycus4 is as close as possible to Ibycus3 in all possible +respects, but there are some improved set widths and pair-kernings +which might clobber old carefully adjusted text spacings +such as Alexandrian shaped poetry. + + +Plain TeX usage +--------------- + + \input ibycus4 % to use MF fonts, at fixed sizes +or + \input ibycusps % to use scalable Type1 fonts + +then + \setgreek10/12 (or other reasonable combination + of pointsize and leading) +then + Latin text \GK{}a)rxai=a gra'mmata\RM{} Latin again. + +NOTE that the ) is a smooth breathing, not a parenthesis. + + + +LaTeX2e usage +------------ + + \usepackage{ibycus4} % to use MF fonts, at fixed sizes +or + \usepackage{psibycus} % to use scalable Type1 fonts +then + Latin text {\greek{}a)rxai=a gra'mmata} Latin again. + +Note the outer braces to keep the font change local. +Alternatively, use the text-generating command \textgreek, +which was introduced with version 4.5: + + Latin text \textgreek{a)rxai=a gra'mmata} Latin again. + +Greek text will honor size-changing commands as well as +switching to the bold font series (\bfseries, \textbf}. + + + +LaTeX2e usage with Babel +------------------------ +Alternatively, the Ibycus fonts can be used in LaTeX via the +Babel system. Beside the Babel core, which is part of any +LaTeX system, this requires the macros of the "Ibycus-Babel" +iterface; see + + <CTAN:fonts/greek/package-babel/ibycus-babel/>. + +In contrast to the macros distributed with the fonts, this +newer approach supports proper hypehantion in Greek text +passages. + + + +The TeX macro files and the input conventions +--------------------------------------------- + +$TEXMF/tex/generic/ibycus4/ibycus4.tex + + The main package file for plain TeX + +$TEXMF/tex/generic/ibycus4/ibycusps.tex + + Ditto, using tne Type1 fonts + +$TEXMF/tex/generic/ibycus4/ibycus4.sty + + The main package file for LaTeX 2e + +$TEXMF/tex/generic/ibycus4/psibycus.sty + + Ditto, using the Type1 fonts + +$TEXMF/tex/generic/ibycus4/setiby4.tex + + Included by ibygrk.tex unless newnep format is running + +$TEXMF/tex/generic/ibycus4/pssetiby.tex + + ditto, using the Type1 fonts + +$TEXMF/tex/generic/ibycus4/tlgsqq.tex + + The name suggests the association with coding of the + Thesaurus Linguae Graecae. + + This file provides uniquely named macros for all combinations + of letter and accent, so that any invocation of the macro will + produce a sequence of characters corresponding with the + entries put into the TFM ligature table. These sequences may + always be used to generate accented characters. They are + based, with some slight modifications where David Packard's Ibycus + input coding seems too misleading, on the Ibycus adaptation of + TLG beta-code. + + For input coding, the parentheses, ) and ( are used for + breathings, ' (ASCII char '047--acute or single quote) and ` + (ASCII char '140--grave) are used for oxytone and barytone (to + avoid preemption of the usual TeX excape character) and = + (ASCII char '075) is used for perispomenon to avoid preemption + of the active tie character in plain.tex. + is used for + dieresis after u or i and for some other special characters. + | is used for iota subscript and ! (ASCII char '041--\bang) is + used to call out the "dot-under" convention for partially + preserved letters in manuscript or epigraphical texts. Order + is significant. Breathings or diereses come first, after the + affected letter, then accents, then iota subscript or \bang. + These codings represent the input coding convention, not the + mapping in the font itself. + + The digraphs, trigraphs etc. can be read from tlgsqq.tex + Postpositives fall into three order-dependent and + exclusive classes--only one from each class may be used + in any single accented cluster. + + 1 2 3 + nil nil nil + ( [asper] ' [oxytone] | [iota subscript] + ) [lenis] ` [barytone] ! [dot below letter] + + [other] = [perispomene] + + Some special digraphs are K+ Koppa, k+ koppa, C+ lunate Cigma, + c+ lunate cigma, s+ sampi (lowercase late form only) and s| which + forces a medial sigma. + << and >> give guillemets (not guillemots as Adobe + ornithologically supposes) and (( )) give single parentheses + though care must be taken that the first ( or ) is not + interpreted as a breathing. {((} and {))} are safe. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + NOTE: THE FOLLOWING CODINGS ARE NOT COMPATIBLE WITH IBYCUS3 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + I have tried to keep incompatible codings to the minimum + but the ibycus3 versions of the following were extremely + undesirable. These are all simplifications of ibycus3 coding. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + The mark of elision is ' or {'} (the form in braces may be + needed to prevent ' from being read as an accent). + Single quotes may be provided by ` {`} and ' {'}, (isolate them + in braces if necessary). Double quotes are `` {``} and + '' {''} (isolate in braces if necessary). < and > are the + angle brackets used for conjectural supplements. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +ibycus4.map + + This is {\em exactly} the same file as is used by METAFONT. + It is so structured that it can be read by either + TeX or Metafont. The mapping is very close to that of GreekKeys, + which is distributed for the Macintosh by the American + Philological Association. Other mappings can be created + in the same manner. + +$TEXMF/tex/generic/ibycus4/Uibycus4.fd + + Font definition file for LaTeX2e. + +$TEXMF/tex/generic/ibycus4/Uibycus.fd + + Ditto, using only those fonts that exist in type1 format + +$TEXMF/tex/generic/ibycus4/iby4extr.tex + + Access to some editorial symbols for classical editions. + + + +Example documents +----------------.. + +$TEXMF/doc/generic/ibycus4/ibycus4.ltx (for LaTeX 2e) +$TEXMF/doc/generic/ibycus4/psibycus.ltx (for LaTeX 2e) +$TEXMF/doc/generic/ibycus4/iby4text.tex (for Plain TeX) +$TEXMF/doc/generic/ibycus4/psibycus.tex (for Plain TeX) + + The exquisite little poem by Ibycus of Rhegium, until recently + almost the only thing known by him. (The Ibycus system + developed by David Packard is only indirectly named after + the poet. The direct inspiration was Packard's cat.) + +Note that the LaTeX2e exampls use the "traditional" Ibycus +macros, rather than the newer Ibycus-Babel interface. + + + +The METAFONT files +------------------ + +The METAFONT part of the package consists of a set of files which use +the original characters of Silvio Levy's greek fonts and combine them +in ways which reflect the increased capabilities of TeX and METAFONT +developed since Levy did the original greek for TeX. The Levy source +files can be got from one of the CTAN archives and placed in +$TEXMF/fonts/source/public/levy + where they will automatically become +accessible if you are using a TeX Directory Structure [TDS] layout of +files. If you are not using a file searching system like Karl Berry's +"kpathsea", see $TEXMF/fonts/source/public/ibycus4/ibycus4.mf for +hints on making the Levy source available. For directions on the +use and management of Karl Berry's path searching, consult "The TeX +Live Guide, version 2" by Sebastian Rahtz and Michael Goosens, in +{\it TUGboat}. Volume 18 (1997). Pages 81-112, especially pp. 87--9. +Web2c TeX for Unix systems, Thomas Esser's teTeX, and the Solaris package +referenced at http://smc.vnet.net/solaris_2.5.html all use Karl +Berry's path searching. + +Ibycus4 METAFONT files are in $TEXMF/fonts/source/public/ibycus4 + +The most significant changes are: + + 1. The large repertory of initial/medial sigma + letter pairs + is suppressed from the new fonts, and the new enhanced TFM + ligature scheme is used instead to provide for the automatic + differentiation between medial and final sigma. + + 2. The cells thus opened up in the font mapping are used for + a variety of additional characters: + + a. A full repertory of vowels with breathings and + barytone accents (many of these were absent from the + original). The various forms of long epsilon and + omicron with perispomene accent needed for early Attic + and similar local scripts are provided. + + b. Lunate sigma, digamma, koppa and sampi are + provided (the last in its lowercase late form + only, since earlier forms are rather problematic + and are virtually unused even in epigraphical texts). + + c. A simple iota subscript in a 0.5em character space + is provided at position '174 for use in unusual + groupings. For all normal usages three additional + occurences of the glyph are kerned (in the traditional + sense) far to the left so that they will fit under + alpha, eta and omega respectively. These characters + are called out automatically through the TeX TFM + ligature system, for which see below. The glyph under + eta is shortened slightly to give better clearance + under the left stem of lowercase eta. The iota + subscript glyph retains its simple form in 300dpi + renditions, and in any bitmap which drops below + 500dpi, but it thins out and develops a slight + rightward hook at 600dpi and above. + + d. The mechanism of drastic left kerning is also used + to set dots under letters which cannot be read + completely from the manuscript or stone. These dota + are likewise called out automatically through the TFM + ligature system. A final ! {\bang} after any letter + or letter with postpositive accents (except those + with iota subscripts) will produce the dotted form. + + e. Angle brackets, half brackets, double quotes, braces, + a dagger and a doubledagger are now provided (see + iby4extr.tex). + + 3. All characters have been named. The constructs + ASCII"A" and oct"000" appear only at lower levels + of programming. + + 4. Character spacing has been adjusted through kerning tables, + particularly around lowercase iota (file ibylig4.mf). + There is better separation between breathings and accents + (this has required a redesign of almost all accents) and + clearance between accent and base letter has been increased. + The perispomene has been restored to its traditional form with + a thick center and tapered ends, and the breathings have been + given shorter, tapered tails. The deep ink trap between the + bulb and tail of the breathings has been eliminated. Accents + over epsilon have been raised and slightly shortened to give + better clearance. The accents with diaeresis have been shifted + up and laterally to clear the dot they lean toward. + + 5. Font mapping is specified independently of other + parameters, in a distinct and separate file (file ibycus4.map). + In some cases it may be more effective to remap the font + than to struggle with TeX remapping. + + 6. A programming error which produced the wrong displacement + value with free-standing accents has been corrected. Accents + before uppercase vowels are kerned (in the traditional sense) + out left to a negative left side bearing of about one unit + (1/18em) unit so that their escapement does not leave + excessive space after the preceding word or at the start of a + line. They have also been properly pair-kerned with the + uppercase vowels. + +A new naming convention uses "ibycus4" wherever possible, and +the shorter string "iby4" where that would lead to ambiguity. +some of the individual METAFONT character files are simply +taged with the number 4. 8+3 filename compatibility is preserved. +(under protest and with difficulty). + +The names of PK and TFM files follow Karl Berry's font name convention +( 84 is the encoding for Ibycus 4). + +Foundry Facename Weights Variants Encoding_Variants DesignSize + +f ib [r], b r, o 84 [10], 9, 8 + +fibr84 fibo84 fibb84 + + with METAFONT design-size additions +fibr848 fibo848 fibb848 +fibr849 fibo849 fibb849 + +Driver files for the Bold Oblique variant can be provided but their use +is discouraged. These Didot-derived characters do not stand up well +to either boldfacing or obliqueing, and the combination is quite +unfortunate. The typewriter style originally offered with these +designs is quietly forgotten, although the code for it is still +embedded in Silvio Levy's source. + + +Type1 font files +---------------- + +Type1 font files reside in $TEXMF/fonts/type1/public/ibycus4: + +fibr84.pfb (corresponds to the MF font fibr84) +fibb84.pfb (corresponds to the MF font fibb84) + +There are no Type1 renditions of the 8pt and 9pt fonts yet. + + +License +------- + + Copyright (c) 1992--2004 Pierre A. MacKay + +See the file COPYING (GNU General Public License) for +license conditions. As a special exception, permission is +granted to include the font programs fibr84.pfb and +fibb84.pfb in a Postscript or PDF document that contains +text to be displayed or printed using these fonts, +regardless of the conditions or license applying to the +document itself. + + +== finis diff --git a/fonts/greek/ibygrk/doc/generic/ibycus4/iby4text.tex b/fonts/greek/ibygrk/doc/generic/ibycus4/iby4text.tex new file mode 100644 index 0000000000..00f38270ac --- /dev/null +++ b/fonts/greek/ibygrk/doc/generic/ibycus4/iby4text.tex @@ -0,0 +1,47 @@ +% iby4text.tex-- P.A. MacKay -- July 16, 1997 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +% An example of ibycus4 using plain TeX +% +% Text from D. L. Page, {\it Greek Melic Poets}, (Oxford, 1962), p. 148 +% accepting the emendations of Mehlhorn and Hermann. +% +\hsize 4in +\input ibycus4 +\setgreek11/14 +\let\!=\dagger + +\GK + +\centerline{IBUKOU TOU RHGINOU} + +\bigskip + +\leavevmode\llap{)=}Hri me`n ai(' te Kudw'niai + +mhli'des a)rdo'menai r(oa=n + +e)k pota'mwn i('na Parqe'nwn + +kh=pos a)kh'ratos, ai(' t' oi)nanqi'des + +au)co'menai skie'roisin u(f' e('rnesin + +oi)nare'ois qale'qoisin; e)moi` d' e)'ros + +ou)demi'an kata'koitos w('ran. + +<a)ll' a('>q' u(po` steropa=s fle'gwn + +Qrhi+'kios Bore'as a)i's|- + +\quad swn para` Ku'pridos a)zale'ais mani'aisin e)remno`s a)qambh`s + +e)gkrate'ws pedo'qen \!fla'sen\! + +h(mete'ras fre'nas. + +\RM + +\end diff --git a/fonts/greek/ibygrk/doc/generic/ibycus4/ibycus3.RME b/fonts/greek/ibygrk/doc/generic/ibycus4/ibycus3.RME new file mode 100644 index 0000000000..7f7f567238 --- /dev/null +++ b/fonts/greek/ibygrk/doc/generic/ibycus4/ibycus3.RME @@ -0,0 +1,231 @@ +[This is ./doc/fonts/ibycus3/tex/README + May 1992, revised Apr. 1994, revised for LaTeX2e Sep-Oct. 1995 + Final notes on Ibycus 3, May 30, 1966 ] + + ( THIS IS A TDS-CONFORMANT PACKAGE ) + +BE SURE THAT ibycus3.map HAS BEEN COPIED AS DESCRIBED BELOW + +A sample input file is provided in iby3text.tex or ibycus3.ltx + +PLAIN TeX USAGE: \input iby3text + + then: \setgreek10/12 (or other reasonable combination + of pointsize and leading) + + then: Latin text \GK{}a)rxai=a gra'mmata\RM{} Latin again. + + NOTE that the ) is a smooth breathing, not a parenthesis. + +LaTeX2e USAGE: \usepackage{ibycus3} + + then: Latin text {\greek{a)rxai=a gra'mmata}} Latin again. + (Note the double braces, there is a font change here.) + + change font size with the \fontsize macro, thus: + + \fontsize{14}{17pt}\selectfont + + +The TeX files in $TEXMF/tex/generic/ibycus3 together with the +METAFONT files in $TEXMF/fonts/source/public/ibycus3 +{\em especially ibycus3.map} are intended to provide a +reasonable degree of compatibility between David Packard Jr.'s +Ibycus/TLG system, and the TeX and METAFONT environment. These TeX +files may have to be moved to an appropriate branch directory of +$TEXMF/tex/ if you are not using Karl Berry's path-searching +or its equivalent. + +The package consists of a set of METAFONT files which use the original +characters of Silvio Levy's greek fonts (these can be got from +one of the CTAN archives and placed in $TEXMF/fonts/source/public/levy +if you are using a TeX Directory Structure [TDS] layout of files) +and combine them in ways which reflect the increased capabilities of TeX +and METAFONT developed since Levy did the original greek for TeX. +If you are not using a file searching system like Karl Berry's +"kpathsea", see $TEXMF/fonts/source/public/ibycus3/ibycus3.mf for +hints on making the levy source available + +Ibycus3 METAFONT files are in $TEXMF/fonts/source/public/ibycus3 + +The most significant changes are: + + 1. The large repertory of initial/medial sigma + letter pairs + is suppressed from the new fonts, and the new enhanced TFM + ligature scheme is used instead to provide for the automatic + differentiation between medial and final sigma. + + 2. The cells thus opened up in the font mapping are used for + a variety of additional characters: + + a. A full repertory of vowels with breathings and + barytone accents (absent from the original). + + b. Digamma, koppa and sampi (the last in lowercase + late form only, since earlier forms are rather + problematic and are virtually unused even in + epigraphical texts). + NOTE: there is still room for things like acrophonic + numerals, and perhaps the two markers used to + distinguish numeric from alphabetic use of the letters + ought to be provided. Another possibility is + special symbols for text-edition, such as double + brackets. (Editor supplements can be done + using the characters defined in iby3extr.tex). + + Iota subscript retains its simple form in 300dpi + renditions, and in any bitmap which drops below + 500dpi, but it thins out and develops a slight + rightward hook at 600dpi and above. + + 3. All characters have been named. The constructs + ASCII"A" and oct"000" appear only at lower levels + of programming. + + 4. Character spacing has been adjusted through kerning tables, + particularly around lowercase iota (file ibylig.mf). + There is more that could and should be done. + Maybe it will yet happen. + + 5. Font mapping is specified independently of other + parameters, in a distinct and separate file (file ibycus3.map). + In some cases it may be more effective to remap the font + than to struggle with TeX remapping. + + 6. Accents have been redesigned in several cases, usually + in an attempt to reduce crowding among the elements of + accent clusters. The accents with diaeresis have been shifted + to clear the dot they lean toward. A programming error which + produced the wrong displacement value with free-standing accents + has been corrected. Accents before uppercase vowels are + pair-kerned with the vowels. Angle brackets, half brackets, + double quotes, braces and a dagger are now provided (see + ibyextra.tex). + +The associated TeX files are: + + 1. $TEXMF/tex/generic/ibycus3/ibycus3.tex + + The driver file for this package (in plain tex). + + 1a. $TEXMF/tex/generic/ibycus3/ibycus3.sty + + The driver file for this package (in LaTeX2e). + + 2. $TEXMF/tex/generic/ibycus3/set3grk.tex + + Included by ibygrk.tex unless newnep format is running + + 3. $TEXMF/tex/generic/ibycus3/tlgsqq.tex + + The name suggests the association with coding of the + Thesaurus Linguae Graecae. + + This file provides uniquely named macros for all combinations + of letter and accent, so that any invocation of the macro will + produce a sequence of characters corresponding with the + entries put into the TFM ligature table. These sequences may + always be used to generate accented characters. They are + based, with some slight modifications where David Packard's Ibycus + input coding seems too misleading, on the Ibycus adaptation of + TLG beta-code. ) and ( are used for breathings, ' and ` are + used for oxytone and barytone (to avoid preemption of the + usual TeX excape character) and = is used for perispomenon + to avoid preemption of the active tie character in plain.tex. + | is used for iota subscript. Order is significant. + Breathings or diereses come first, after the affected letter, then + accents, then iota subscript. + is dieresis, which should + only appear after u or i. '' is the mark of elision + Single quotes may be provided by `` and '', but isolate them + in braces whereever the first of either pair risks being + interpreted as an accent. + + The digraphs, trigraphs etc can be read from tlgsqq.tex + + Additional digraphs are K+ Koppa, k+ koppa, C+ lunate Cigma, + c+ lunate cigma, s+ sampi (lowercase late form only) and s| which + forces a medial sigma at word end. + << and >> give guillemets (not guillemots as Adobe + ornithologically supposes) and (( )) give single parentheses + though care must be taken that the first ( or ) is not + interpreted as a breathing. {((} and {))} are safe. + + 4. ibycus3.map + + This is {\em exactly} the same file as is used by METAFONT. + Copy $TEXMF/fonts/source/public/ibycus3/ibycus3.map + to the same directory as ibycus3.tex + or, even better, link it with a symbolic link. + It is so structured that it can be read by either + TeX or Metafont. The mapping is very close to that of GreekKeys, + which is distributed for the Macintosh by the American + Philological Association. Other mappings can be created + in the same manner. + + 5. $TEXMF/tex/generic/ibycus3/Uibycus3.fd + + Supporting fd file for LaTeX2e. + + 6. $TEXMF/tex/generic/ibycus3/iby3extr.tex + + Some editorial symbols for classical editions. + + 7. $TEXMF/tex/generic/ibygrk/ibycus3.ltx + $TEXMF/tex/generic/ibygrk/iby3text.tex + The exquisite little poem by Ibycus of Rhegium, until recently + almost the only thing known by him. (The Ibycus system + developed by David Packard is only indirectly named after + the poet. The direct inspiration was Packard's cat.) + +NOTE: Earlier users of this package may be dismayed by the new naming +system for the fonts, but it seems the only way to provide for +desirable results. It is necessary to keep this Ibycus package +clearly distinct from the new package announced below. Symbolic +links are provided to ease the transition. Ibycus4 (see below) will +be as close as possible to Ibycus3 in all external respects, but +there are some improved set widths which might clobber old carefully +adjusted text spacings. + +The new naming convention uses "ibycus3" wherever possible, and +the shorter string "iby3" where that would lead to ambiguity. +some of the individual METAFONT character files are simply +taged with the number 3. 8+3 filename compatibility is preserved. +(with difficulty). + +The names of PK and TFM files follow Karl Berry's font name convention +( 84 is the encoding for Ibycus 4, for which see below). + +Foundry Facename Weights Variants Encoding_Variants DesignSize + +f ib [r], b r, o 83, 84 [10], 9, 8 + +fibr83 fibo83 fibb83 + + with METAFONT design-size additions +fibr838 fibo838 fibb838 +fibr839 fibo839 fibb839 + + + +Still in the future. + + Ibycus4 will have the major epigraphical characters and conventions, + dotted letters, epsilon and omicron with perispomene accent + for pre-403 Attic orthography, uprighted italic h for aspirate and + a special set of TFM files for "stoichedon" inscriptions. + Maybe even a prime that really works for numbers. + The input coding for Ibycus4 is hardly changed at all from + Ibycus3 coding: The apostrophe and single quotes can be + given as ` {`} and ' {'} instead of having to be doubled + and <> give conjectural emendation angle brackets without + requiring an excursion into math mode. ! {\bang} gives + a dotted letter for all except iota-subscripted vowels. + Slight improvements in set widths, which is the chief reason + for keeping Ibycus3 and Ibycus4 clearly separate. + + Also in the works, a type1 version. + +Pierre A. MacKay +Department of Classics +University of Washington +mackay@cs.washington.edu diff --git a/fonts/greek/ibygrk/doc/generic/ibycus4/ibycus4.ltx b/fonts/greek/ibygrk/doc/generic/ibycus4/ibycus4.ltx new file mode 100644 index 0000000000..2800c5904b --- /dev/null +++ b/fonts/greek/ibygrk/doc/generic/ibycus4/ibycus4.ltx @@ -0,0 +1,40 @@ +% ibycus4.ltx-- P.A. MacKay -- July 13, 1997 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +% An example of ibycus4 using LaTeX2e +% +% Text from D. L. Page, {\it Greek Melic Poets}, (Oxford, 1962), p. 148 +% accepting the emendations of Mehlhorn and Hermann. +% +\documentclass[11pt]{article} +\usepackage{ibycus4} +\pagestyle{empty} + +\begin{document} +\begin{center} +\greek{\fontsize{20.74}{17pt}\selectfont +IBUKOU TOU RHGINOU} +\end{center} + +\vspace{.5in} + +\greek{ +\fontsize{14}{17pt}\selectfont +\begin{verse} +\leavevmode\llap{)=}Hri me`n ai(' te Kudw'niai\\ +mhli'des a)rdo'menai r(oa=n\\ +e)k pota'mwn i('na Parqe'nwn\\ +kh=pos a)kh'ratos, ai(' t' oi)nanqi'des\\ +au)co'menai skie'roisin u(f' e('rnesin\\ +oi)nare'ois qale'qoisin; e)moi` d' e)'ros\\ +ou)demi'an kata'koitos w('ran.\\ +<a)ll' a(' >q' u(po` steropa=s fle'gwn\\ +Qrhi+'kios Bore'as a)i's|-\\ +\quad swn para` Ku'pridos a)zale'ais mani'aisin e)remno`s a)qambh`s\\ +e)gkrate'ws pedo'qen \dagger fla'sen\dagger\\ +h(mete'ras fre'nas. +\end{verse}} +\end{document} + +\bye diff --git a/fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.ltx b/fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.ltx new file mode 100644 index 0000000000..64ad1099b3 --- /dev/null +++ b/fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.ltx @@ -0,0 +1,41 @@ +% psibycus.ltx-- P.A. MacKay -- July 16, 1999 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +% An example of ibycus4 using LaTeX2e and calling on the type1 +% font IbycusHTG-Regular in place of fibr84 +% +% Text from D. L. Page, {\it Greek Melic Poets}, (Oxford, 1962), p. 148 +% accepting the emendations of Mehlhorn and Hermann. +% +\documentclass[11pt]{article} +\usepackage{psibycus} +\pagestyle{empty} + +\begin{document} +\begin{center} +\greek{\fontsize{20.74}{17pt}\selectfont +IBUKOU TOU RHGINOU} +\end{center} + +\vspace{.5in} + +\greek{ +\fontsize{14}{17pt}\selectfont +\begin{verse} +\leavevmode\llap{)=}Hri me`n ai(' te Kudw'niai\\ +mhli'des a)rdo'menai r(oa=n\\ +e)k pota'mwn i('na Parqe'nwn\\ +kh=pos a)kh'ratos, ai(' t' oi)nanqi'des\\ +au)co'menai skie'roisin u(f' e('rnesin\\ +oi)nare'ois qale'qoisin; e)moi` d' e)'ros\\ +ou)demi'an kata'koitos w('ran.\\ +<a)ll' a(' >q' u(po` steropa=s fle'gwn\\ +Qrhi+'kios Bore'as a)i's|-\\ +\quad swn para` Ku'pridos a)zale'ais mani'aisin e)remno`s a)qambh`s\\ +e)gkrate'ws pedo'qen \dagger fla'sen\dagger\\ +h(mete'ras fre'nas. +\end{verse}} +\end{document} + +\bye diff --git a/fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.tex b/fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.tex new file mode 100644 index 0000000000..10a7f37047 --- /dev/null +++ b/fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.tex @@ -0,0 +1,48 @@ +% psibycus.tex-- P.A. MacKay -- July 16, 1999 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +% An example of ibycus4 using plain TeX and invoking the type1 font +% IbycusHTG-Regular +% +% Text from D. L. Page, {\it Greek Melic Poets}, (Oxford, 1962), p. 148 +% accepting the emendations of Mehlhorn and Hermann. +% +\hsize 4in +\input ibycusps +\setgreek11/14 +\let\!=\dagger + +\GK + +\centerline{IBUKOU TOU RHGINOU} + +\bigskip + +\leavevmode\llap{)=}Hri me`n ai(' te Kudw'niai + +mhli'des a)rdo'menai r(oa=n + +e)k pota'mwn i('na Parqe'nwn + +kh=pos a)kh'ratos, ai(' t' oi)nanqi'des + +au)co'menai skie'roisin u(f' e('rnesin + +oi)nare'ois qale'qoisin; e)moi` d' e)'ros + +ou)demi'an kata'koitos w('ran. + +<a)ll' a('>q' u(po` steropa=s fle'gwn + +Qrhi+'kios Bore'as a)i's|- + +\quad swn para` Ku'pridos a)zale'ais mani'aisin e)remno`s a)qambh`s + +e)gkrate'ws pedo'qen \!fla'sen\! + +h(mete'ras fre'nas. + +\RM + +\end diff --git a/fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibb84.afm b/fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibb84.afm new file mode 100644 index 0000000000..7b742248d3 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibb84.afm @@ -0,0 +1,367 @@ +StartFontMetrics 2.0 +Comment Generated by pfaedit +Comment Creation Date: Mon Apr 28 16:07:25 2003 +FontName FIBB84 +FullName IbycusHTG Polytonic Greek +FamilyName IbycusHTG Polytonic Greek +Weight Bold +Notice (Part of the ibycus4 font family, h.harders@tu-bs.de) +ItalicAngle 0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 0.1 +EncodingScheme FontSpecific +FontBBox -612 -579 1099 751 +CapHeight 686 +XHeight 450 +Descender -256 +StartCharMetrics 224 +C 0 ; WX 0 ; N .notdef ; B 0 0 0 0 ; +C 32 ; WX 0 ; N space ; B 0 0 0 0 ; +C 33 ; WX 336 ; N exclam ; B 88 0 248 706 ; +C 34 ; WX 550 ; N dieresis ; B 85 482 466 640 ; +C 35 ; WX 550 ; N dieresisacute ; B 29 465 521 707 ; +C 36 ; WX 550 ; N dieresisgrave ; B 29 465 521 707 ; +C 37 ; WX 917 ; N percent ; B 60 -57 855 751 ; +C 38 ; WX 550 ; N endash ; B 0 256 549 292 ; +C 39 ; WX 306 ; N quotesnglright ; B 74 345 246 695 ; +C 40 ; WX 428 ; N parenleft ; B 104 -252 366 751 ; +C 41 ; WX 428 ; N parenright ; B 61 -252 323 751 ; +C 42 ; WX 550 ; N asterisk ; B 70 306 479 750 ; +C 43 ; WX 856 ; N plus ; B 61 -118 794 617 ; +C 44 ; WX 306 ; N comma ; B 75 -194 244 156 ; +C 45 ; WX 367 ; N hyphen ; B 12 178 305 266 ; +C 46 ; WX 306 ; N period ; B 75 0 231 156 ; +C 47 ; WX 550 ; N slash ; B 61 -251 488 750 ; +C 48 ; WX 550 ; N zero ; B 42 -12 506 656 ; +C 49 ; WX 550 ; N one ; B 79 0 460 656 ; +C 50 ; WX 550 ; N two ; B 54 0 494 656 ; +C 51 ; WX 550 ; N three ; B 45 -11 503 655 ; +C 52 ; WX 550 ; N four ; B 30 0 518 656 ; +C 53 ; WX 550 ; N five ; B 54 -11 495 655 ; +C 54 ; WX 550 ; N six ; B 46 -11 504 655 ; +C 55 ; WX 550 ; N seven ; B 61 -11 535 676 ; +C 56 ; WX 550 ; N eight ; B 45 -12 504 655 ; +C 57 ; WX 550 ; N nine ; B 44 -12 504 656 ; +C 58 ; WX 306 ; N colon ; B 75 0 231 444 ; +C 59 ; WX 306 ; N colongreek ; B 75 288 231 444 ; +C 60 ; WX 428 ; N angleleft ; B 121 -251 366 750 ; +C 61 ; WX 856 ; N equal ; B 61 106 794 393 ; +C 62 ; WX 428 ; N angleright ; B 61 -252 306 750 ; +C 63 ; WX 306 ; N questiongreek ; B 75 -193 235 444 ; +C 64 ; WX 367 ; N asperperispomene ; B -92 503 274 695 ; +C 65 ; WX 833 ; N Alpha ; B 39 0 793 698 ; +C 66 ; WX 783 ; N Beta ; B 33 -1 721 687 ; +C 67 ; WX 733 ; N Ksi ; B 46 0 686 675 ; +C 68 ; WX 917 ; N Delta ; B 54 -1 862 698 ; +C 69 ; WX 722 ; N Epsilon ; B 33 0 690 680 ; +C 70 ; WX 794 ; N Phi ; B 61 0 732 686 ; +C 71 ; WX 661 ; N Gamma ; B 33 0 614 680 ; +C 72 ; WX 864 ; N Eta ; B 33 0 830 686 ; +C 73 ; WX 425 ; N Iota ; B 27 0 397 686 ; +C 74 ; WX 489 ; N cigmalunate ; B 46 -12 445 451 ; +C 75 ; WX 864 ; N Kappa ; B 33 0 817 686 ; +C 76 ; WX 772 ; N Lambda ; B 38 0 733 699 ; +C 77 ; WX 1047 ; N Mu ; B 33 0 1013 687 ; +C 78 ; WX 864 ; N Nu ; B 33 -1 830 686 ; +C 79 ; WX 825 ; N Omicron ; B 59 -12 763 698 ; +C 80 ; WX 864 ; N Pi ; B 33 0 830 680 ; +C 81 ; WX 856 ; N Theta ; B 60 -12 794 698 ; +C 82 ; WX 753 ; N Rho ; B 33 0 691 687 ; +C 83 ; WX 794 ; N Sigma ; B 60 0 732 686 ; +C 84 ; WX 764 ; N Tau ; B 40 0 723 675 ; +C 85 ; WX 856 ; N Upsilon ; B 60 0 795 697 ; +C 86 ; WX 692 ; N Digamma ; B 33 0 645 680 ; +C 87 ; WX 794 ; N Omega ; B 49 0 744 697 ; +C 88 ; WX 833 ; N Chi ; B 32 0 801 686 ; +C 89 ; WX 856 ; N Psi ; B 61 0 794 686 ; +C 90 ; WX 672 ; N Zeta ; B 61 -1 616 687 ; +C 91 ; WX 306 ; N bracketleft ; B 121 -250 281 750 ; +C 92 ; WX 367 ; N lenisperispomene ; B -92 503 274 695 ; +C 93 ; WX 306 ; N bracketright ; B 24 -250 184 750 ; +C 94 ; WX 367 ; N lenisacute ; B -65 510 352 733 ; +C 95 ; WX 367 ; N lenisgrave ; B -72 509 341 733 ; +C 96 ; WX 306 ; N quotesnglleft ; B 60 343 232 693 ; +C 97 ; WX 581 ; N alpha ; B 45 -6 569 451 ; +C 98 ; WX 550 ; N beta ; B 9 -271 504 700 ; +C 99 ; WX 519 ; N ksi ; B 46 -198 473 705 ; +C 100 ; WX 519 ; N delta ; B 45 -7 472 701 ; +C 101 ; WX 474 ; N epsilon ; B 45 -11 427 455 ; +C 102 ; WX 642 ; N phi ; B 46 -271 596 461 ; +C 103 ; WX 611 ; N gamma ; B 31 -200 564 451 ; +C 104 ; WX 550 ; N eta ; B 18 -262 504 456 ; +C 105 ; WX 350 ; N iota ; B 61 -7 305 451 ; +C 106 ; WX 489 ; N sigmafinal ; B 45 -198 442 451 ; +C 107 ; WX 611 ; N kappa ; B 30 -12 579 456 ; +C 108 ; WX 550 ; N lambda ; B 30 -6 519 696 ; +C 109 ; WX 633 ; N mu ; B 45 -257 615 455 ; +C 110 ; WX 519 ; N nu ; B 45 -6 473 451 ; +C 111 ; WX 581 ; N omicron ; B 45 -7 535 451 ; +C 112 ; WX 556 ; N pi ; B 21 -24 542 445 ; +C 113 ; WX 519 ; N theta ; B 46 -12 472 705 ; +C 114 ; WX 519 ; N rho ; B 45 -257 473 451 ; +C 115 ; WX 626 ; N sigma ; B 46 -6 595 445 ; +C 116 ; WX 494 ; N tau ; B 21 -7 448 445 ; +C 117 ; WX 550 ; N upsilon ; B 40 -6 503 466 ; +C 118 ; WX 433 ; N digamma ; B 17 -211 387 445 ; +C 119 ; WX 733 ; N omega ; B 45 -6 686 455 ; +C 120 ; WX 611 ; N chi ; B 46 -257 565 451 ; +C 121 ; WX 642 ; N psi ; B 45 -271 596 711 ; +C 122 ; WX 519 ; N zeta ; B 45 -198 473 706 ; +C 123 ; WX 397 ; N guillemetsleft ; B 44 44 352 400 ; +C 124 ; WX 550 ; N iotasubscript ; B 221 -264 360 -50 ; +C 125 ; WX 397 ; N guillemetsright ; B 44 44 352 400 ; +C 126 ; WX 550 ; N perispomene ; B 92 523 458 642 ; +C 127 ; WX 1100 ; N emdash ; B 0 256 1099 292 ; +C 128 ; WX 581 ; N alphagrave ; B 45 -6 569 704 ; +C 129 ; WX 581 ; N alphaasper ; B 45 -6 569 694 ; +C 130 ; WX 581 ; N alphaenis ; B 45 -6 569 694 ; +C 131 ; WX 367 ; N aspergrave ; B -85 509 341 733 ; +C 132 ; WX 474 ; N epsilonasperperispomene ; B 45 -11 427 695 ; +C 133 ; WX 581 ; N omicronperispomene ; B 45 -7 535 695 ; +C 134 ; WX 672 ; N Koppa ; B 60 -1 611 698 ; +C 135 ; WX 367 ; N asperacute ; B -57 510 352 733 ; +C 136 ; WX 581 ; N alphaacute ; B 45 -6 569 704 ; +C 137 ; WX 581 ; N alphaasperacute ; B 45 -6 569 733 ; +C 138 ; WX 581 ; N alphalenisacute ; B 45 -6 569 733 ; +C 139 ; WX 581 ; N alphaaspergrave ; B 45 -6 569 733 ; +C 140 ; WX 474 ; N epsilonperispomene ; B 45 -11 427 694 ; +C 141 ; WX 581 ; N omicronasperperispomene ; B 45 -7 535 695 ; +C 142 ; WX 581 ; N koppa ; B 45 -270 535 455 ; +C 143 ; WX 611 ; N sampi ; B 25 -30 570 634 ; +C 144 ; WX 581 ; N slphaperispomene ; B 45 -6 569 642 ; +C 145 ; WX 581 ; N alphaasperperispomene ; B 45 -6 569 695 ; +C 146 ; WX 581 ; N alphalenisperispomene ; B 45 -6 569 695 ; +C 147 ; WX 581 ; N alphalenisgrave ; B 45 -6 569 733 ; +C 148 ; WX 474 ; N epsilonlenisperispomene ; B 45 -11 427 695 ; +C 149 ; WX 581 ; N omicronlenisperispomene ; B 45 -7 535 695 ; +C 150 ; WX 794 ; N Cigmalunate ; B 60 -11 734 698 ; +C 152 ; WX 550 ; N etagrave ; B 18 -262 504 704 ; +C 153 ; WX 550 ; N etaasper ; B 18 -262 504 694 ; +C 154 ; WX 550 ; N etalenis ; B 18 -262 504 694 ; +C 155 ; WX 550 ; N etaaspergrave ; B 18 -262 520 733 ; +C 156 ; WX 0 ; N dotI ; B -276 -268 -120 -112 ; +C 157 ; WX 0 ; N dotJdlmnpqu ; B -353 -268 -197 -112 ; +C 158 ; WX 0 ; N dotbt ; B -322 -268 -166 -112 ; +C 159 ; WX 0 ; N dotchjz ; B -414 -424 -258 -268 ; +C 160 ; WX 550 ; N etaacute ; B 18 -262 504 704 ; +C 161 ; WX 550 ; N etaasperacute ; B 18 -262 532 733 ; +C 162 ; WX 550 ; N etalenisacute ; B 18 -262 532 733 ; +C 163 ; WX 550 ; N etalenisgrave ; B 18 -262 520 733 ; +C 164 ; WX 0 ; N doti ; B -231 -268 -75 -112 ; +C 165 ; WX 0 ; N dotGZ ; B -414 -268 -258 -112 ; +C 166 ; WX 0 ; N dotkos ; B -398 -268 -242 -112 ; +C 167 ; WX 0 ; N dotCEVaw ; B -444 -268 -288 -112 ; +C 168 ; WX 550 ; N etaperispomene ; B 18 -262 504 642 ; +C 169 ; WX 550 ; N etaasperperispomene ; B 18 -262 504 695 ; +C 170 ; WX 550 ; N etalenisperispomene ; B 18 -262 504 695 ; +C 171 ; WX 583 ; N quotedblleft ; B 126 343 546 693 ; +C 172 ; WX 0 ; N dote ; B -307 -268 -151 -112 ; +C 173 ; WX 0 ; N dotH ; B -490 -268 -334 -112 ; +C 174 ; WX 0 ; N dotBFLNPQSTW ; B -475 -268 -319 -112 ; +C 175 ; WX 583 ; N quotedblright ; B 36 345 455 695 ; +C 176 ; WX 733 ; N omegagrave ; B 45 -6 686 701 ; +C 177 ; WX 733 ; N omegaasper ; B 45 -6 686 694 ; +C 178 ; WX 733 ; N omegalenis ; B 45 -6 686 694 ; +C 179 ; WX 733 ; N omegaaspergrave ; B 45 -6 686 731 ; +C 180 ; WX 0 ; N dotDK ; B -536 -268 -380 -112 ; +C 181 ; WX 0 ; N dotfy ; B -429 -579 -273 -423 ; +C 182 ; WX 0 ; N dotgx ; B -414 -501 -258 -345 ; +C 183 ; WX 0 ; N dotkoppa ; B -383 -579 -227 -423 ; +C 184 ; WX 733 ; N omegaacute ; B 45 -6 686 701 ; +C 185 ; WX 733 ; N omegaasperacute ; B 45 -6 686 731 ; +C 186 ; WX 733 ; N omegalenisacute ; B 45 -6 686 731 ; +C 187 ; WX 733 ; N omegalenisgrave ; B 45 -6 686 731 ; +C 188 ; WX 0 ; N dotAOQUXY ; B -520 -268 -364 -112 ; +C 189 ; WX 550 ; N grave ; B 120 494 331 704 ; +C 190 ; WX 550 ; N acute ; B 219 494 430 704 ; +C 191 ; WX 0 ; N dotr ; B -353 -501 -197 -345 ; +C 192 ; WX 733 ; N omegaperispomene ; B 45 -6 686 642 ; +C 193 ; WX 733 ; N omegaasperperispomene ; B 45 -6 686 695 ; +C 194 ; WX 733 ; N omegalenisperispomene ; B 45 -6 686 695 ; +C 195 ; WX 306 ; N asper ; B -71 517 89 694 ; +C 196 ; WX 0 ; N dotM ; B -612 -268 -456 -112 ; +C 197 ; WX 550 ; N breve ; B 104 508 445 694 ; +C 198 ; WX 550 ; N macron ; B 76 551 473 601 ; +C 199 ; WX 244 ; N lenis ; B -90 517 69 694 ; +C 200 ; WX 350 ; N iotagrave ; B 4 -7 305 707 ; +C 201 ; WX 350 ; N iotaasper ; B 32 -7 305 694 ; +C 202 ; WX 350 ; N iotalenis ; B 44 -7 305 694 ; +C 203 ; WX 350 ; N iotaaspergrave ; B -64 -7 328 734 ; +C 204 ; WX 550 ; N upsilongrave ; B 40 -6 503 704 ; +C 205 ; WX 550 ; N upsilonasper ; B 40 -6 503 694 ; +C 206 ; WX 550 ; N upsilonlenis ; B 40 -6 503 694 ; +C 207 ; WX 550 ; N upsilonaspergrave ; B 40 -6 503 733 ; +C 208 ; WX 350 ; N iotaacute ; B 61 -7 305 707 ; +C 209 ; WX 350 ; N iotaasperacute ; B -32 -7 336 734 ; +C 210 ; WX 350 ; N iotalenisacute ; B -41 -7 336 734 ; +C 211 ; WX 350 ; N iotalenisgrave ; B -51 -7 328 734 ; +C 212 ; WX 550 ; N upsilonacute ; B 40 -6 503 704 ; +C 213 ; WX 550 ; N upsilonasperacute ; B 40 -6 503 733 ; +C 214 ; WX 550 ; N upsilonlenisacute ; B 40 -6 503 733 ; +C 215 ; WX 550 ; N upsilonlenisgrave ; B 40 -6 503 733 ; +C 216 ; WX 350 ; N iotaperispomene ; B 16 -7 305 642 ; +C 217 ; WX 350 ; N iotaasperperispomene ; B 15 -7 305 695 ; +C 218 ; WX 350 ; N iotalenisperispomene ; B 15 -7 305 695 ; +C 219 ; WX 550 ; N braceleft ; B 73 -251 476 750 ; +C 220 ; WX 550 ; N upsilonperispomene ; B 40 -6 503 642 ; +C 221 ; WX 550 ; N upsilonasperperispomene ; B 40 -6 503 695 ; +C 222 ; WX 550 ; N upsilonlenisperispomene ; B 40 -6 503 695 ; +C 223 ; WX 550 ; N braceright ; B 73 -251 475 751 ; +C 224 ; WX 474 ; N epsilongrave ; B 45 -11 427 732 ; +C 225 ; WX 474 ; N epsilonasper ; B 45 -11 427 694 ; +C 226 ; WX 474 ; N epsilonlenis ; B 45 -11 427 694 ; +C 227 ; WX 474 ; N epsilonlenisgrave ; B 45 -11 474 733 ; +C 228 ; WX 581 ; N omicrongrave ; B 45 -7 535 703 ; +C 229 ; WX 581 ; N omicronasper ; B 45 -7 535 694 ; +C 230 ; WX 581 ; N omicronlenis ; B 45 -7 535 694 ; +C 231 ; WX 581 ; N omicronaspergrave ; B 45 -7 544 733 ; +C 232 ; WX 474 ; N epsilonacute ; B 45 -11 427 732 ; +C 233 ; WX 474 ; N epsilonasperacute ; B 45 -11 484 733 ; +C 234 ; WX 474 ; N epsilonlenisacute ; B 45 -11 484 733 ; +C 235 ; WX 474 ; N epsilonaspergrave ; B 45 -11 474 733 ; +C 236 ; WX 581 ; N omicronacute ; B 45 -7 535 703 ; +C 237 ; WX 581 ; N omicronasperacute ; B 45 -7 556 733 ; +C 238 ; WX 581 ; N omicronlenisacute ; B 45 -7 556 733 ; +C 239 ; WX 581 ; N omicronlenisgrave ; B 45 -7 544 733 ; +C 240 ; WX 350 ; N iotadieresis ; B -56 -7 305 639 ; +C 241 ; WX 350 ; N iotadieresisacute ; B -127 -7 364 707 ; +C 242 ; WX 350 ; N iotadieresisgrave ; B -127 -7 364 707 ; +C 243 ; WX 489 ; N bracketleftbt ; B 182 -252 473 750 ; +C 244 ; WX 550 ; N upsilondieresis ; B 40 -6 503 640 ; +C 245 ; WX 550 ; N upsilondieresisacute ; B 29 -6 520 707 ; +C 246 ; WX 550 ; N upsilondieresisgrave ; B 29 -6 520 707 ; +C 247 ; WX 489 ; N bracketrightbt ; B 15 -252 306 750 ; +C 248 ; WX 0 ; N iotasubalpha ; B -359 -264 -220 -50 ; +C 249 ; WX 0 ; N iotasubeta ; B -472 -264 -336 -72 ; +C 250 ; WX 0 ; N iotasubomega ; B -420 -264 -281 -50 ; +C 251 ; WX 519 ; N rhoaspe ; B 45 -257 473 694 ; +C 252 ; WX 519 ; N rholenis ; B 45 -257 473 694 ; +C 253 ; WX 489 ; N dagger ; B 60 -261 428 701 ; +C 254 ; WX 489 ; N daggerdbl ; B 60 -257 428 701 ; +C 255 ; WX 550 ; N aspirate ; B -30 -6 567 694 ; +EndCharMetrics +StartKernData +StartKernPairs 118 +KPX asperperispomene Upsilon -122 +KPX asperperispomene Omega -183 +KPX asperperispomene Omicron -183 +KPX asperperispomene Iota -122 +KPX asperperispomene Eta -122 +KPX asperperispomene Epsilon -122 +KPX asperperispomene Alpha -397 +KPX lenisperispomene Upsilon -122 +KPX lenisperispomene Omega -152 +KPX lenisperispomene Omicron -183 +KPX lenisperispomene Iota -122 +KPX lenisperispomene Eta -122 +KPX lenisperispomene Epsilon -122 +KPX lenisperispomene Alpha -397 +KPX lenisacute Upsilon -91 +KPX lenisacute Iota -61 +KPX lenisacute Omega -91 +KPX lenisacute Omicron -152 +KPX lenisacute Eta -61 +KPX lenisacute Epsilon -61 +KPX lenisacute Alpha -366 +KPX lenisgrave Upsilon -61 +KPX lenisgrave Iota -122 +KPX lenisgrave Omega -61 +KPX lenisgrave Omicron -122 +KPX lenisgrave Eta -91 +KPX lenisgrave Epsilon -91 +KPX lenisgrave Alpha -305 +KPX alpha iota 30 +KPX epsilon iota 30 +KPX eta iotalenisperispomene 91 +KPX eta iotalenisgrave 91 +KPX eta iotalenisacute 91 +KPX eta iotaasperperispomene 91 +KPX eta iotaaspergrave 91 +KPX eta iotaasperacute 91 +KPX eta iotaperispomene 91 +KPX eta iotaacute 91 +KPX eta iotagrave 91 +KPX eta iota 91 +KPX iota psi -30 +KPX iota chi -30 +KPX iota omega -30 +KPX iota upsilon -61 +KPX iota tau -61 +KPX iota sigma -30 +KPX iota theta -30 +KPX iota pi -30 +KPX iota omicron -30 +KPX iota nu -91 +KPX iota lambda -30 +KPX iota kappa -30 +KPX iota eta -30 +KPX iota gamma -61 +KPX iota phi -30 +KPX iota delta -30 +KPX iota ksi -30 +KPX omicron lambda -30 +KPX omicron eta -30 +KPX omicron nu -30 +KPX rho iota 30 +KPX upsilon iota 30 +KPX omega nu -30 +KPX omega iota 30 +KPX alphaasper iota 30 +KPX aspergrave Upsilon -61 +KPX aspergrave Iota -122 +KPX aspergrave Omega -61 +KPX aspergrave Omicron -122 +KPX aspergrave Eta -91 +KPX aspergrave Epsilon -91 +KPX aspergrave Alpha -305 +KPX asperacute Upsilon -91 +KPX asperacute Iota -61 +KPX asperacute Omega -91 +KPX asperacute Omicron -152 +KPX asperacute Eta -61 +KPX asperacute Epsilon -61 +KPX asperacute Alpha -366 +KPX etaasper iota 91 +KPX omegaasper nu -30 +KPX asper Upsilon -183 +KPX asper Iota -183 +KPX asper Omega -152 +KPX asper Omicron -213 +KPX asper Rho -183 +KPX asper Eta -183 +KPX asper Epsilon -183 +KPX asper Alpha -427 +KPX lenis Upsilon -122 +KPX lenis Iota -122 +KPX lenis Omega -122 +KPX lenis Omicron -152 +KPX lenis Rho -122 +KPX lenis Eta -122 +KPX lenis Epsilon -122 +KPX lenis Alpha -366 +KPX iotaasper psi -30 +KPX iotaasper chi -30 +KPX iotaasper omega -30 +KPX iotaasper upsilon -61 +KPX iotaasper tau -61 +KPX iotaasper sigma -30 +KPX iotaasper theta -30 +KPX iotaasper pi -30 +KPX iotaasper omicron -30 +KPX iotaasper nu -91 +KPX iotaasper lambda -30 +KPX iotaasper kappa -30 +KPX iotaasper eta -30 +KPX iotaasper gamma -61 +KPX iotaasper phi -30 +KPX iotaasper delta -30 +KPX iotaasper ksi -30 +KPX omicronasper eta -30 +KPX omicronasper nu -30 +KPX rhoaspe iota 30 +KPX rholenis iota 30 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibr84.afm b/fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibr84.afm new file mode 100644 index 0000000000..a99ec4b0a1 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibr84.afm @@ -0,0 +1,622 @@ +StartFontMetrics 2.0 +Comment Created by getafm 1.00 (c) AJCD Sun Jul 4 11:31:33 PDT 1999 +Comment Ibycus4 ligatures not shown because AFM syntax is too limited. +FontName IbycusHTG-Regular +FamilyName IbycusHTG Polytonic Greek +FullName IbycusHTG Polytonic Greek Regular +Notice Copyright (c) 1996, 1999 Humanist Typesetting and Graphics, Inc. +Weight Regular +ItalicAngle 0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +FontBBox -539 -462 999 750 +CapHeight 680 +XHeight 430 +Ascender 700 +Descender -260 +StartCharMetrics 223 +C 32 ; WX 0 ; N space ; B 0 0 0 0 ; +C 33 ; WX 277 ; N exclam ; B 86 0 193 716 ; +C 34 ; WX 500 ; N dieresis ; B 111 558 389 664 ; +C 35 ; WX 500 ; N dieresisacute ; B 84 484 418 750 ; +C 36 ; WX 500 ; N dieresisgrave ; B 84 484 418 750 ; +C 37 ; WX 833 ; N percent ; B 55 -55 777 750 ; +C 38 ; WX 500 ; N endash ; B 0 255 499 277 ; +C 39 ; WX 277 ; N quotesnglright ; B 79 395 199 700 ; +C 40 ; WX 388 ; N parenleft ; B 100 -245 333 746 ; +C 41 ; WX 388 ; N parenright ; B 55 -245 288 746 ; +C 42 ; WX 500 ; N asterisk ; B 65 319 434 750 ; +C 43 ; WX 777 ; N plus ; B 55 -82 722 583 ; +C 44 ; WX 277 ; N comma ; B 78 -199 198 106 ; +C 45 ; WX 333 ; N hyphen ; B 11 185 277 246 ; +C 46 ; WX 277 ; N period ; B 86 -1 192 108 ; +C 47 ; WX 500 ; N slash ; B 54 -247 445 750 ; +C 48 ; WX 500 ; N zero ; B 39 -22 460 665 ; +C 49 ; WX 500 ; N one ; B 90 0 423 667 ; +C 50 ; WX 500 ; N two ; B 50 0 449 666 ; +C 51 ; WX 500 ; N three ; B 42 -22 457 665 ; +C 52 ; WX 500 ; N four ; B 28 0 471 677 ; +C 53 ; WX 500 ; N five ; B 50 -22 449 662 ; +C 54 ; WX 500 ; N six ; B 42 -22 457 665 ; +C 55 ; WX 500 ; N seven ; B 55 -22 485 676 ; +C 56 ; WX 500 ; N eight ; B 42 -22 457 665 ; +C 57 ; WX 500 ; N nine ; B 42 -22 457 665 ; +C 58 ; WX 277 ; N colon ; B 85 -1 191 429 ; +C 59 ; WX 277 ; N colongreek ; B 85 323 191 429 ; +C 60 ; WX 388 ; N angleleft ; B 55 -249 333 750 ; +C 61 ; WX 777 ; N equal ; B 55 133 722 367 ; +C 62 ; WX 388 ; N angleright ; B 55 -249 333 750 ; +C 63 ; WX 277 ; N questiongreek ; B 78 -200 198 429 ; +C 64 ; WX 333 ; N asperperispomene ; B -56 452 230 721 ; +C 65 ; WX 750 ; N Alpha ; B 32 0 717 716 ; +C 66 ; WX 708 ; N Beta ; B 36 0 652 680 ; +C 67 ; WX 666 ; N Ksi ; B 42 0 624 677 ; +C 68 ; WX 833 ; N Delta ; B 46 0 786 716 ; +C 69 ; WX 680 ; N Epsilon ; B 33 0 652 680 ; +C 70 ; WX 722 ; N Phi ; B 55 0 666 683 ; +C 71 ; WX 625 ; N Gamma ; B 33 0 582 680 ; +C 72 ; WX 750 ; N Eta ; B 33 0 716 683 ; +C 73 ; WX 361 ; N Iota ; B 29 0 332 683 ; +C 74 ; WX 444 ; N cigmalunate ; B 42 -22 410 442 ; +C 75 ; WX 777 ; N Kappa ; B 33 0 736 683 ; +C 76 ; WX 694 ; N Lambda ; B 32 0 661 716 ; +C 77 ; WX 916 ; N Mu ; B 37 0 879 683 ; +C 78 ; WX 750 ; N Nu ; B 33 0 716 683 ; +C 79 ; WX 777 ; N Omicron ; B 55 -22 722 704 ; +C 80 ; WX 750 ; N Pi ; B 33 0 716 680 ; +C 81 ; WX 777 ; N Theta ; B 55 -22 722 704 ; +C 82 ; WX 680 ; N Rho ; B 34 0 625 683 ; +C 83 ; WX 722 ; N Sigma ; B 55 0 666 683 ; +C 84 ; WX 722 ; N Tau ; B 36 0 685 677 ; +C 85 ; WX 777 ; N Upsilon ; B 55 0 722 705 ; +C 86 ; WX 652 ; N Digamma ; B 33 0 610 680 ; +C 87 ; WX 722 ; N Omega ; B 44 0 677 705 ; +C 88 ; WX 750 ; N Chi ; B 24 0 726 683 ; +C 89 ; WX 777 ; N Psi ; B 60 0 716 683 ; +C 90 ; WX 611 ; N Zeta ; B 55 0 560 683 ; +C 91 ; WX 277 ; N bracketleft ; B 118 -249 255 750 ; +C 92 ; WX 333 ; N lenisperispomene ; B -56 452 230 721 ; +C 93 ; WX 277 ; N bracketright ; B 22 -249 159 750 ; +C 94 ; WX 333 ; N lenisacute ; B -56 496 285 721 ; +C 95 ; WX 333 ; N lenisgrave ; B -56 496 293 721 ; +C 96 ; WX 277 ; N quotesnglleft ; B 72 394 192 700 ; +C 97 ; WX 527 ; N alpha ; B 42 -11 500 441 ; +C 98 ; WX 500 ; N beta ; B 17 -277 457 705 ; +C 99 ; WX 472 ; N ksi ; B 42 -138 429 716 ; +C 100 ; WX 472 ; N delta ; B 44 -11 431 704 ; +C 101 ; WX 430 ; N epsilon ; B 42 -22 385 452 ; +C 102 ; WX 583 ; N phi ; B 42 -277 540 455 ; +C 103 ; WX 555 ; N gamma ; B 28 -200 513 442 ; +C 104 ; WX 500 ; N eta ; B 37 -271 457 453 ; +C 105 ; WX 278 ; N iota ; B 55 -11 232 441 ; +C 106 ; WX 444 ; N sigmafinal ; B 42 -138 401 442 ; +C 107 ; WX 555 ; N kappa ; B 28 -22 527 454 ; +C 108 ; WX 500 ; N lambda ; B 42 -11 485 694 ; +C 109 ; WX 565 ; N mu ; B 42 -261 522 453 ; +C 110 ; WX 472 ; N nu ; B 41 -11 429 442 ; +C 111 ; WX 527 ; N omicron ; B 42 -11 485 441 ; +C 112 ; WX 502 ; N pi ; B 44 -21 493 431 ; +C 113 ; WX 472 ; N theta ; B 42 -22 429 715 ; +C 114 ; WX 472 ; N rho ; B 42 -260 429 442 ; +C 115 ; WX 569 ; N sigma ; B 42 -11 539 427 ; +C 116 ; WX 447 ; N tau ; B 44 -11 429 430 ; +C 117 ; WX 500 ; N upsilon ; B 39 -11 457 457 ; +C 118 ; WX 391 ; N digamma ; B 30 -215 360 450 ; +C 119 ; WX 667 ; N omega ; B 42 -11 624 448 ; +C 120 ; WX 555 ; N chi ; B 42 -260 513 442 ; +C 121 ; WX 583 ; N psi ; B 42 -277 540 719 ; +C 122 ; WX 472 ; N zeta ; B 42 -138 429 717 ; +C 123 ; WX 360 ; N guillemetsleft ; B 28 43 332 388 ; +C 124 ; WX 500 ; N iotasubscript ; B 200 -300 300 -53 ; +C 125 ; WX 360 ; N guillemetsright ; B 28 43 332 388 ; +C 126 ; WX 500 ; N perispomene ; B 117 537 384 648 ; +C 127 ; WX 1000 ; N emdash ; B 0 255 999 277 ; +C 128 ; WX 527 ; N alphagrave ; B 42 -11 500 700 ; +C 129 ; WX 527 ; N alphaasper ; B 42 -11 500 700 ; +C 130 ; WX 527 ; N alphalenis ; B 42 -11 500 698 ; +C 131 ; WX 333 ; N aspergrave ; B -56 496 306 721 ; +C 132 ; WX 430 ; N epsilonasperperispomene ; B 42 -22 385 750 ; +C 133 ; WX 527 ; N omicronperispomene ; B 42 -11 485 648 ; +C 134 ; WX 611 ; N Koppa ; B 55 0 555 705 ; +C 135 ; WX 333 ; N asperacute ; B -56 496 275 721 ; +C 136 ; WX 527 ; N alphaacute ; B 42 -11 500 700 ; +C 137 ; WX 527 ; N alphaasperacute ; B 42 -11 500 721 ; +C 138 ; WX 527 ; N alphalenisacute ; B 42 -11 500 721 ; +C 139 ; WX 527 ; N alphaaspergrave ; B 42 -11 500 721 ; +C 140 ; WX 430 ; N epsilonperispomene ; B 42 -22 385 652 ; +C 141 ; WX 527 ; N omicronasperperispomene ; B 42 -11 485 750 ; +C 142 ; WX 527 ; N koppa ; B 42 -274 485 453 ; +C 143 ; WX 556 ; N sampi ; B 40 -34 520 695 ; +C 144 ; WX 527 ; N alphaperispomene ; B 42 -11 500 648 ; +C 145 ; WX 527 ; N alphaasperperispomene ; B 42 -11 500 750 ; +C 146 ; WX 527 ; N alphalenisperispomene ; B 42 -11 500 750 ; +C 147 ; WX 527 ; N alphalenisgrave ; B 42 -11 500 721 ; +C 148 ; WX 430 ; N epsilonlenisperispomene ; B 42 -22 385 750 ; +C 149 ; WX 527 ; N omicronlenisperispomene ; B 42 -11 485 750 ; +C 150 ; WX 728 ; N Cigmalunate ; B 55 -22 661 699 ; +C 152 ; WX 500 ; N etagrave ; B 37 -271 457 700 ; +C 153 ; WX 500 ; N etaasper ; B 37 -271 457 700 ; +C 154 ; WX 500 ; N etalenis ; B 37 -271 457 700 ; +C 155 ; WX 500 ; N etaaspergrave ; B 37 -271 457 721 ; +C 156 ; WX 0 ; N dotI ; B -234 -250 -128 -144 ; +C 157 ; WX 0 ; N dotJdlmnpqu ; B -303 -250 -197 -144 ; +C 158 ; WX 0 ; N dotbt ; B -275 -250 -169 -144 ; +C 159 ; WX 0 ; N dotchjz ; B -359 -356 -253 -250 ; +C 160 ; WX 500 ; N etaacute ; B 37 -271 457 700 ; +C 161 ; WX 500 ; N etaasperacute ; B 37 -271 457 721 ; +C 162 ; WX 500 ; N etalenisacute ; B 37 -271 457 721 ; +C 163 ; WX 500 ; N etalenisgrave ; B 37 -271 457 721 ; +C 164 ; WX 0 ; N doti ; B -192 -250 -86 -144 ; +C 165 ; WX 0 ; N dotGZ ; B -359 -250 -253 -144 ; +C 166 ; WX 0 ; N dotkos ; B -345 -250 -239 -144 ; +C 167 ; WX 0 ; N dotCEVaw ; B -386 -250 -280 -144 ; +C 168 ; WX 500 ; N etaperispomene ; B 37 -271 457 648 ; +C 169 ; WX 500 ; N etaasperperispomene ; B 37 -271 457 750 ; +C 170 ; WX 500 ; N etalenisperispomene ; B 37 -271 457 750 ; +C 171 ; WX 500 ; N quotedblleft ; B 154 394 467 700 ; +C 172 ; WX 0 ; N dote ; B -261 -250 -155 -144 ; +C 173 ; WX 0 ; N dotH ; B -428 -250 -322 -144 ; +C 174 ; WX 0 ; N dotBFLNPRSTW ; B -414 -250 -308 -144 ; +C 175 ; WX 500 ; N quotedblright ; B 33 395 346 700 ; +C 176 ; WX 667 ; N omegagrave ; B 42 -11 624 700 ; +C 177 ; WX 667 ; N omegaasper ; B 42 -11 624 700 ; +C 178 ; WX 667 ; N omegalenis ; B 42 -11 624 700 ; +C 179 ; WX 667 ; N omegaaspergrave ; B 42 -11 624 721 ; +C 180 ; WX 0 ; N dotDK ; B -470 -250 -364 -144 ; +C 181 ; WX 0 ; N dotfy ; B -372 -462 -266 -356 ; +C 182 ; WX 0 ; N dotgx ; B -359 -409 -253 -303 ; +C 183 ; WX 0 ; N dotkoppa ; B -330 -462 -224 -356 ; +C 184 ; WX 667 ; N omegaacute ; B 42 -11 624 700 ; +C 185 ; WX 667 ; N omegaasperacute ; B 42 -11 624 721 ; +C 186 ; WX 667 ; N omegalenisacute ; B 42 -11 624 721 ; +C 187 ; WX 667 ; N omegalenisgrave ; B 42 -11 624 721 ; +C 188 ; WX 0 ; N dotAOQUXY ; B -455 -250 -349 -144 ; +C 189 ; WX 500 ; N grave ; B 160 485 329 700 ; +C 190 ; WX 500 ; N acute ; B 171 485 340 700 ; +C 191 ; WX 0 ; N dotr ; B -303 -409 -197 -303 ; +C 192 ; WX 667 ; N omegaperispomene ; B 42 -11 624 648 ; +C 193 ; WX 667 ; N omegaasperperispomene ; B 42 -11 624 750 ; +C 194 ; WX 667 ; N omegalenisperispomene ; B 42 -11 624 750 ; +C 195 ; WX 278 ; N asper ; B -56 496 89 700 ; +C 196 ; WX 0 ; N dotM ; B -539 -250 -433 -144 ; +C 197 ; WX 500 ; N breve ; B 100 520 399 693 ; +C 198 ; WX 500 ; N macron ; B 70 558 431 591 ; +C 199 ; WX 222 ; N lenis ; B -56 497 89 700 ; +C 200 ; WX 278 ; N iotagrave ; B 9 -11 232 700 ; +C 201 ; WX 278 ; N iotaasper ; B 12 -11 232 700 ; +C 202 ; WX 278 ; N iotalenis ; B 35 -11 232 700 ; +C 203 ; WX 278 ; N iotaaspergrave ; B -73 -11 246 700 ; +C 204 ; WX 500 ; N upsilongrave ; B 39 -11 457 700 ; +C 205 ; WX 500 ; N upsilonasper ; B 39 -11 457 700 ; +C 206 ; WX 500 ; N upsilonlenis ; B 39 -11 457 700 ; +C 207 ; WX 500 ; N upsilonaspergrave ; B 39 -11 457 721 ; +C 208 ; WX 278 ; N iotaacute ; B 55 -11 232 700 ; +C 209 ; WX 278 ; N iotaasperacute ; B -33 -11 268 700 ; +C 210 ; WX 278 ; N iotalenisacute ; B -55 -11 276 700 ; +C 211 ; WX 278 ; N iotalenisgrave ; B -56 -11 272 700 ; +C 212 ; WX 500 ; N upsilonacute ; B 39 -11 457 700 ; +C 213 ; WX 500 ; N upsilonasperacute ; B 39 -11 457 721 ; +C 214 ; WX 500 ; N upsilonlenisacute ; B 39 -11 457 721 ; +C 215 ; WX 500 ; N upsilonlenisgrave ; B 39 -11 457 721 ; +C 216 ; WX 278 ; N iotaperispomene ; B 5 -11 272 648 ; +C 217 ; WX 278 ; N iotaasperperispomene ; B 1 -11 278 750 ; +C 218 ; WX 278 ; N iotalenisperispomene ; B 1 -11 278 750 ; +C 219 ; WX 500 ; N braceleft ; B 72 -249 427 750 ; +C 220 ; WX 500 ; N upsilonperispomene ; B 39 -11 457 648 ; +C 221 ; WX 500 ; N upsilonasperperispomene ; B 39 -11 457 750 ; +C 222 ; WX 500 ; N upsilonlenisperispomene ; B 39 -11 457 750 ; +C 223 ; WX 500 ; N braceright ; B 72 -249 426 750 ; +C 224 ; WX 430 ; N epsilongrave ; B 42 -22 385 721 ; +C 225 ; WX 430 ; N epsilonasper ; B 42 -22 385 700 ; +C 226 ; WX 430 ; N epsilonlenis ; B 42 -22 385 700 ; +C 227 ; WX 430 ; N epsilonlenisgrave ; B 42 -22 394 721 ; +C 228 ; WX 527 ; N omicrongrave ; B 42 -11 485 700 ; +C 229 ; WX 527 ; N omicronasper ; B 42 -11 485 700 ; +C 230 ; WX 527 ; N omicronlenis ; B 42 -11 485 700 ; +C 231 ; WX 527 ; N omicronaspergrave ; B 42 -11 485 721 ; +C 232 ; WX 430 ; N epsilonacute ; B 42 -22 385 721 ; +C 233 ; WX 430 ; N epsilonasperacute ; B 42 -22 394 722 ; +C 234 ; WX 430 ; N epsilonlenisacute ; B 42 -22 394 721 ; +C 235 ; WX 430 ; N epsilonaspergrave ; B 42 -22 394 721 ; +C 236 ; WX 527 ; N omicronacute ; B 42 -11 485 700 ; +C 237 ; WX 527 ; N omicronasperacute ; B 42 -11 485 721 ; +C 238 ; WX 527 ; N omicronlenisacute ; B 42 -11 485 721 ; +C 239 ; WX 527 ; N omicronlenisgrave ; B 42 -11 485 721 ; +C 240 ; WX 278 ; N iotadieresis ; B 0 -11 278 664 ; +C 241 ; WX 278 ; N iotadieresisacute ; B -76 -11 258 750 ; +C 242 ; WX 278 ; N iotadieresisgrave ; B -76 -11 258 750 ; +C 243 ; WX 444 ; N bracketleftbt ; B 118 -249 518 250 ; +C 244 ; WX 500 ; N upsilondieresis ; B 39 -11 457 664 ; +C 245 ; WX 500 ; N upsilondieresisacute ; B 39 -11 457 750 ; +C 246 ; WX 500 ; N upsilondieresisgrave ; B 39 -11 457 750 ; +C 247 ; WX 444 ; N bracketrightbt ; B -74 -249 326 250 ; +C 248 ; WX 0 ; N iotasubalpha ; B -265 -300 -165 -53 ; +C 249 ; WX 0 ; N iotasubeta ; B -395 -300 -293 -97 ; +C 250 ; WX 0 ; N iotasubomega ; B -355 -300 -255 -53 ; +C 251 ; WX 472 ; N rhoasper ; B 42 -260 429 700 ; +C 252 ; WX 472 ; N rholenis ; B 42 -260 429 700 ; +C 253 ; WX 444 ; N dagger ; B 46 -243 378 735 ; +C 254 ; WX 444 ; N daggerdbl ; B 55 -230 388 735 ; +C 255 ; WX 500 ; N aspirate ; B -31 -11 511 694 ; +EndCharMetrics +StartKernData +StartKernPairs 375 +KPX asperperispomene Alpha -361 +KPX asperperispomene Epsilon -111 +KPX asperperispomene Eta -111 +KPX asperperispomene Iota -111 +KPX asperperispomene Omicron -167 +KPX asperperispomene Omega -167 +KPX asperperispomene Upsilon -111 +KPX Alpha iota 28 +KPX Epsilon iota 28 +KPX Omega iota 28 +KPX lenisperispomene Alpha -361 +KPX lenisperispomene Epsilon -111 +KPX lenisperispomene Eta -111 +KPX lenisperispomene Iota -111 +KPX lenisperispomene Omicron -167 +KPX lenisperispomene Omega -139 +KPX lenisperispomene Upsilon -111 +KPX lenisacute Alpha -333 +KPX lenisacute Epsilon -56 +KPX lenisacute Eta -56 +KPX lenisacute Omicron -139 +KPX lenisacute Omega -83 +KPX lenisacute Iota -56 +KPX lenisacute Upsilon -83 +KPX lenisgrave Alpha -278 +KPX lenisgrave Epsilon -83 +KPX lenisgrave Eta -83 +KPX lenisgrave Omicron -111 +KPX lenisgrave Omega -56 +KPX lenisgrave Iota -111 +KPX lenisgrave Upsilon -56 +KPX alpha iota 28 +KPX beta iota 83 +KPX delta iota 28 +KPX delta eta -28 +KPX epsilon iota 28 +KPX phi iota 28 +KPX eta iota 83 +KPX eta iotagrave 83 +KPX eta iotaacute 83 +KPX eta iotaperispomene 83 +KPX eta iotaasperacute 83 +KPX eta iotaaspergrave 83 +KPX eta iotaasperperispomene 83 +KPX eta iotalenisacute 83 +KPX eta iotalenisgrave 83 +KPX eta iotalenisperispomene 83 +KPX iota ksi -28 +KPX iota delta -28 +KPX iota phi -28 +KPX iota gamma -56 +KPX iota eta -28 +KPX iota kappa -28 +KPX iota lambda -28 +KPX iota nu -83 +KPX iota omicron -28 +KPX iota pi -28 +KPX iota theta -28 +KPX iota sigma -28 +KPX iota tau -56 +KPX iota upsilon -56 +KPX iota omega -28 +KPX iota chi -28 +KPX iota psi -28 +KPX kappa iota 28 +KPX mu omicron -28 +KPX mu omicronacute -28 +KPX mu omicrongrave -28 +KPX mu eta -28 +KPX mu etaacute -28 +KPX mu etagrave -28 +KPX mu etaperispomene -28 +KPX mu iotasubeta -28 +KPX nu iota 28 +KPX omicron nu -28 +KPX omicron eta -28 +KPX omicron lambda -28 +KPX pi iota 28 +KPX theta iota 28 +KPX rho iota 28 +KPX sigma iota 28 +KPX tau iota 28 +KPX upsilon iota 28 +KPX omega iota 28 +KPX omega nu -28 +KPX psi iota 28 +KPX alphagrave iota 28 +KPX alphaasper iota 28 +KPX aspergrave Alpha -278 +KPX aspergrave Epsilon -83 +KPX aspergrave Eta -83 +KPX aspergrave Omicron -111 +KPX aspergrave Omega -56 +KPX aspergrave Iota -111 +KPX aspergrave Upsilon -56 +KPX epsilonasperperispomene iota 28 +KPX asperacute Alpha -333 +KPX asperacute Epsilon -56 +KPX asperacute Eta -56 +KPX asperacute Omicron -139 +KPX asperacute Omega -83 +KPX asperacute Iota -56 +KPX asperacute Upsilon -83 +KPX alphaacute iota 28 +KPX alphaasperacute iota 28 +KPX alphalenisacute iota 28 +KPX alphaaspergrave iota 28 +KPX epsilonperispomene iota 28 +KPX alphaperispomene iota 28 +KPX alphaasperperispomene iota 28 +KPX alphalenisperispomene iota 28 +KPX alphalenisgrave iota 28 +KPX epsilonlenisperispomene iota 28 +KPX etagrave iota 28 +KPX etaasper iota 83 +KPX etalenis iota 83 +KPX etaaspergrave iota 28 +KPX dotbt iota 28 +KPX etaacute iota 28 +KPX etaasperacute iota 28 +KPX etalenisacute iota 28 +KPX etalenisgrave iota 28 +KPX etaperispomene iota 28 +KPX etaasperperispomene iota 28 +KPX etalenisperispomene iota 28 +KPX omegagrave iota 28 +KPX omegagrave nu -28 +KPX omegaasper nu -28 +KPX omegalenis nu -28 +KPX omegaaspergrave iota 28 +KPX omegaaspergrave nu -28 +KPX omegaacute iota 28 +KPX omegaacute nu -28 +KPX omegaasperacute iota 28 +KPX omegaasperacute nu -28 +KPX omegalenisacute iota 28 +KPX omegalenisacute nu -28 +KPX omegalenisgrave iota 28 +KPX omegalenisgrave nu -28 +KPX omegaperispomene iota 28 +KPX omegaperispomene nu -28 +KPX omegaasperperispomene iota 28 +KPX omegaasperperispomene nu -28 +KPX omegalenisperispomene iota 28 +KPX omegalenisperispomene nu -28 +KPX asper Alpha -389 +KPX asper Epsilon -167 +KPX asper Eta -167 +KPX asper Rho -167 +KPX asper Omicron -194 +KPX asper Omega -139 +KPX asper Iota -167 +KPX asper Upsilon -167 +KPX lenis Alpha -333 +KPX lenis Epsilon -111 +KPX lenis Eta -111 +KPX lenis Rho -111 +KPX lenis Omicron -139 +KPX lenis Omega -111 +KPX lenis Iota -111 +KPX lenis Upsilon -111 +KPX iotagrave ksi -28 +KPX iotagrave delta -28 +KPX iotagrave phi -28 +KPX iotagrave gamma -56 +KPX iotagrave eta -28 +KPX iotagrave kappa -28 +KPX iotagrave lambda -28 +KPX iotagrave nu -83 +KPX iotagrave omicron -28 +KPX iotagrave pi -28 +KPX iotagrave theta -28 +KPX iotagrave sigma -28 +KPX iotagrave tau -56 +KPX iotagrave upsilon -56 +KPX iotagrave omega -28 +KPX iotagrave chi -28 +KPX iotagrave psi -28 +KPX iotaasper ksi -28 +KPX iotaasper delta -28 +KPX iotaasper phi -28 +KPX iotaasper gamma -56 +KPX iotaasper eta -28 +KPX iotaasper kappa -28 +KPX iotaasper lambda -28 +KPX iotaasper nu -83 +KPX iotaasper omicron -28 +KPX iotaasper pi -28 +KPX iotaasper theta -28 +KPX iotaasper sigma -28 +KPX iotaasper tau -56 +KPX iotaasper upsilon -56 +KPX iotaasper omega -28 +KPX iotaasper chi -28 +KPX iotaasper psi -28 +KPX iotalenis ksi -28 +KPX iotalenis delta -28 +KPX iotalenis phi -28 +KPX iotalenis gamma -56 +KPX iotalenis eta -28 +KPX iotalenis kappa -28 +KPX iotalenis lambda -28 +KPX iotalenis nu -83 +KPX iotalenis omicron -28 +KPX iotalenis pi -28 +KPX iotalenis theta -28 +KPX iotalenis sigma -28 +KPX iotalenis tau -56 +KPX iotalenis upsilon -56 +KPX iotalenis omega -28 +KPX iotalenis chi -28 +KPX iotalenis psi -28 +KPX iotaaspergrave delta -28 +KPX iotaaspergrave phi -28 +KPX iotaaspergrave gamma -56 +KPX iotaaspergrave eta -28 +KPX iotaaspergrave nu -83 +KPX iotaaspergrave omicron -28 +KPX iotaaspergrave pi -28 +KPX iotaaspergrave theta -28 +KPX iotaaspergrave sigma -28 +KPX iotaaspergrave tau -28 +KPX iotaaspergrave upsilon -56 +KPX iotaaspergrave omega -28 +KPX iotaaspergrave chi -28 +KPX upsilonaspergrave iota 28 +KPX iotaacute ksi -28 +KPX iotaacute delta -28 +KPX iotaacute phi -28 +KPX iotaacute gamma -56 +KPX iotaacute eta -28 +KPX iotaacute kappa -28 +KPX iotaacute lambda -28 +KPX iotaacute nu -83 +KPX iotaacute omicron -28 +KPX iotaacute pi -28 +KPX iotaacute theta -28 +KPX iotaacute sigma -28 +KPX iotaacute tau -56 +KPX iotaacute upsilon -56 +KPX iotaacute omega -28 +KPX iotaacute chi -28 +KPX iotaacute psi -28 +KPX iotaasperacute delta -28 +KPX iotaasperacute phi -28 +KPX iotaasperacute gamma -56 +KPX iotaasperacute eta -28 +KPX iotaasperacute nu -83 +KPX iotaasperacute omicron -28 +KPX iotaasperacute pi -28 +KPX iotaasperacute theta -28 +KPX iotaasperacute sigma -28 +KPX iotaasperacute tau -28 +KPX iotaasperacute upsilon -56 +KPX iotaasperacute omega -28 +KPX iotaasperacute chi -28 +KPX iotalenisacute delta -28 +KPX iotalenisacute phi -28 +KPX iotalenisacute gamma -56 +KPX iotalenisacute eta -28 +KPX iotalenisacute nu -83 +KPX iotalenisacute omicron -28 +KPX iotalenisacute pi -28 +KPX iotalenisacute theta -28 +KPX iotalenisacute sigma -28 +KPX iotalenisacute tau -28 +KPX iotalenisacute upsilon -56 +KPX iotalenisacute omega -28 +KPX iotalenisacute chi -28 +KPX iotalenisgrave delta -28 +KPX iotalenisgrave phi -28 +KPX iotalenisgrave gamma -56 +KPX iotalenisgrave eta -28 +KPX iotalenisgrave nu -83 +KPX iotalenisgrave omicron -28 +KPX iotalenisgrave pi -28 +KPX iotalenisgrave theta -28 +KPX iotalenisgrave sigma -28 +KPX iotalenisgrave tau -28 +KPX iotalenisgrave upsilon -56 +KPX iotalenisgrave omega -28 +KPX iotalenisgrave chi -28 +KPX upsilonacute iota 28 +KPX upsilonasperacute iota 28 +KPX upsilonlenisacute iota 28 +KPX upsilonlenisgrave iota 28 +KPX iotaperispomene delta -28 +KPX iotaperispomene phi -28 +KPX iotaperispomene gamma -56 +KPX iotaperispomene eta -28 +KPX iotaperispomene nu -83 +KPX iotaperispomene omicron -28 +KPX iotaperispomene pi -28 +KPX iotaperispomene theta -28 +KPX iotaperispomene sigma -28 +KPX iotaperispomene tau -28 +KPX iotaperispomene upsilon -56 +KPX iotaperispomene omega -28 +KPX iotaperispomene chi -28 +KPX iotaasperperispomene delta -28 +KPX iotaasperperispomene phi -28 +KPX iotaasperperispomene gamma -56 +KPX iotaasperperispomene eta -28 +KPX iotaasperperispomene nu -83 +KPX iotaasperperispomene omicron -28 +KPX iotaasperperispomene pi -28 +KPX iotaasperperispomene theta -28 +KPX iotaasperperispomene sigma -28 +KPX iotaasperperispomene tau -28 +KPX iotaasperperispomene upsilon -56 +KPX iotaasperperispomene omega -28 +KPX iotaasperperispomene chi -28 +KPX iotalenisperispomene delta -28 +KPX iotalenisperispomene phi -28 +KPX iotalenisperispomene gamma -56 +KPX iotalenisperispomene eta -28 +KPX iotalenisperispomene nu -83 +KPX iotalenisperispomene omicron -28 +KPX iotalenisperispomene pi -28 +KPX iotalenisperispomene theta -28 +KPX iotalenisperispomene sigma -28 +KPX iotalenisperispomene tau -28 +KPX iotalenisperispomene upsilon -56 +KPX iotalenisperispomene omega -28 +KPX iotalenisperispomene chi -28 +KPX upsilonperispomene iota 28 +KPX upsilonasperperispomene iota 28 +KPX upsilonlenisperispomene iota 28 +KPX epsilongrave iota 28 +KPX epsilonlenisgrave iota 28 +KPX omicrongrave eta -28 +KPX omicrongrave lambda -28 +KPX omicrongrave nu -28 +KPX omicronasper nu -28 +KPX omicronasper eta -28 +KPX omicronlenis nu -28 +KPX omicronlenis eta -28 +KPX epsilonacute iota 28 +KPX epsilonasperacute iota 28 +KPX epsilonlenisacute iota 28 +KPX epsilonaspergrave iota 28 +KPX omicronacute eta -28 +KPX omicronacute lambda -28 +KPX omicronacute nu -28 +KPX iotadieresisacute delta -28 +KPX iotadieresisacute phi -28 +KPX iotadieresisacute gamma -56 +KPX iotadieresisacute eta -28 +KPX iotadieresisacute nu -83 +KPX iotadieresisacute omicron -28 +KPX iotadieresisacute pi -28 +KPX iotadieresisacute theta -28 +KPX iotadieresisacute sigma -28 +KPX iotadieresisacute tau -28 +KPX iotadieresisacute upsilon -56 +KPX iotadieresisacute omega -28 +KPX iotadieresisacute chi -28 +KPX iotadieresisgrave delta -28 +KPX iotadieresisgrave phi -28 +KPX iotadieresisgrave gamma -56 +KPX iotadieresisgrave eta -28 +KPX iotadieresisgrave nu -83 +KPX iotadieresisgrave omicron -28 +KPX iotadieresisgrave pi -28 +KPX iotadieresisgrave theta -28 +KPX iotadieresisgrave sigma -28 +KPX iotadieresisgrave tau -28 +KPX iotadieresisgrave upsilon -56 +KPX iotadieresisgrave omega -28 +KPX iotadieresisgrave chi -28 +KPX upsilondieresisacute iota 28 +KPX upsilondieresisgrave iota 28 +KPX iotasubeta iota 28 +KPX rhoasper iota 28 +KPX rholenis iota 28 +EndKernPairs +EndKernData +EndFontMetrics
\ No newline at end of file diff --git a/fonts/greek/ibygrk/fonts/enc/dvips/ibycus4/IbycusHTG.enc b/fonts/greek/ibygrk/fonts/enc/dvips/ibycus4/IbycusHTG.enc new file mode 100644 index 0000000000..7af7eed92a --- /dev/null +++ b/fonts/greek/ibygrk/fonts/enc/dvips/ibycus4/IbycusHTG.enc @@ -0,0 +1,71 @@ +/IbycusHTGEncoding [ % now 256 chars follow +% 0x00 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 0x10 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 0x20 +/space /exclam /dieresis /dieresisacute +/dieresisgrave /percent /endash /quotesnglright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +% 0x30 +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /colongreek /angleleft /equal /angleright /questiongreek +% 0x40 +/asperperispomene /Alpha /Beta /Ksi /Delta /Epsilon /Phi /Gamma +/Eta /Iota /cigmalunate /Kappa /Lambda /Mu /Nu /Omicron +% 0x50 +/Pi /Theta /Rho /Sigma /Tau /Upsilon /Digamma /Omega +/Chi /Psi /Zeta /bracketleft +/lenisperispomene /bracketright /lenisacute /lenisgrave +% 0x60 +/quotesnglleft /alpha /beta /ksi /delta /epsilon /phi /gamma +/eta /iota /sigmafinal /kappa /lambda /mu /nu /omicron +% 0x70 +/pi /theta /rho /sigma /tau /upsilon /digamma /omega +/chi /psi /zeta /guillemetsleft +/iotasubscript /guillemetsright /perispomene /emdash +% 0x80 +/alphagrave /alphaasper /alphalenis /aspergrave +/epsilonasperperispomene /omicronperispomene /Koppa /asperacute +/alphaacute /alphaasperacute /alphalenisacute /alphaaspergrave +/epsilonperispomene /omicronasperperispomene /koppa /sampi +% 0x90 +/alphaperispomene /alphaasperperispomene +/alphalenisperispomene /alphalenisgrave +/epsilonlenisperispomene /omicronlenisperispomene /Cigmalunate /.notdef +/etagrave /etaasper /etalenis /etaaspergrave +/dotI /dotJdlmnpqu /dotbt /dotchjz +% 0xA0 +/etaacute /etaasperacute /etalenisacute /etalenisgrave +/doti /dotGZ /dotkos /dotCEVaw +/etaperispomene /etaasperperispomene /etalenisperispomene /quotedblleft +/dote /dotH /dotBFLNPRSTW /quotedblright +% 0xB0 +/omegagrave /omegaasper /omegalenis /omegaaspergrave +/dotDK /dotfy /dotgx /dotkoppa +/omegaacute /omegaasperacute /omegalenisacute /omegalenisgrave +/dotAOQUXY /grave /acute /dotr +% 0xC0 +/omegaperispomene /omegaasperperispomene /omegalenisperispomene /asper +/dotM /breve /macron /lenis +/iotagrave /iotaasper /iotalenis /iotaaspergrave +/upsilongrave /upsilonasper /upsilonlenis /upsilonaspergrave +% 0xD0 +/iotaacute /iotaasperacute /iotalenisacute /iotalenisgrave +/upsilonacute /upsilonasperacute /upsilonlenisacute /upsilonlenisgrave +/iotaperispomene /iotaasperperispomene /iotalenisperispomene /braceleft +/upsilonperispomene /upsilonasperperispomene +/upsilonlenisperispomene /braceright +% 0xE0 +/epsilongrave /epsilonasper /epsilonlenis /epsilonlenisgrave +/omicrongrave /omicronasper /omicronlenis /omicronaspergrave +/epsilonacute /epsilonasperacute /epsilonlenisacute /epsilonaspergrave +/omicronacute /omicronasperacute /omicronlenisacute /omicronlenisgrave +% 0xF0 +/iotadieresis /iotadieresisacute /iotadieresisgrave /bracketleftbt +/upsilondieresis /upsilondieresisacute /upsilondieresisgrave /bracketrightbt +/iotasubalpha /iotasubeta /iotasubomega /rhoasper +/rholenis /dagger /daggerdbl /aspirate +] def
\ No newline at end of file diff --git a/fonts/greek/ibygrk/fonts/map/dvips/ibycus4/iby.map b/fonts/greek/ibygrk/fonts/map/dvips/ibycus4/iby.map new file mode 100644 index 0000000000..dd5e6506f0 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/map/dvips/ibycus4/iby.map @@ -0,0 +1,3 @@ +fibr84 IbycusHTG-Regular <fibr84.pfb +fibo84 IbycusHTG-Regular ".167 SlantFont" <fibr84.pfb +fibb84 FIBB84 <fibb84.pfb diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/abary4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/abary4.mf new file mode 100644 index 0000000000..c007564b56 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/abary4.mf @@ -0,0 +1,14 @@ +savedpicture = barypicture; % it was cleared at the end of a.mf +%% but the dimensions set in a.mf remain. + +cmchar "Lowercase alpha with rough breathing and grave"; +beginchar(a_asprbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)<; endchar; + +cmchar "Lowercase alpha with smooth breathing and grave"; +beginchar(a_lenbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)>; endchar; + +picture barypicture; +picture pic.iota; +picture savedpicture; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/cigma4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/cigma4.mf new file mode 100644 index 0000000000..e8a87171ef --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/cigma4.mf @@ -0,0 +1,22 @@ +def dims=8u#,x_height#,desc_depth# enddef; +def ital = 0 enddef; +def fit_params = 0,0 enddef; + +def gen_letter = + pickup fine.nib; + pos4(hair,-180); y4=.5h; lft x4r=hround .75u; %left bulge + pos6(hair,-90); rt x6l=hround(w-.75u); %bottom right + top y3r=h+oo; x3+.5stem=rt x6l; pos3(stem,90); %top right + pos5(stem,-90); bot y5r=-o; x5=.5w; %low pt +% bot y6r= top y5l; + bot y6 = 0; % The rise y5-y6 must be very slight. + % In some hands, it is even a drop. + filldraw double_circ_stroke %bowl + z6e...z5e{left}...z4e{up}...z3e{right}; +enddef; + +cmchar "Lowercase lunate sigma"; +beginchar(cigmalunate,dims); +this_letter; penlabels(1,2,3,4,5,6,7,8); endchar; + +picture savedpicture;
\ No newline at end of file diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/digamma4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/digamma4.mf new file mode 100644 index 0000000000..52f6ef979b --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/digamma4.mf @@ -0,0 +1,28 @@ +def dims = 7.5u#,x_height#,desc_depth# enddef; +def ital = 0 enddef; +def fit_params = -.25,0 enddef; + +% composed of a modified pi-bar and the tail of eta + +def gen_letter= + pickup fine.nib; + pos3(vstem,-90); rt x3=hround(w-.75u); top y3l=x_height; %top right + pos2(vstem,-90); y2=y3; x2=1/3w; %top left + x1-.5hair=hround1.75u; y1-.5hair=4/3[top y2l,bot y2r]; %tip of bar + numeric slope; slope=angle((z2-z1)yscaled 2); pos1(hair,slope-90); + forsuffixes e=l,r: z1'e=(z2e-z1e)yscaled 2; endfor + filldraw circ_stroke z1e{z1'e}...z2e---z3e; %bar + pos4(hair,0); z4=z1; %attachment + x5=x6; x6=x1-.5u; + y5=y6; bot y6l-.5stem=-d-o; pos5(stem,0); pos6(stem,90); + pos7(vstem,-90); rt x7=hround(w-.85u); top y7l=bar_height; + pos8(vstem,angle(z5-z1)); top y8l=bar_height; z8 = whatever[z5,z1]; + filldraw circ_stroke z5e...z1e; + filldraw stroke z8e--z7e; +enddef; + +cmchar "Lowercase digamma"; +beginchar(digamma,dims); +this_letter; penlabels(1,2,3,5,7,8); endchar; + +picture savedpicture;
\ No newline at end of file diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ebary4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ebary4.mf new file mode 100644 index 0000000000..05e5598eac --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ebary4.mf @@ -0,0 +1,81 @@ +savedpicture = barypicture; % it was cleared at the end of e.mf +%% but the dimensions set in e.mf remain. + +% The acute and grave accents are lifted above the normal position and +% are also shortened slightly, with the reduction at the bottom of the +% accent. This is because epsilon has a much larger overshoot than +% other rounded characters, and the accent tends to bleed into it. + + +def eps_grave(expr center) = +if serifs: x22-x21=1/4w; x21-.5stem=hround(center-2/3(x22-x21)-.5stem); +else: lft x21l=hround (1/4w-.5stem); rt x22r=hround(center+.25u+.5vair); fi + begingroup; + numeric saved_h; + numeric saved_x_height; + saved_x_height = x_height; + saved_h=h; + save h; + save x_height; + h=saved_h + .75vair; + x_height = saved_x_height + vair; +generate_grave; penlabels(21,22); + endgroup; +enddef; + +def eps_acute(expr center) = +if serifs: x21-x22=1/4w; x21+.5stem=hround(center+2/3(x21-x22)+.5stem); +else: rt x21r=hround (3/4w+.5stem); lft x22l=hround(center-.25u-.5vair); fi + begingroup; + numeric saved_h; + numeric saved_x_height; + saved_x_height = x_height; + saved_h=h; + save h; + save x_height; + h:=saved_h+.75vair; + x_height = saved_x_height + vair; +generate_grave; penlabels(21,22); + endgroup; +enddef; + +cmchar "Lowercase epsilon with adjusted grave"; +beginchar(e_bary,width#,acc_ht#,0); +this_letter; eps_grave(x_baryctr); +endchar; + +cmchar "Lowercase epsilon with adjusted acute"; +beginchar(e_oxy,width#,acc_ht#,0); +this_letter; eps_acute(x_baryctr); endchar; + +%cmchar "Lowercase epsilon with rough breathing and acute"; +%beginchar(e_asproxy,width#,acc_ht#,0); +%this_letter; spirit_acute(x_baryctr)<; endchar; + +%cmchar "Lowercase epsilon with smooth breathing and acute"; +%beginchar(e_lenoxy,width#,acc_ht#,0); +%this_letter; spirit_acute(x_baryctr)>; endchar; + +cmchar "Lowercase epsilon with rough breathing and grave"; +beginchar(e_asprbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)<; endchar; + +cmchar "Lowercase epsilon with smooth breathing and grave"; +beginchar(e_lenbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)>; endchar; + +cmchar "Lowercase epsilon with circumflex (Attic)"; +beginchar(e_peri,width#,acc_ht#,0); +this_letter; circumflex(x_baryctr); endchar; + +cmchar "Lowercase epsilon with rough breathing and circumflex (Attic)"; +beginchar(e_asprperi,width#,Circ_ht#,0); +this_letter; spirit_circumflex(x_baryctr)<; endchar; + +cmchar "Lowercase epsilon with smooth breathing and circumflex (Attic)"; +beginchar(e_lenperi,width#,Circ_ht#,0); +this_letter; spirit_circumflex(x_baryctr)>; endchar; + +picture barypicture; +picture pic.iota; +picture savedpicture; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb84.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb84.mf new file mode 100644 index 0000000000..f4eae460d5 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb84.mf @@ -0,0 +1,83 @@ +% Ibycus4 Greek Bold (Levy Bold) 10 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4B"; font_size 10pt#; + +u#:=22/36pt#; % unit width +width_adj#:=11/36pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=247/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=160/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=85/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=90/36pt#; % depth of lowercase descenders %was 70 +acc_ht#:=250/36pt#; +circ_ht#:=230/36pt#; +Circ_ht#:=250/36pt#; +iota_dp#:=72/36pt#; + +crisp#:=0pt#; % diameter of serif corners +tiny#:=13/36pt#; % diameter of rounded corners +fine#:=10/36pt#; % diameter of sharply rounded corners +thin_join#:=10/36pt#; % width of extrafine details +hair#:=13/36pt#; % lowercase hairline breadth (was 17) +stem#:=38/36pt#; % lowercase stem breadth (was 41) +curve#:=41/36pt#; % lowercase curve breadth (was 46) +ess#:=38/36pt#; % breadth in middle of lowercase s +flare#:=41/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=56/36pt#; % diameter of dots +cap_hair#:=19/36pt#; % uppercase hairline breadth +cap_stem#:=51/36pt#; % uppercase stem breadth +cap_curve#:=55/36pt#; % uppercase curve breadth +cap_ess#:=53/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.6pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=10/36pt#; % vertical distance from serif base to tangent +jut#:=25/36pt#; % protrusion of lowercase serifs +cap_jut#:=39/36pt#; % protrusion of uppercase serifs +beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=11/36pt#; % vertical diameter of hairlines (was 13) +notch_cut#:=10/36pt#; % maximum breadth above or below notches +bar#:=17/36pt#; % lowercase bar thickness +slab#:=17/36pt#; % serif and arm thickness +cap_bar#:=17/36pt#; % uppercase bar thickness +cap_band#:=17/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=3/36pt#; % vertical drop of sloped serifs +stem_corr#:=2/36pt#; % for small refinements of stem breadth +vair_corr#:=1.5/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=4/36pt#; % amount of overshoot for curves +apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.5; % extra openness of math symbols +superness:=8/11; % parameter for superellipses +superpull:=1/8; % extra openness inside bowls +beak_darkness:=.4; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; % are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb848.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb848.mf new file mode 100644 index 0000000000..8dbfd1327c --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb848.mf @@ -0,0 +1,83 @@ +% Ibycus4 Greek Bold (Levy Bold) 8 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4B"; font_size 8pt#; + +u#:=17.6/36pt#; % unit width +width_adj#:=9/36pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5.6/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=216.0/36pt#; % height of tallest characters +asc_height#:=200.0/36pt#; % height of lowercase ascenders +cap_height#:=197.6/36pt#; % height of caps +fig_height#:=185.6/36pt#; % height of numerals +x_height#:=128.0/36pt#; % height of lowercase without ascenders +math_axis#:=72.0/36pt#; % axis of symmetry for math symbols +bar_height#:=68.0/36pt#; % height of crossbar in lowercase e +comma_depth#:=56.0/36pt#; % depth of comma below baseline +desc_depth#:=54.0/36pt#; % depth of lowercase descenders +acc_ht#:=200.0/36pt#; +circ_ht#:=184.0/36pt#; +Circ_ht#:=200.0/36pt#; +iota_dp#:=57.6/36pt#; + +crisp#:=0pt#; % diameter of serif corners +tiny#:=104.0/36pt#; % diameter of rounded corners +fine#:=70.0/36pt#; % diameter of sharply rounded corners +thin_join#:=70.0/36pt#; % width of extrafine details +hair#:=11.7/36pt#; % lowercase hairline breadth +stem#:=34.2/36pt#; % lowercase stem breadth +curve#:=32.8/36pt#; % lowercase curve breadth +ess#:=34.2/36pt#; % breadth in middle of lowercase s +flare#:=36.9/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=44.8/36pt#; % diameter of dots +cap_hair#:=17.1/36pt#; % uppercase hairline breadth +cap_stem#:=40.8/36pt#; % uppercase stem breadth +cap_curve#:=44.0/36pt#; % uppercase curve breadth +cap_ess#:=42.4/36pt#; % breadth in middle of uppercase s +rule_thickness#:=0.54pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=8.0/36pt#; % vertical distance from serif base to tangent +jut#:=20.0/36pt#; % protrusion of lowercase serifs +cap_jut#:=31.2/36pt#; % protrusion of uppercase serifs +beak_jut#:=8.8/36pt#; % horizontal protrusion of beak serifs +beak#:=56.0/36pt#; % vertical protrusion of beak serifs +vair#:=8.8/36pt#; % vertical diameter of hairlines +notch_cut#:=10/36pt#; % maximum breadth above or below notches +bar#:=15.3/36pt#; % lowercase bar thickness +slab#:=15.3/36pt#; % serif and arm thickness +cap_bar#:=15.3/36pt#; % uppercase bar thickness +cap_band#:=15.3/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=8.00pt#; % max breadth above/below uppercase notches +serif_drop#:=2.4/36pt#; % vertical drop of sloped serifs +stem_corr#:=2.0/36pt#; % for small refinements of stem breadth +vair_corr#:=1.5/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=3.2/36pt#; % amount of overshoot for curves +apex_o#:=2.4/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.5; % extra openness of math symbols +superness:=8/11; % parameter for superellipses +superpull:=1/8; % extra openness inside bowls +beak_darkness:=.4; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; % are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb849.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb849.mf new file mode 100644 index 0000000000..82a47a1ad7 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb849.mf @@ -0,0 +1,83 @@ +% Ibycus4 Greek Bold (Levy Bold) 9 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4B"; font_size 9pt#; + +u#:=19.8/36pt#; % unit width +width_adj#:=10.0/36pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=6.3/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=243.0/36pt#; % height of tallest characters +asc_height#:=225.0/36pt#; % height of lowercase ascenders +cap_height#:=222.3/36pt#; % height of caps +fig_height#:=208.8/36pt#; % height of numerals +x_height#:=144.0/36pt#; % height of lowercase without ascenders +math_axis#:=81.0/36pt#; % axis of symmetry for math symbols +bar_height#:=76.5/36pt#; % height of crossbar in lowercase e +comma_depth#:=63.0/36pt#; % depth of comma below baseline +desc_depth#:=72.0/36pt#; % depth of lowercase descenders %was 70 +acc_ht#:=225.0/36pt#; +circ_ht#:=207.0/36pt#; +Circ_ht#:=225.0/36pt#; +iota_dp#:=64.8/36pt#; + +crisp#:=0pt#; % diameter of serif corners +tiny#:=58.5/36pt#; % diameter of rounded corners +fine#:=40.0/36pt#; % diameter of sharply rounded corners +thin_join#:=40.0/36pt#; % width of extrafine details +hair#:=12.3/36pt#; % lowercase hairline breadth (was 17) +stem#:=36.1/36pt#; % lowercase stem breadth (was 41) +curve#:=36.9/36pt#; % lowercase curve breadth (was 46) +ess#:=36.1/36pt#; % breadth in middle of lowercase s +flare#:=39.0/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=50.4/36pt#; % diameter of dots +cap_hair#:=18.1/36pt#; % uppercase hairline breadth +cap_stem#:=45.9/36pt#; % uppercase stem breadth +cap_curve#:=49.5/36pt#; % uppercase curve breadth +cap_ess#:=47.7/36pt#; % breadth in middle of uppercase s +rule_thickness#:=0.57pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=9.0/36pt#; % vertical distance from serif base to tangent +jut#:=22.5/36pt#; % protrusion of lowercase serifs +cap_jut#:=35.1/36pt#; % protrusion of uppercase serifs +beak_jut#:=9.9/36pt#; % horizontal protrusion of beak serifs +beak#:=63.0/36pt#; % vertical protrusion of beak serifs +vair#:=9.9/36pt#; % vertical diameter of hairlines (was 13) +notch_cut#:=10/36pt#; % maximum breadth above or below notches +bar#:=16.1/36pt#; % lowercase bar thickness +slab#:=16.1/36pt#; % serif and arm thickness +cap_bar#:=16.1/36pt#; % uppercase bar thickness +cap_band#:=16.1/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=9.00pt#; % max breadth above/below uppercase notches +serif_drop#:=2.7/36pt#; % vertical drop of sloped serifs +stem_corr#:=2.0/36pt#; % for small refinements of stem breadth +vair_corr#:=1.5/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=3.6/36pt#; % amount of overshoot for curves +apex_o#:=2.7/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.5; % extra openness of math symbols +superness:=8/11; % parameter for superellipses +superpull:=1/8; % extra openness inside bowls +beak_darkness:=.4; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; % are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo84.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo84.mf new file mode 100644 index 0000000000..b6d6861c1c --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo84.mf @@ -0,0 +1,88 @@ +% Ibycus 4 Greek Obliqued (Levy Regular) 10 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4SL"; font_size 10pt#; + +u#:=20/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +% circ_ht is raised to allow more roll to circumflex +% iota subscript is brought down to the bottom shoulder. +% more or less proportions of the OCT Porson hand. Asked +% for by editor of Classical Antiquity (U.C.Berkeley) + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=82/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=90/36pt#; % depth of lowercase descenders +acc_ht#:=250/36pt#; +circ_ht#:=235/36pt#; % x_height# + 16/19(asc_height#-x_height#) +Circ_ht#:=270/36pt#; % move circumflex over breathing up to top shoulder +iota_dp#:=110/36pt#; % right on the bottom shoulder + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=27/36pt#; % lowercase stem breadth +curve#:=30/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=27/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=32/36pt#; % uppercase stem breadth +cap_curve#:=37/36pt#; % uppercase curve breadth +cap_ess#:=35/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; %are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo848.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo848.mf new file mode 100644 index 0000000000..2366f06d0f --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo848.mf @@ -0,0 +1,88 @@ +% Ibycus 4 Greek Obliqued (Levy Regular) 8 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4SL"; font_size 8pt#; + +u#:=17/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +% circ_ht is raised to allow more roll to circumflex +% iota subscript is brought down to the bottom shoulder. +% more or less proportions of the OCT Porson hand. Asked +% for by editor of Classical Antiquity (U.C.Berkeley) + +body_height#:=216/36pt#; % height of tallest characters +asc_height#:=200/36pt#; % height of lowercase ascenders +cap_height#:=196.8/36pt#; % height of caps +fig_height#:=185.6/36pt#; % height of numerals +x_height#:=124/36pt#; % height of lowercase without ascenders +math_axis#:=72/36pt#; % axis of symmetry for math symbols +bar_height#:=69.6/36pt#; % height of crossbar in lowercase e +comma_depth#:=56/36pt#; % depth of comma below baseline +desc_depth#:=56/36pt#; % depth of lowercase descenders +acc_ht#:=210/36pt#; +circ_ht#:=188/36pt#; % x_height# + 16/19(asc_height#-x_height#) +Circ_ht#:=216/36pt#; % move circumflex over breathing up to top shoulder +iota_dp#:=72/36pt#; % right on the bottom shoulder + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=8/36pt#; % lowercase hairline breadth +stem#:=24/36pt#; % lowercase stem breadth +curve#:=25.5/36pt#; % lowercase curve breadth +ess#:=23/36pt#; % breadth in middle of lowercase s +flare#:=23/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=32/36pt#; % diameter of dots +cap_hair#:=9.5/36pt#; % uppercase hairline breadth +cap_stem#:=26.5/36pt#; % uppercase stem breadth +cap_curve#:=30/36pt#; % uppercase curve breadth +cap_ess#:=27/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.36pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=16/36pt#; % vertical distance from serif base to tangent +jut#:=22/36pt#; % protrusion of lowercase serifs +cap_jut#:=29/36pt#; % protrusion of uppercase serifs +beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs +beak#:=56/36pt#; % vertical protrusion of beak serifs +vair#:=6.6/36pt#; % vertical diameter of hairlines +notch_cut#:=8pt#; % maximum breadth above or below notches +bar#:=9.5/36pt#; % lowercase bar thickness +slab#:=9.5/36pt#; % serif and arm thickness +cap_bar#:=9.5/36pt#; % uppercase bar thickness +cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches +serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=6/36pt#; % amount of overshoot for curves +apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions + +slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0.4; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; %are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo849.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo849.mf new file mode 100644 index 0000000000..1732b895a6 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo849.mf @@ -0,0 +1,88 @@ +% Ibycus 4 Greek Obliqued (Levy Regular) 9 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4SL"; font_size 9pt#; + +u#:=18.5/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=4.5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +% circ_ht is raised to allow more roll to circumflex +% iota subscript is brought down to the bottom shoulder. +% more or less proportions of the OCT Porson hand. Asked +% for by editor of Classical Antiquity (U.C.Berkeley) + +body_height#:=243.0/36pt#; % height of tallest characters +asc_height#:=225.0/36pt#; % height of lowercase ascenders +cap_height#:=221.4/36pt#; % height of caps +fig_height#:=208.8/36pt#; % height of numerals +x_height#:=139.5/36pt#; % height of lowercase without ascenders +math_axis#:=81.0/36pt#; % axis of symmetry for math symbols +bar_height#:=75.8/36pt#; % height of crossbar in lowercase e +comma_depth#:=63.0/36pt#; % depth of comma below baseline +desc_depth#:=73.0/36pt#; % depth of lowercase descenders +acc_ht#:=230.0/36pt#; +circ_ht#:=211.5/36pt#; % x_height# + 16/19(asc_height#-x_height#) +Circ_ht#:=243.0/36pt#; % move circumflex over breathing up to top shoulder +iota_dp#:=91/36pt#; % right on the bottom shoulder + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=8.5/36pt#; % lowercase hairline breadth +stem#:=25.5/36pt#; % lowercase stem breadth +curve#:=27.8/36pt#; % lowercase curve breadth +ess#:=25.0/36pt#; % breadth in middle of lowercase s +flare#:=25.0/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=35.0/36pt#; % diameter of dots +cap_hair#:=10.3/36pt#; % uppercase hairline breadth +cap_stem#:=29.3/36pt#; % uppercase stem breadth +cap_curve#:=33.5/36pt#; % uppercase curve breadth +cap_ess#:=31.0/36pt#; % breadth in middle of uppercase s +rule_thickness#:=0.38pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=18.0/36pt#; % vertical distance from serif base to tangent +jut#:=25.0/36pt#; % protrusion of lowercase serifs +cap_jut#:=33.0/36pt#; % protrusion of uppercase serifs +beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs +beak#:=63.0/36pt#; % vertical protrusion of beak serifs +vair#:=7.3/36pt#; % vertical diameter of hairlines +notch_cut#:=9.00pt#; % maximum breadth above or below notches +bar#:=10.3/36pt#; % lowercase bar thickness +slab#:=10.3/36pt#; % serif and arm thickness +cap_bar#:=10.3/36pt#; % uppercase bar thickness +cap_band#:=10.3/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=9.00pt#; % max breadth above/below uppercase notches +serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=7.0/36pt#; % amount of overshoot for curves +apex_o#:=7.0/36pt#; % amount of overshoot for diagonal junctions + +slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0.20; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; %are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr84.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr84.mf new file mode 100644 index 0000000000..cc64c8638f --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr84.mf @@ -0,0 +1,89 @@ +% Ibycus 4 Greek (Levy Regular) 10 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4R"; font_size 10pt#; + +u#:=20/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +% circ_ht is raised to allow more roll to circumflex +% iota subscript is brought down to the bottom shoulder. +% more or less proportions of the OCT Porson hand. Asked +% for by editor of Classical Antiquity (U.C.Berkeley) + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=82/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=90/36pt#; % depth of lowercase descenders +acc_ht#:=250/36pt#; +circ_ht#:=235/36pt#; % give the circumflex a lot more roll +Circ_ht#:=270/36pt#; % move circumflex over breathing up to top shoulder +iota_dp#:=110/36pt#; % get the hook of iota subscript right on the + % bottom shoulder. + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=27/36pt#; % lowercase stem breadth +curve#:=30/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=27/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=32/36pt#; % uppercase stem breadth +cap_curve#:=37/36pt#; % uppercase curve breadth +cap_ess#:=35/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; %are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr848.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr848.mf new file mode 100644 index 0000000000..a685e96362 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr848.mf @@ -0,0 +1,88 @@ +% Ibycus 4 Greek (Levy Regular) 8 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4R"; font_size 8pt#; + +u#:=17/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +% circ_ht is raised to allow more roll to circumflex +% iota subscript is brought down to the bottom shoulder. +% more or less proportions of the OCT Porson hand. Asked +% for by editor of Classical Antiquity (U.C.Berkeley) + +body_height#:=216/36pt#; % height of tallest characters +asc_height#:=200/36pt#; % height of lowercase ascenders +cap_height#:=196.8/36pt#; % height of caps +fig_height#:=185.6/36pt#; % height of numerals +x_height#:=124/36pt#; % height of lowercase without ascenders +math_axis#:=72/36pt#; % axis of symmetry for math symbols +bar_height#:=69.6/36pt#; % height of crossbar in lowercase e +comma_depth#:=56/36pt#; % depth of comma below baseline +desc_depth#:=56/36pt#; % depth of lowercase descenders +acc_ht#:=210/36pt#; +circ_ht#:=188/36pt#; % x_height# + 16/19(asc_height#-x_height#) +Circ_ht#:=216/36pt#; % move circumflex over breathing up to top shoulder +iota_dp#:=72/36pt#; % right on the bottom shoulder + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=8/36pt#; % lowercase hairline breadth +stem#:=24/36pt#; % lowercase stem breadth +curve#:=25.5/36pt#; % lowercase curve breadth +ess#:=23/36pt#; % breadth in middle of lowercase s +flare#:=23/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=32/36pt#; % diameter of dots +cap_hair#:=9.5/36pt#; % uppercase hairline breadth +cap_stem#:=26.5/36pt#; % uppercase stem breadth +cap_curve#:=30/36pt#; % uppercase curve breadth +cap_ess#:=27/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.36pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=16/36pt#; % vertical distance from serif base to tangent +jut#:=22/36pt#; % protrusion of lowercase serifs +cap_jut#:=29/36pt#; % protrusion of uppercase serifs +beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs +beak#:=56/36pt#; % vertical protrusion of beak serifs +vair#:=6.6/36pt#; % vertical diameter of hairlines +notch_cut#:=8pt#; % maximum breadth above or below notches +bar#:=9.5/36pt#; % lowercase bar thickness +slab#:=9.5/36pt#; % serif and arm thickness +cap_bar#:=9.5/36pt#; % uppercase bar thickness +cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches +serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=6/36pt#; % amount of overshoot for curves +apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0.4; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; %are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr849.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr849.mf new file mode 100644 index 0000000000..13da345708 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr849.mf @@ -0,0 +1,88 @@ +% Ibycus 4 Greek (Levy Regular) 9 point +if unknown cmbase: input cmbase fi +if unknown grbase: input grbase fi + +font_identifier:="IBY4R"; font_size 9pt#; + +u#:=18.5/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=4.5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +% circ_ht is raised to allow more roll to circumflex +% iota subscript is brought down to the bottom shoulder. +% more or less proportions of the OCT Porson hand. Asked +% for by editor of Classical Antiquity (U.C.Berkeley) + +body_height#:=243.0/36pt#; % height of tallest characters +asc_height#:=225.0/36pt#; % height of lowercase ascenders +cap_height#:=221.4/36pt#; % height of caps +fig_height#:=208.8/36pt#; % height of numerals +x_height#:=139.5/36pt#; % height of lowercase without ascenders +math_axis#:=81.0/36pt#; % axis of symmetry for math symbols +bar_height#:=75.8/36pt#; % height of crossbar in lowercase e +comma_depth#:=63.0/36pt#; % depth of comma below baseline +desc_depth#:=73.0/36pt#; % depth of lowercase descenders +acc_ht#:=230.0/36pt#; +circ_ht#:=211.5/36pt#; % x_height# + 16/19(asc_height#-x_height#) +Circ_ht#:=243.0/36pt#; % move circumflex over breathing up to top shoulder +iota_dp#:=91/36pt#; % right on the bottom shoulder + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=8.5/36pt#; % lowercase hairline breadth +stem#:=25.5/36pt#; % lowercase stem breadth +curve#:=27.8/36pt#; % lowercase curve breadth +ess#:=25.0/36pt#; % breadth in middle of lowercase s +flare#:=25.0/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=35.0/36pt#; % diameter of dots +cap_hair#:=10.3/36pt#; % uppercase hairline breadth +cap_stem#:=29.3/36pt#; % uppercase stem breadth +cap_curve#:=33.5/36pt#; % uppercase curve breadth +cap_ess#:=31.0/36pt#; % breadth in middle of uppercase s +rule_thickness#:=0.38pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=18.0/36pt#; % vertical distance from serif base to tangent +jut#:=25.0/36pt#; % protrusion of lowercase serifs +cap_jut#:=33.0/36pt#; % protrusion of uppercase serifs +beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs +beak#:=63.0/36pt#; % vertical protrusion of beak serifs +vair#:=7.3/36pt#; % vertical diameter of hairlines +notch_cut#:=9.00pt#; % maximum breadth above or below notches +bar#:=10.3/36pt#; % lowercase bar thickness +slab#:=10.3/36pt#; % serif and arm thickness +cap_bar#:=10.3/36pt#; % uppercase bar thickness +cap_band#:=10.3/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=9.00pt#; % max breadth above/below uppercase notches +serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=7.0/36pt#; % amount of overshoot for curves +apex_o#:=7.0/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +otilt:=.2; % tilt of inner bowl for the letter omicron +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0.20; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +straight:=false; % should stems, etc. be straight? +monowidth:=false; %are stem and hair more or less the same width? + +generate ibycus4; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/hbary4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/hbary4.mf new file mode 100644 index 0000000000..f18b66a3e8 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/hbary4.mf @@ -0,0 +1,25 @@ +savedpicture = barypicture; % it was cleared at the end of h.mf +%% but the dimensions set in h.mf remain. + +% The opened out accent clusters make an adjustment of "center" +% necessary. + +cmchar "recentered Lowercase eta with rough breathing and acute"; +beginchar(h_asproxy,width#,acc_ht#,desc_depth#); +this_letter; spirit_acute(x_baryctr -.75u)<; endchar; + +cmchar "recentered Lowercase eta with smooth breathing and acute"; +beginchar(h_lenoxy,width#,acc_ht#,desc_depth#); +this_letter; spirit_acute(x_baryctr -.75u)>; endchar; + +cmchar "Lowercase eta with rough breathing and grave"; +beginchar(h_asprbary,width#,acc_ht#,desc_depth#); +this_letter; spirit_grave(x_baryctr -.75u)<; endchar; + +cmchar "Lowercase eta with smooth breathing and grave"; +beginchar(h_lenbary,width#,acc_ht#,desc_depth#); +this_letter; spirit_grave(x_baryctr -.75u)>; endchar; + +picture barypicture; +picture pic.iota; +picture savedpicture; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibary4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibary4.mf new file mode 100644 index 0000000000..1bcead5dd7 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibary4.mf @@ -0,0 +1,15 @@ +savedpicture = barypicture; % it was cleared at the end of i.mf +%% but the dimensions set in i.mf remain. + +cmchar "Lowercase iota with rough breathing and grave"; +beginchar(i_asprbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)<; endchar; + +cmchar "Lowercase iota with smooth breathing and grave"; +beginchar(i_lenbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)>; endchar; + +picture barypicture; +picture pic.iota; +picture savedpicture; + diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyacc4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyacc4.mf new file mode 100644 index 0000000000..a8acfae64d --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyacc4.mf @@ -0,0 +1,608 @@ +% Make sure the macros we want to replace are loaded +if unknown gen_acc : readfrom("gen_acc") fi +numeric doing_u; doing_u=0; % flag to position diaeresis + +def rough(suffix $,@)(expr dot_size,depth,shear) = + pickup fine.nib; pos$(dot_size,90); + if square_dots: pos$'(dot_size,180); z$'=z$; dot($',$); % squarish dot + comma_join_:=max(fine.breadth,floor .7dot_size); + comma_bot_:=max(fine.breadth,floor .5dot_size); + pos@0(comma_join_,180); pos@1(comma_join_,180); + pos@2(comma_bot_,180); y@0=y$; y@1=y$l; y@2=y@1+dot_size-depth; + x@0r=x@1r=x$'r; lft x@2r=good.x(x$-eps); + filldraw stroke z@0e--z@1e..z@2e; % tail + else: pos@1(vair,90); pos@2(vair,180); pos@3(vair,-90); + z@1r=z$r; y@1l:=y$; lft x@2r=hround(x$-.5depth+.5shear); + x@3+.5vair=x$+.5dot_size+shear; + y@2=.5[y@1,y@3]; bot y@3r=vround(top y@1r-depth); + % position a vertical path through the left side of the bulb + x@1'=x@1-.5dot_size; + % At the intersection of that path with SL's tail, get the direction + pair d@@; d@@=( direction + (xpart( (z@2{down}...z@3) intersectiontimes ((x@1',0){up}--(x@1',y@1)))) + of (z@2{down}...z@3)); + % Tilt a pen at a right angle to that direction + pos@3'(vair,angle(d@@)-90); + % Place it at the intersection. This will be the new end of the tail. + z@3'=directionpoint d@@ of(z@2{down}...z@3); + y_:=ypart((z@1{left}...z@2{down}...z@3) + intersectiontimes (z$l{left}..{right}z$r)); if y_<0: y_:=1; fi + filldraw z$r{right}..subpath (0,y_) of (z$l{left}..{right}z$r)--cycle; % dot + filldraw stroke z@1e{left}...z@2e{down}...{d@@}z@3'e; fi % tail + penlabels(@1,@2,@3); enddef; + +def smooth(suffix $,@)(expr dot_size,depth,shear) = + pickup fine.nib; pos$(dot_size,90); + if square_dots: pos$'(dot_size,0); z$'=z$; dot($',$); % squarish dot + comma_join_:=max(fine.breadth,floor .7dot_size); + comma_bot_:=max(fine.breadth,floor .5dot_size); + pos@0(comma_join_,0); pos@1(comma_join_,0); + pos@2(comma_bot_,0); y@0=y$; y@1=y$l; y@2=y@1+dot_size-depth; + x@0r=x@1r=x$'r; rt x@2r=good.x(x$-eps); + filldraw stroke z@0e--z@1e..z@2e; % tail + else: pos@1(vair,90); pos@2(vair,0); pos@3(vair,-90); + z@1r=z$r; y@1l:=y$; rt x@2r=hround(x$+.5depth+.5shear); + x@3-.5vair=hround(x$-.5dot_size+shear); + y@2=.5[y@1,y@3]; bot y@3r=vround(top y@1r-depth); + path pp; pp = (z@2{down}...z@3); + % position a vertical path through the right side of the bulb + x@1'=x@1+.5dot_size; + % At the intersection of that path with SL's tail, get the direction + pair d@@; d@@=( direction + (xpart( (z@2{down}...z@3) intersectiontimes ((x@1',0){up}--(x@1',y@1)))) + of (z@2{down}...z@3)); + % Tilt a pen at a right angle to that direction + pos@3'(vair,angle(d@@)+90); + % Place it at the intersection. This will be the new end of the tail. + z@3'=directionpoint d@@ of(z@2{down}...z@3); + y_:=ypart((z@1{right}...z@2{down}...z@3) + intersectiontimes (z$l{right}..{left}z$r)); if y_<0: y_:=1; fi + filldraw z$r{left}..subpath (0,y_) of (z$l{right}..{left}z$r)--cycle; % dot + filldraw stroke z@1e{right}...z@2e{down}...{d@@}z@3'e; fi % tail + penlabels(@1,@2,@3); enddef; + + +% Improve spacing with sprit plus accent groups. +% The original spacing was governed by the placement of the accent. +% One of the variables set the position of the accent bottom .5stem +% to the right of center (plus other adjustments). By increasing this +% to 1.2stem, we get the accent still within the set-width, but far enough +% right that the breathings (which are placed relative to the bottom +% of the accent) can be pulled to the left by .7stem. +% This ensures that there will be more than a stem width between +% any element of breathing and any element of either acute or +% grave. + +vardef spirit_acute(expr center) text type = +numeric sp_bottom, sp_height; +sp_bottom=h-sp_height=max(.8[h,x_height],x_height+o+separator); +numeric dot_diam#; dot_diam# = 3/4dot_size#; +define_whole_blacker_pixels(dot_diam); +dot_diam:=max(fine.breadth,min(dot_diam,floor(2/3sp_height))); +if serifs: x21-x22=1/6w; + x21+.5stem=hround(center+.25u+.5vair+(x21-x22)+1.2stem); %lft x22r ~ center+.25u +else: rt x21r=hround (4/5w+.5stem); lft x22l=hround(center+.25u); fi + begingroup; + numeric saved_h; + numeric saved_x_height; + saved_x_height = x_height; + saved_h=h; + save h; + save x_height; + h=saved_h + .75vair; + x_height = saved_x_height + .3vair; +generate_grave; penlabels(21,22); + endgroup; +if 1type0: %spirit and accent separated by .1u (rough) or .25u (smooth) + x31=hround(lft x22 if serifs:r-.5sp_height else:l-.5dot_diam fi -.7stem -.25u); +else: x31+.5dot_diam=hround(lft x22 if serifs:r else: l fi -.7stem-.1u); fi +y31+.5dot_diam=h; +if1type0:smooth else:rough fi (31,a,dot_diam,sp_height,0); +enddef; + + +vardef spirit_grave(expr center) text type = +numeric sp_bottom, sp_height; +sp_bottom=h-sp_height=max(.8[h,x_height],x_height+o+separator); +numeric dot_diam#; dot_diam# = 3/4dot_size#; +define_whole_blacker_pixels(dot_diam); +dot_diam:=max(fine.breadth,min(dot_diam,floor(2/3sp_height))); +% x22 is set to the right of x21 by 1/6w. The tilt is only 1/6w here. +% x21 is set out to the right of the midpoint by the sum of .5stem and +% .25u. Let's try a full stem width +%if serifs: x22-x21=1/6w; x21-.5stem=hround(center+.25u); +if serifs: x22-x21=1/6w; x21-1.2stem=hround(center+.25u); +else: rt x22r=hround (4/5w+.5stem); lft x21l=hround(center+.25u); fi + begingroup; + numeric saved_h; + numeric saved_x_height; + saved_x_height = x_height; + saved_h=h; + save h; + save x_height; + h=saved_h + .75vair; + x_height = saved_x_height + .3vair; +generate_grave; penlabels(21,22); + endgroup; +% In the original, the following spacing adjustments tracked |spirit_acute|. +% This was wrong way round. When the accent is barytone, lft x21l is nowhere +% near the left edge of the picture, and the crowding effect is the reverse +% of what it is with the oxytone accent. Added an extra .15u to make +% up for the first problem, and an extra .45u to relieve the crowding +% against the smooth breathing. But the more general widening set up +% above is more significant. PAM, 10 May, 1997 +% remember that "type" is a macro replaced by either < or > +if 1type0: %spirit and accent separated by .65u (rough) or .85u (smooth) + x31=hround(lft x21l-.5 if serifs:sp_height else:dot_diam fi -.7stem -.45u); +else: x31+.5dot_diam=hround(lft x21l - .7stem -.65u); fi +y31+.5dot_diam=h; +%y31+dot_diam=h; +if1type0:smooth else:rough fi (31,a,dot_diam,sp_height,0); +enddef; + +% Reshape the iota subscript, but only for resolutions above 600 +% Thin it out so that it can have a slight hook. +% Lengthen both the simple and the refined form, so that the +% simple form drops as low as the tail of eta, and the refined form +% drops to the bottom of the shoulder. Since we only make it up +% three times, we do not save the picture, but this means that +% all the necessary values must be known when the three iota +% subscript characters are written. The iota subscript under +% eta will be made shorter to open a larger space under the +% right vertical stroke of eta. + +def iota_sub(expr pos_stem) = +if known pic.iota: + addto currentpicture also pic.iota shifted (hround(pos_stem),0); +else: + picture temp_picture; temp_picture=currentpicture; clearit; + pickup fine.nib; + x51=0; pos51(stem,180); top y51=vround(-o-2separator); + x52=x51; pos52(stem,180); + % Use the original simple subscript for lower resolutions. + if ( ((pixels_per_inch / mag) < 599) or (pixels_per_inch < 420) ) : + bot y52=-desc_depth; + filldraw circ_stroke z52e--z51e; + else : + % longer iota subscript with narrower tapering stem and slight hook + bot y52=-iota_dp; + pos51'(.6[hair,stem],180); pos51''(.3[hair,stem],180); + pos52'(.3[hair,stem],270); pos53'(.2[hair,stem],0); + x51'r = x51''r = x51r; + bot y52'r = -iota_dp; x53'r = x51l+hair; x52' = 1/2[x51',x53']; + y51' = y51-separator; top y53' = 5/6[y51,y52]; + y51'' = -desc_depth; % y51'' = y53'; + filldraw double_circ_stroke z51'e--z51''e..z52'e..z53'e; + fi; +% Need to make sure that this is drawn each time (it's only four times). +%%%%% if not working_hard : picture pic.iota; pic.iota=currentpicture; fi + currentpicture:=currentpicture shifted (hround(pos_stem),0); + addto currentpicture also temp_picture; +fi; +enddef; + +% Rewrite the width and height management of circumflex +% Put limit on horizontal spread, and give the plain +% circumflex more roll (depends on parameter circ_ht# in parameter file.) +% change the shape to supply points at the ends and a thickening at the +% center. This is more traditional and gives more shape to the +% squeezed variant. The ends are set to vair, and the middle to +% mid_width + vair. (Silvio Levy's mid_width is actually quite small and +% is used at the ends as well as the mid-point. I use it at the intermediate +% points. The result harmonizes well with other proportions. + +def generate_circumflex(expr center,squeeze)= +numeric mid_width; mid_width=if squeeze:.1 else: .5 fi [vair,stem]; +if serifs: +%pickup fine.nib; pos21(hround(mid_width-eps),180); pos22(vair,90); +% pos23(mid_width,90); pos24(vair,90); pos25(hround(mid_width-eps),180); +pickup fine.nib; pos21(hround(vair-eps),180); pos22(mid_width,90); + pos23(mid_width+vair,90); pos24(mid_width,90); pos25(hround(vair-eps),180); + % limit spread of circumflex while retaining scaling for narrow characters. + lft x21r=w-rt x25l=hround (center-if(w<9u):w/3 else:3u fi); + x22-x21=x23-x22=x24-x23=x25-x24; + % The "squeezed" circumflex tops out at body_height. + bot y21=bot y24l=vround(if squeeze:.75else:.6fi[x_height,h]-vair); + top y22r=top y25=h; y23=.5[y22,y24]; + filldraw stroke z21e{up}...z22e{right}..z23e..{right}z24e...{up}z25e; % stroke +else: + pos21(vair,-180); pos23(vair,0); y21=y23; + lft x21r=hround(center-w/3); rt x23r=hround(center+w/3); + bot y23=vround max(x_height+o+separator, + if squeeze: 2/3 else: 1/3 fi [x_height,h]-.5mid_width); + x22=center; pos22(mid_width,90); top y22r=h; + filldraw stroke z21e{up}...z22e...{down}z23e; +fi +enddef; + +% The spirit_circumflex height ( Circ_ht#) has been raised +% to give more room to the breathing under it +% Also rewrite the position of x31 below + +vardef spirit_circumflex(expr center) text type= +generate_circumflex(center,true); %variable `squeeze' +numeric sp_bottom, sp_height, sp_top, box_top; +box_top=bot if serifs: y21l else: y22l fi; +sp_top=sp_bottom+sp_height=vround(.15[box_top,x_height]); +sp_top+sp_bottom=box_top+x_height; +numeric dot_diam#; dot_diam# = 5/8dot_size#; +define_whole_blacker_pixels(dot_diam); +pickup fine.nib; +dot_diam:=max(fine.breadth,min(dot_diam,floor(2/3sp_height-eps))); +x31 if1type0:+.5dot_diam fi=hround(center); +% The code that was here was equivalent to x31=hround(center); +% By shifting x31 leftward only for the smooth breathing, we move the +% "optical center" of the smooth breathing to about where +% the "optical center" of the rough breathing is. This relieves +% the crowding under the downcurve of the circumflex. +y31+.5dot_diam=vround(sp_top); +if1type0:smooth else:rough fi (31,a,dot_diam,sp_height,0); +penlabels(31); +enddef; + +% Spread out the accented diareses; pull acute a bit to the left +% and shove grave a bit to the right (1/8u in both instances). +% Raise the accent slightly, and shorten it by changing +% h and x_height within a save group. 10 May, 1997. +% The angle of the accent is governed by the width of iota, since +% this gives the cleanest association of accent and diaeresis. +% The older calculation depended on the width of the underlying character, +% which flattens out the angle and makes the accent crowd the dot it +% is closest to. +% An adjustment is required to raise the dots away from the tips +% of the upsilon. Once they are spaced out, they bleed into the +% character. This undoes much of the effect of the raising of +% the accent mentioned above, but since prau+ is about the only +% even slightly common root with a upsilon diaeresis, this does not +% too much matter. + +vardef diaeresis_acute(expr center)= + if serifs: x21-x22=1.25u; x21+.5stem=hround(center+5/6(x21-x22)+.5stem-1/8u); + else: rt x21r=hround (3.75u+.5stem); lft x22l=hround(center-.5vair); fi + begingroup; + numeric saved_h; + numeric saved_x_height; + saved_x_height = x_height; + saved_h=h; + save h; + save x_height; + h=Circ_ht; + x_height = saved_x_height + 1.5(h - saved_h); + generate_grave; penlabels(21,22); + endgroup; + generate_diaeresis(center,.9dot_size,2.25dot_size, + if doing_u > 0: .35 else : .5 fi [h,x_height],x_height+separator); +enddef; + +vardef diaeresis_grave(expr center)= + if serifs: x22-x21=1.25u; x21-.5stem=hround(center-5/6(x22-x21)-.5stem+1/8u); + else: lft x21l=hround (1.25u-.5stem); rt x22r=hround(center+.5vair); fi + begingroup; + numeric saved_h; + numeric saved_x_height; + saved_x_height = x_height; + saved_h=h; + save h; + save x_height; + h=Circ_ht; + x_height = saved_x_height + 1.5(h - saved_h); + generate_grave; penlabels(21,22); + endgroup; + generate_diaeresis(center,.9dot_size,2.25dot_size, + if doing_u > 0: .35 else : .5 fi [h,x_height],x_height+separator); +enddef; + +vardef generate_underdot(expr center,base)= + pickup tiny.nib; + pos31(dot_diam,0); pos32(dot_diam,90); + x31l=hround(center+(x31l-x31)); x31=x32; + y32l=vround(base); y31=y32; dot(31,32); + penlabels(31,32); +enddef; + +% Set up remapping of Grave and Acute, Asper and Lenis. +% This allows a more natural setting of single quotes, apostrophe +% and angle brackets. +% Move two accents out of the way of Ibycus +% Xi and digamma. Correct height of "Smooth breathing +% with grave" and "Rough breathing with circumflex" +% composites. +% Slight redesign of freestanding "Iota subscript". +% Reposition Breve and Macron, but these will usually +% be got from the prosody font anyway. +% +def selectaccent expr t = + currenttitle:= t; + if t = "Grave accent" : + code_offset := bary_tone - ASCII"`" ; let next_ = use_it_ + elseif t = "Acute accent" : + code_offset := oxy_tone - ASCII"'" ; let next_ = use_it_ + elseif t = "Rough breathing" : let next_ = lose_it_ + elseif t = "Smooth breathing" : let next_ = lose_it_ + elseif t = "Rough breathing with acute" : let next_ = lose_it_ + elseif t = "Rough breathing with grave" : let next_ = lose_it_ + elseif t = "Rough breathing with circumflex" : let next_ = lose_it_ + elseif t = "Smooth breathing with acute" : let next_ = lose_it_ + elseif t = "Smooth breathing with grave" : let next_ = lose_it_ + elseif t = "Smooth breathing and circumflex" : let next_ = lose_it_ + elseif t = "Diaeresis with circumflex" : let next_ = lose_it_ + elseif t = "Iota subscript" : let next_ = lose_it_ + elseif t = "Breve accent" : + code_offset := breve - oct"036" ; let next_ = use_it_ + elseif t = "Macron (bar) accent" : + code_offset := longum - oct"037"; let next_ = use_it_ + else: code_offset := 0 ; let next_ = use_it_ fi; next_ enddef; + +def selectaspirate expr t = + currenttitle:= t; + if t = "Italic letter h" : + code_offset := aspirate - ASCII"h" ; let next_ = use_it_ + else: let next_ = lose_it_ fi; next_ enddef; + +let cmchar = selectaspirate; + +input itall + +code_offset:=0; +let cmchar = relax; + +% Use adjust fit to kern the accents that go with +% uppercase out a bit to the left so that accented uppercase does not +% take more than its proper letterspace. Should have been applied +% to trailing side bearing too, but there is too much water under +% the bridge now. Silvio Levy's accents have no +% adjust_fit, and a character with no adjust_fit picks up +% the values of the previous character. + +cmchar "Rough breathing"; +beginchar(asper_glyph,9u#,acc_ht#,0); +adjust_fit(-4u#,0); +spirit(.5w)<; +endchar; + +cmchar "Smooth breathing"; +beginchar(lenis_glyph,9u#,acc_ht#,0); +adjust_fit(-5u#,0); +spirit(.5w)>; +endchar; + +cmchar "Rough breathing with acute"; +beginchar(asper_oxy,9u#,acc_ht#,0); +adjust_fit(-3u#,0); +spirit_acute(.5w)<; +endchar; + +cmchar "Rough breathing with grave"; +beginchar(asper_bary,9u#,acc_ht#,0); +adjust_fit(-3u#,0); +spirit_grave(.5w)<; +endchar; + +% Do asper_perispomenon with corrected heights. +cmchar "Rough breathing with circumflex"; +beginchar(asper_peri,9u#,Circ_ht#,0); +adjust_fit(-3u#,0); +spirit_circumflex(.5w)<; +endchar; + +cmchar "Smooth breathing with acute"; +beginchar(lenis_oxy,9u#,acc_ht#,0); +adjust_fit(-3u#,0); +spirit_acute(.5w)>; +endchar; + +% Do lenis_barytone with corrected height. +cmchar "Smooth breathing with grave"; +beginchar(lenis_bary,9u#,acc_ht#,0); +adjust_fit(-3u#,0); +spirit_grave(.5w)>; +endchar; + +cmchar "Smooth breathing and circumflex"; +beginchar(lenis_peri,9u#,Circ_ht#,0); +adjust_fit(-3u#,0); +spirit_circumflex(.5w)>; +endchar; + +% Provide an alternative for the depth of iota subscript. + +cmchar "Iota subscript"; +beginchar("|",9u#,0, + if ( ((pixels_per_inch / mag) < 599) or (pixels_per_inch < 420)) : + desc_depth# + else : + iota_dp# + fi ); +adjust_fit(0,0); % Don't omit this---see note following. +iota_sub(.5w); +endchar; + +% The adjust_fit macro really ought to be used with all characters, +% because if it isn't, the chardx value (pixel displacement in the +% gf file) will not be recalculated, but will be picked up from +% the last character that did have an adjust_fit line. Here, I +% leave the sloppy side-effect in place because I know I want +% the few affected accents to have the same 9u width. +% + +let cmchar = selectaccent; + +readfrom("graccent"); + +code_offset:=0; +let cmchar = relax; + + +% Zero-width space +% Takes the place of "Diaeresis with circumflex", which cannot occur. +% iota and upsilon only affected by diaeresis when short. +% This is useful for deligaturing sigma. with the "s|" digraph. +% Besides, it can often help to have a zero-width character available. +% But you can't draw the box so proofing and displaying must be off. +% +% Adjust_fit has to be used to get a true zero-width. A curious side-effect +% of setting the character width to eps is that the u value is recalculated +% to a colossal negative value. It is not worth the trouble to discover +% why, since a saved u value will obviate the errors and oversized +% shift values that happen with the recalculated u. The effect noted here +% is absent from proof mode calculations. It is only a problem when +% usable rasters are being laid down. +% +begingroup; +numeric saved_u; saved_u:=u; +save u; +save proofing; proofing:=0; +save displaying; displaying:=0; + +cmchar "Zero-width Space"; +beginchar(null_space, eps,0,0); % The adjust-fit calculation +adjust_fit(-eps,0); % does a division, so w must be > 0. +endchar; % canceling it out with "-eps" is + % unnecessary, but it feels better. + +numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#); + + +beginchar(doti,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-2.5saved_u, -d); +endchar; + +beginchar(dotI,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-3.25saved_u, -d); +endchar; + +beginchar(dote,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-3.75saved_u, -d); +endchar; + +beginchar(dotbt,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-4saved_u, -d); +endchar; + +beginchar(dotJdlmnpqu,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-4.5saved_u, -d); +endchar; + +beginchar(dotkos,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-5.25saved_u, -d); +endchar; + +beginchar(dotGZ,eps,0,desc_depth#); % Also upper case Koppa +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-5.5saved_u, -d); +endchar; + +beginchar(dotchjz,eps,0,desc_depth# + dot_diam#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-5.5saved_u, -d); +endchar; + +beginchar(dotCEVaw,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-6saved_u, -d); +endchar; + +beginchar(dotBFLNPRSTW,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-6.5saved_u, -d); +endchar; + +beginchar(dotH,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-6.75saved_u, -d); +endchar; + +beginchar(dotAOQUXY,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-7.25saved_u, -d); +endchar; + +beginchar(dotDK,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-7.5saved_u, -d); +endchar; + +beginchar(dotM,eps,0,desc_depth#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-8.75saved_u, -d); +endchar; + +beginchar(dotgx,eps,0,desc_depth# + 1.5dot_diam#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-5.5saved_u, -d); +endchar; + +beginchar(dotr,eps,0,desc_depth# + 1.5dot_diam#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-4.5saved_u, -d); +endchar; + +beginchar(dotfy,eps,0,desc_depth# + 2dot_diam#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-5.75saved_u, -d); +endchar; + +beginchar(dotkoppa,eps,0,desc_depth# + 2dot_diam#); +define_whole_blacker_pixels(dot_diam); +adjust_fit(-eps,0); +generate_underdot(-5saved_u, -d); +endchar; + +% The three positions for iota subscript +% Equivalent to Times Ten Greek's /iotasubscripta etc., except that these +% are designed as postpositives kerned strongly to the left. Setwidth 0 +% but I am not sure that the type1 version can get away with that + +% /iotasubscripta +beginchar(a_isub,eps,0,iota_dp#); +adjust_fit(-eps,0); +iota_sub(-5saved_u); +endchar; + +% The top position of iota subscript under eta is dropped to +% provide better spacing between the letter and the subscript. +% +% /iotasubscripte +beginchar(h_isub,eps,0,iota_dp#); +adjust_fit(-eps,0); +begingroup; +numeric saved_o; +saved_o = o; +save o; +o = 3saved_o; +iota_sub(-6.85saved_u); +endgroup; +endchar; + +% /iotasubscripto +beginchar(w_isub,eps,0,iota_dp#); +adjust_fit(-eps,0); +iota_sub(-6saved_u); +endchar; + +endgroup; + + diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.map b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.map new file mode 100644 index 0000000000..0efb0e0a2f --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.map @@ -0,0 +1,222 @@ +% +% These macros make it possible to read *.map files as either +% \TeX{} or METAFONT input +% See the $TEXMFROOT/tex/languages/greek/ibygrk directory for +% use of this file as TeX input +% +% A well-known conditional test in METAFONT; +% It creates mismatch of character tokens 'k' and 'n' in TeX +\if known cmbase: % Interpret as a METAFONT file + let re_catcode=relax; let let_=gobble; let no_let=gobble; + else: + message "Must have cmbase loaded for this, or else some macros from it" ; +% +% END OF METAFONT INTERPRETATION---TeX INTERPRETATION FOLLOWS +% + \else % Interpret as a TeX file + \catcode`\_11 % allow underscore in csnames as in METAFONT + \def\re_catcode{\catcode`\=12 \catcode`\;12 \catcode`\_8}% + \def\ignore_to_comment#1#2{}% +% Now activate all the characters from ^^80 to ^^ff + \count255=`\^^80 + \loop \ifnum\count255 < `\^^ff + \catcode\count255\active \advance\count255 by 1 \repeat + % \catcode`\^^ff\active % If you want it, I don't in this case. + \expandafter\input\the\digraphs % Filename in a \toks register + \catcode`\;0 % treat the first ; (required by METAFONT) as an escape + \catcode`\=14 % treat the = in the METAFONT part as a comment character + \let\let_\let \let\no_let\ignore_to_comment + \fi +% +% This is a rather specialized version of the map file, +% developed for Greek only. There are certain restrictions +% in this case, because we do not want to alter Silvio Levy's +% source code---only the mappings. +% The upper level codes (^^80---^^ff) are based on a version of +% Greek Keys (a word-processor package for Macintosh, distributed +% through the American Philological Association), but the mapping +% is worked out by experience not from any documentation, and +% local customization often alters even this mapping. +% Consistency is provided by the ASCII digraphs +% and trigraphs to which all word-processor codes are remapped +% before they are used in TeX. These digraphs and trigraphs +% (even tetragraphs in the case of iota subscript) are very close +% to Ibycus/TLG betacode, except for the unfortunate uppercasing +% of betacode. +% +% a known set of word-processor Some "hidden" characters +% equivalents is "let_" for TeX Only METAFONT needs to know +% \no_let is used where there what is in this column +% seems to be no certain mapping +% +\let_ ^^80;quotesnglright = ASCII"'"; endash = oct"046"; +\let_ ^^81;quotesnglleft = ASCII"`"; emdash = oct"177"; +\let_ ^^82;peri_spomenon = ASCII"="; null_space = ASCII" "; +\let_ ^^83;sp_lenis = ASCII")"; dieresis = oct"053"; % use plus sign +\let_ ^^84;sp_asper = ASCII"("; minute = ASCII"&"; % prime for numbers +\let_ ^^85;lenis_oxy = oct"136"; asper_glyph = oct"303"; +\let_ ^^86;lenis_bary = oct"137"; lenis_glyph = oct"307"; +\let_ ^^87;lenis_peri = oct"134"; guillemotleft = ASCII"{"; %two small +\let_ ^^88;asper_oxy = oct"207"; guillemotright = ASCII"}"; % awks +\let_ ^^89;asper_bary = oct"203"; iotasubscript = ASCII"|"; +\let_ ^^8a;asper_peri = oct"100"; dubious = ASCII"!"; +\no_let \dmy;bary_tone = oct"275"; quotedblleft = oct"253"; +\no_let \dmy;oxy_tone = oct"276"; quotedblright = oct"257"; +\no_let \dmy;diaeroxy = oct"043"; bracketleftbt = oct"363"; +\no_let \dmy;diaerbary = oct"044"; bracketrightbt = oct"367"; +% +% alpha with accents +% +\let_ ^^8b;a_oxy = oct"210"; Digamma = ASCII"V"; +\let_ ^^8c;a_bary = oct"200"; digamma = ASCII"v"; +\let_ ^^8d;a_peri = oct"220"; boundarychar := oct"377"; % N.B. := +\let_ ^^8e;a_len = oct"202"; +\let_ ^^8f;a_aspr = oct"201"; +\let_ ^^90;a_lenoxy = oct"212"; +\let_ ^^91;a_asproxy = oct"211"; cigmalunate=ASCII"J"; +\let_ ^^92;a_lenbary = oct"223"; % "J" is all that's available +\let_ ^^93;a_asprbary = oct"213"; sigmafinal=ASCII"j"; +\let_ ^^94;a_lenperi = oct"222"; r_aspr = oct"373"; % GreekKeys "="!! +\let_ ^^95;a_asprperi = oct"221"; r_len = oct"374"; +% +% alpha with accents and iota subscript +% +\let_ ^^fb;a_isub = oct"370"; % Kerned back iotasubscript only +\let_ ^^96;a_oxyisub = oct"214"; e_peri = oct"214"; +\let_ ^^97;a_baryisub = oct"204"; e_asprperi = oct"204"; +\let_ ^^98;a_periisub = oct"224"; e_lenperi = oct"224"; +\let_ ^^99;a_lenisub = oct"206"; Koppa = oct"206"; +\let_ ^^9a;a_asprisub = oct"205"; o_asprperi = oct"205"; +\let_ ^^9b;a_lenoxyisub = oct"216"; koppa = oct"216"; +\let_ ^^9c;a_asproxyisub = oct"215"; o_peri = oct"215"; +\let_ ^^9d;a_lenbaryisub = oct"227"; +\let_ ^^9e;a_asprbaryisub = oct"217"; sampi = oct"217"; +\let_ ^^9f;a_lenperiisub = oct"226"; Cigmalunate=oct"226"; +\let_ ^^a0;a_asprperiisub = oct"225"; o_lenperi = oct"225"; +% +% epsilon with accents +% +\let_ ^^a1;e_oxy = oct"350"; angleleft = ASCII"<"; +\let_ ^^a2;e_bary = oct"340"; angleright = ASCII">"; +\let_ ^^a4;e_len = oct"342"; braceleft = oct"333"; +\let_ ^^a5;e_aspr = oct"341"; braceright = oct"337"; +\let_ ^^a6;e_lenoxy = oct"352"; dagger = oct"375"; +\let_ ^^a7;e_asproxy = oct"351"; daggerdbl = oct"376"; +\let_ ^^a8;e_lenbary = oct"343"; aspirate = oct"377"; +\let_ ^^a9;e_asprbary = oct"353"; +% +% eta with accents +% +\let_ ^^ae;h_oxy = oct"240"; +\let_ ^^af;h_bary = oct"230"; +\let_ ^^b0;h_peri = oct"250"; +\let_ ^^b1;h_len = oct"232"; +\let_ ^^b2;h_aspr = oct"231"; +\let_ ^^b3;h_lenoxy = oct"242"; +\let_ ^^b4;h_asproxy = oct"241"; +\let_ ^^b5;h_lenbary = oct"243"; +\let_ ^^b6;h_asprbary = oct"233"; +\let_ ^^b7;h_lenperi = oct"252"; +\let_ ^^b8;h_asprperi = oct"251"; +% +% eta with accents and iota subscript +% +% In this section and in the "omega with accents and iota subscript" +% section at the end, the octal values are assigned twice. The coding +% originally followed the pattern of GreekKeys fonts in giving a map +% position to every iota subscript composite. But this is wasteful, since +% there are only three correct positions for iota subscript. Current +% coding follows the practice seen in the Linotype Times Ten Greek of +% kerning one of three iotasubscripts under the appropriate a, h, or w. +% This does, unfortunately mean that the current mapping cannot be used +% directly with GreekKeys input, but nobody seems ever to do that +% anyway. +% +\let_ ^^fa;h_isub = oct"371"; % The redundancy below here is +\let_ ^^b9;h_oxyisub = oct"244"; doti = oct"244"; % unavoidable +\let_ ^^ba;h_baryisub = oct"234"; dotI = oct"234" % It derives in +\let_ ^^bb;h_periisub = oct"254"; dote = oct"254"; % part from the +\let_ ^^bc;h_lenisub = oct"236"; dotbt = oct"236"; % older coding +\let_ ^^bd;h_asprisub = oct"235"; dotJdlmnpqu = oct"235"; % Now the +\let_ ^^be;h_lenoxyisub = oct"246"; dotkos = oct"246"; % only +\let_ ^^bf;h_asproxyisub = oct"245"; dotGZ = oct"245"; % isub +\let_ ^^c0;h_lenbaryisub = oct"247"; dotCEVaw = oct"247"; % code +\let_ ^^c1;h_asprbaryisub = oct"237"; dotchjz = oct"237"; % in MF +\let_ ^^c2;h_lenperiisub = oct"256"; dotBFLNPRSTW = oct"256"; % is the +\let_ ^^c3;h_asprperiisub = oct"255"; dotH = oct"255"; % first +% +%iota with accents +% +\let_ ^^db;i_oxy = oct"320"; +\let_ ^^dc;i_bary = oct"310"; +\let_ ^^dd;i_peri = oct"330"; +\let_ ^^de;i_len = oct"312"; +\let_ ^^df;i_aspr = oct"311"; +\let_ ^^e0;i_lenoxy = oct"322"; +\let_ ^^e1;i_asproxy = oct"321"; +\let_ ^^e2;i_lenbary = oct"323"; +\let_ ^^e3;i_asprbary = oct"313"; +\let_ ^^e4;i_lenperi = oct"332"; +\let_ ^^e5;i_asprperi = oct"331"; +\let_ ^^f3;i_diaer = oct"360"; +\let_ ^^fd;i_diaeroxy = oct"362"; +\let_ ^^fe;i_diaerbary = oct"361"; +% +% omicron with accents +% +\let_ ^^f1;o_oxy = oct"354"; +\let_ ^^f2;o_bary = oct"344"; +\let_ ^^f4;o_len = oct"346"; +\let_ ^^f5;o_aspr = oct"345"; +\let_ ^^f6;o_lenoxy = oct"356"; +\let_ ^^f7;o_asproxy = oct"355"; +\let_ ^^f8;o_lenbary = oct"357"; +\let_ ^^f9;o_asprbary = oct"347"; +% +% upsilon with accents +% +\let_ ^^e6;u_oxy = oct"324"; +\let_ ^^e7;u_bary = oct"314"; +\let_ ^^e8;u_peri = oct"334"; +\let_ ^^e9;u_len = oct"316"; +\let_ ^^ea;u_aspr = oct"315"; +\let_ ^^eb;u_lenoxy = oct"326"; +\let_ ^^ec;u_asproxy = oct"325"; +\let_ ^^ed;u_lenbary = oct"327"; +\let_ ^^ee;u_asprbary = oct"317"; +\let_ ^^ef;u_lenperi = oct"336"; +\let_ ^^f0;u_asprperi = oct"335"; +\no_let \dmy;u_diaer = oct"364"; % ^^23, but it's not worth the effort +\no_let \dmy;u_diaeroxy = oct"366"; % ^^40, ditto +\let_ ^^a3;u_diaerbary = oct"365"; +% +% omega with accents +% +\let_ ^^c5;w_oxy = oct"270"; +\let_ ^^c6;w_bary = oct"260"; +\let_ ^^c7;w_peri = oct"300"; +\let_ ^^c8;w_len = oct"262"; +\let_ ^^c9;w_aspr = oct"261"; +\let_ ^^ca;w_lenoxy = oct"272"; +\let_ ^^cb;w_asproxy = oct"271"; +\let_ ^^cc;w_lenbary = oct"273"; +\let_ ^^cd;w_asprbary = oct"263"; +\let_ ^^ce;w_lenperi = oct"302"; +\let_ ^^cf;w_asprperi = oct"301"; +% +% omega with accents and iota subscript +% +\let_ ^^c4;w_isub = oct"372"; % Kerned back iotasubscript only +\let_ ^^d0;w_oxyisub = oct"274"; dotAOQUXY = oct"274"; +\let_ ^^d1;w_baryisub = oct"264"; dotDK = oct"264"; +\let_ ^^d2;w_periisub = oct"304"; dotM = oct"304"; +\let_ ^^d3;w_lenisub = oct"266"; dotgx = oct"266"; +\let_ ^^d4;w_asprisub = oct"265"; dotfy = oct"265"; +\let_ ^^d5;w_lenoxyisub = oct"276"; % oxy_tone +\let_ ^^d6;w_asproxyisub = oct"275"; % bary_tone +\let_ ^^d7;w_lenbaryisub = oct"277"; dotr = oct"277" +\let_ ^^d8;w_asprbaryisub = oct"267"; dotkoppa = oct"267"; +\let_ ^^d9;w_lenperiisub = oct"306"; longum = oct"306"; +\let_ ^^da;w_asprperiisub = oct"305"; breve = oct"305"; + +\re_catcode diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.mf new file mode 100644 index 0000000000..1261eee1f0 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.mf @@ -0,0 +1,39 @@ +mode_setup; +font_setup; + +font_coding_scheme:="Ibycus4 /based on TLG/"; +input ibycus4.map; % File which can be read by both TeX and MF +picture barypicture; +string currenttitle; +string subtitle; +extra_endchar:=extra_endchar&"charcode:=charcode+code_offset"; +% Add _ to the macro names used by iff to avoid confusion. +def use_it_ = + if unknown barypicture: + if known savedpicture: barypicture := savedpicture; fi fi + enddef; +def lose_it_ = let endchar = fi; let ; = fix_ semi_ + if false: enddef; +% redefine readfrom, to take advantage of path searching +% This requires a METAFONT compiled with Karl Berry's kpathsea +def readfrom(expr filename) = + scantokens ("input " & filename); enddef; +input ibyupr4 +input ibyacc4 +input ibylwr4 +input romand +input ibypnct4 +input ibylig4 + +font_slant slant; font_x_height x_height#; +if monospace: font_normal_space 9u#; % no stretching or shrinking + font_quad 18u#; + font_extra_space 9u#; +else: font_normal_space 6u#+2letter_fit#; + font_normal_stretch 3u#; font_normal_shrink 2u#; + font_quad 18u#+4letter_fit#; + font_extra_space 2u#; +fi + +input version4 +bye. diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylig4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylig4.mf new file mode 100644 index 0000000000..9334cd8899 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylig4.mf @@ -0,0 +1,250 @@ +% Version 4.3. 7 July, 1998. Response to a bug report. The wrong +% angle was in the line for ligtable angleright: ">" =: guillemotright; +% All tfm files corrected to reflect this change. + +% Version 4.2. 18 July, 1997. Small adjustments to the space between +% accent clusters and Uppercase H and I. A little more space after +% accented iota and before taller consonants. + +% Version 4.1. 28 April, 1996. Sevaral kerns for iota changed +% before p t and u to avoid crowding. Medial sigma is default +% before <> [] and other non standard symbols. (Final +% at word end, sentence punctuation, and parentheses). +% +% Ligature table for ibycus4 Version 4.0 using the \bang +% character as the postpositive indication of a dot under +% any letter or letter-and-accent combination except for +% iota subscript composites. + +% CAUTION: With this arrangement the exclamation point must +% set with \sfcode`\!=1000 or you get very odd spacing. +% This setting is supplied in ibycus4.tex + +ligtable "-": "-" =: endash; % en-dash +ligtable endash: "-" =: emdash; % em-dash +ligtable quotesnglleft: quotesnglleft =: quotedblleft; +ligtable quotesnglright: quotesnglright =: quotedblright; +% The Adobe names guillemotleft and guillemotright (\it sic}) +% are retained. +ligtable angleleft: "<" =: guillemotleft; +ligtable angleright: ">" =: guillemotright; + +k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of back kerning +i#:=.5u#; ii#:=1.5u#; iii#:=2u#; % three degrees of forward kerning +% +% the glyphs for the breathings (spiritus) and the acute and +% grave accents are not in the same code location as the digraph +% input characters "'" "`" "=" ")" "(", and "`" "'" are pretty +% well available for normal use when not immediately contiguous to +% accentable characters. This is achieved by a change from +% Silvio Levy's mapping to modified TLG Betacode. +% +ligtable "(": "(" =: ASCII"(", peri_spomenon =: asper_peri, + quotesnglright =: asper_oxy, quotesnglleft =: asper_bary, + "A" =:| asper_glyph, "E" =:| asper_glyph, "H" =:| asper_glyph, + "O" =:| asper_glyph, "W" =:| asper_glyph, "I" =:| asper_glyph, + "U" =:| asper_glyph, "R" =:| asper_glyph; +ligtable ")": ")" =: ASCII")", peri_spomenon =: lenis_peri, + quotesnglright =: lenis_oxy, quotesnglleft =: lenis_bary, + "A" =:| lenis_glyph, "E" =:| lenis_glyph, "H" =:| lenis_glyph, + "O" =:| lenis_glyph, "W" =:| lenis_glyph, "I" =:| lenis_glyph, + "U" =:| lenis_glyph, "R" =:| lenis_glyph; +% +ligtable asper_glyph: + "A" kern -7u#, "E" kern -3u#, "H" kern -3u#, "R" kern -3u#, + "O" kern -3.5u#, "W" kern -2.5u#, "I" kern -3u#, "U" kern -3u#; +ligtable lenis_glyph: + "A" kern -6u#, "E" kern kkk#, "H" kern kkk#, "R" kern kkk#, + "O" kern -2.5u#, "W" kern kkk#, "I" kern kkk#, "U" kern kkk#; +ligtable asper_oxy: lenis_oxy: + "A" kern -6u#, "E" kern -1u#, "H" kern -1u#, + "O" kern -2.5u#, "W" kern kk#, "I" kern -1u#, "U" kern kk#; +ligtable asper_bary: lenis_bary: + "A" kern -5u#, "E" kern kk#, "H" kern kk#, + "O" kern kkk#, "W" kern -1u#, "I" kern kkk#, "U" kern -1u#; +ligtable asper_peri: + "A" kern -6.5u#, "E" kern kkk#, "H" kern kkk#, "I" kern kkk#, + "O" kern -3u#, "W" kern -3u#, "U" kern kkk#; +ligtable lenis_peri: + "A" kern -6.5u#, "E" kern kkk#, "H" kern kkk#, "I" kern kkk#, + "O" kern -3u#, "W" kern -2.5u#, "U" kern kkk#; + +ligtable "a": quotesnglleft =: a_bary, quotesnglright =: a_oxy, + peri_spomenon =: a_peri, iotasubscript |=: a_isub, dubious |=: dotCEVaw, + "(" =: a_aspr, ")" =: a_len, "i" kern i#; % Post-positive breathings +ligtable "h": "+" =: aspirate, quotesnglleft =: h_bary, quotesnglright =: h_oxy, + peri_spomenon =: h_peri, iotasubscript |=: h_isub, dubious |=: dotchjz, + "(" =: h_aspr, ")" =: h_len, "i" kern ii#, + i_bary kern ii#, i_oxy kern ii#, i_peri kern ii#, + i_asproxy kern ii#, i_asprbary kern ii#, i_asprperi kern ii#, + i_lenoxy kern ii#, i_lenbary kern ii#, i_lenperi kern ii#; +ligtable "w": quotesnglleft =: w_bary, quotesnglright =: w_oxy, + peri_spomenon =: w_peri, iotasubscript |=: w_isub, dubious |=: dotCEVaw, + "(" =: w_aspr, ")" =: w_len, "i" kern i#, "n" kern k#; +ligtable "e": quotesnglleft =: e_bary, quotesnglright =: e_oxy, + peri_spomenon =: e_peri, + "(" =: e_aspr, ")" =: e_len, dubious |=: dote, "i" kern i#; +ligtable "o": quotesnglleft =: o_bary, quotesnglright =: o_oxy, + peri_spomenon =: o_peri, + "(" =: o_aspr, ")" =: o_len, dubious |=: dotkos, + "n" kern k#, "h" kern k#, "l" kern k#; +ligtable "i": quotesnglleft =: i_bary, quotesnglright =: i_oxy, + peri_spomenon =: i_peri, dubious |=: doti, + "(" =: i_aspr, ")" =: i_len, dieresis =: i_diaer, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +ligtable "u": quotesnglleft =: u_bary, quotesnglright =: u_oxy, + peri_spomenon =: u_peri, dubious |=: dotJdlmnpqu, + "(" =: u_aspr, ")" =: u_len, dieresis =: u_diaer, "i" kern i#; +ligtable "r": "(" =: r_aspr, ")" =: r_len, + r_aspr: r_len: dubious |=: dotr, "i" kern i#; + +ligtable a_aspr: quotesnglright =: a_asproxy, quotesnglleft =: a_asprbary, + peri_spomenon =: a_asprperi, iotasubscript |=: a_isub, dubious |=: dotCEVaw, + "i" kern i#; +ligtable h_aspr: quotesnglright =: h_asproxy, quotesnglleft =: h_asprbary, + peri_spomenon =: h_asprperi, iotasubscript |=: h_isub, dubious |=: dotchjz, + "i" kern ii#; +ligtable w_aspr: quotesnglright =: w_asproxy, quotesnglleft =: w_asprbary, + peri_spomenon =: w_asprperi, iotasubscript |=: w_isub, dubious |=: dotCEVaw, + "n" kern k#; +ligtable e_aspr: quotesnglright =: e_asproxy, quotesnglleft =: e_asprbary, + peri_spomenon =: e_asprperi, dubious |=: dote; +ligtable o_aspr: quotesnglright =: o_asproxy, quotesnglleft =: o_asprbary, + peri_spomenon =: o_asprperi, dubious |=: dotkos, "n" kern k#, "h" kern k#; +ligtable i_aspr: quotesnglright =: i_asproxy, quotesnglleft =: i_asprbary, + peri_spomenon =: i_asprperi, dubious |=: doti, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +ligtable u_aspr: quotesnglright =: u_asproxy, quotesnglleft =: u_asprbary, + peri_spomenon =: u_asprperi, dubious |=: dotJdlmnpqu; + +ligtable a_len: quotesnglright =: a_lenoxy, quotesnglleft =: a_lenbary, + dubious |=: dotCEVaw, + peri_spomenon =: a_lenperi, iotasubscript |=: a_isub; +ligtable h_len: quotesnglright =: h_lenoxy, quotesnglleft =: h_lenbary, dubious |=: dotchjz, + peri_spomenon =: h_lenperi, iotasubscript |=: h_isub, "i" kern ii#; +ligtable w_len: quotesnglright =: w_lenoxy, quotesnglleft =: w_lenbary, + dubious |=: dotCEVaw, + peri_spomenon =: w_lenperi, iotasubscript |=: w_isub, "n" kern k#; +ligtable e_len: quotesnglright =: e_lenoxy, quotesnglleft =: e_lenbary, + peri_spomenon =: e_lenperi, dubious |=: dote; +ligtable o_len: quotesnglright =: o_lenoxy, quotesnglleft =: o_lenbary, + peri_spomenon =: o_lenperi, dubious |=: dotkos, "n" kern k#, "h" kern k#; +ligtable i_len: quotesnglright =: i_lenoxy, quotesnglleft =: i_lenbary, + peri_spomenon =: i_lenperi, dubious |=: doti, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +ligtable u_len: quotesnglright =: u_lenoxy, quotesnglleft =: u_lenbary, + peri_spomenon =: u_lenperi, dubious |=: dotJdlmnpqu; + +ligtable "K": "+" =: Koppa, dubious |=: dotDK; % Uppercase Koppa +ligtable Koppa: dubious |=: dotGZ; + +% The curve of o and the hook at the top of h make kerns with +% m desirable +ligtable "m": dubious |=: dotJdlmnpqu, + "o" kern k#, o_oxy kern k#, o_bary kern k#, + "h" kern k#, h_oxy kern k#, h_bary kern k#, h_peri kern k#, + h_isub kern k#; + +% backward kerns for letters following accented iota +ligtable dieresis: quotesnglright =: diaeroxy, quotesnglleft =: diaerbary; + +ligtable i_diaer: quotesnglright =: i_diaeroxy, quotesnglleft =: i_diaerbary; +ligtable i_bary: dieresis=: i_diaerbary, i_oxy: dieresis=:i_diaeroxy, dubious |=: doti, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +% The widely spaced accent clusters on iota need more space before many +% consonants. Particularly lambda and ksi. +ligtable i_peri: i_asproxy: i_asprbary: i_asprperi: + i_lenoxy: i_lenbary: i_lenperi: i_diaerbary: i_diaeroxy: dubious |=: doti, + "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern k#, + "u" kern -1u#, "w" kern k#, "x" kern k#; +% all needed forward kerns except for vowels, rho and sigma +% also a back kern for dh, but only when h is unaccented. +ligtable "k": "+" =: koppa, dubious |=: dotkos, "i" kern i#; +ligtable "A": dubious |=: dotAOQUXY, "E": dubious |=: dotCEVaw, + "W": dubious |=: dotBFLNPRSTW, "i" kern i#; +ligtable "n": "p": "q": dubious |=: dotJdlmnpqu, "t": dubious |=: dotbt, + "f": "y": dubious |=: dotfy, h_isub: + "i" kern i#; +ligtable "d": dubious |=: dotJdlmnpqu, "i" kern i#, "h" kern k#; +ligtable "b": dubious |=: dotbt, + "i" kern ii#; +ligtable dotbt: "i" kern i#; + +% forward kerns for accented upsilon and epsilon +ligtable o_oxy: o_bary: "h" kern k#, "l" kern k#, "n" kern k#, + o_asproxy: o_lenoxy: o_asprbary: o_lenbary: o_asprperi: o_lenperi: + dubious |=: dotkos; +ligtable u_diaer: quotesnglright =: u_diaeroxy, quotesnglleft =: u_diaerbary; +ligtable u_bary: dieresis =: u_diaerbary; +ligtable u_oxy: dieresis =: u_diaeroxy, + u_asprbary: u_asproxy: u_lenoxy: u_lenbary: + u_peri: u_asprperi: u_lenperi: + u_diaeroxy: u_diaerbary: dubious |=: dotJdlmnpqu, + e_oxy: e_asproxy: e_lenoxy: e_bary: e_lenbary: e_asprbary: + e_peri: e_asprperi: e_lenperi: dubious |=: dote, + "i" kern i#; + +% iota subscripts and forward kerns for alpha, eta and omega +ligtable a_bary: iotasubscript |=: a_isub, + dubious |=: dotCEVaw, "i" kern +i#; +% iota after simple barytone unused nught be iota adscript. +ligtable a_oxy: a_asproxy: a_lenoxy: a_asprbary: a_peri: a_asprperi: + a_lenperi: a_lenbary: + iotasubscript |=: a_isub, dubious |=: dotCEVaw, "i" kern i#; + +ligtable h_bary: h_asprbary: h_oxy: h_asproxy: h_lenoxy: h_lenbary: + h_peri: h_asprperi: h_lenperi: + iotasubscript |=: h_isub, dubious |=: dotchjz, "i" kern i#; + +ligtable w_bary: w_asprbary: w_oxy: w_asproxy: w_lenoxy: w_lenbary: + w_peri: w_asprperi: w_lenperi: + iotasubscript |=: w_isub, dubious |=: dotCEVaw, "i" kern i#, "n" kern k#; + + +ligtable "C": "+" =: Cigmalunate, Cigmalunate: dubious |=: dotCEVaw; +ligtable "c": "+" =: cigmalunate, cigmalunate: "z": dubious |=: dotchjz; +ligtable sigmafinal: dubious |=: dotchjz; + +% One ligature for (lowercase only) sampi, one kern with lowercase iota +% and all practicable arrangements for final sigma. +% It is assumed that sigma before a punctuation mark such as . , ; ? +% and probably ) should be final but before > ] } it is more likely +% to be medial. The treatment of ( matches ) and of { [ < matches +% > ] } (anything elxe would be more confusing. +% Final sigma can always be forced by using the letter "j" +% The last ligature s| is the way to force medial sigma at word end. +% Note the trick at the end which allows a dot under a forced medial +% sigma. +ligtable "s": "+" =: sampi, "i" kern i#, + boundarychar =: sigmafinal, + "." =:| sigmafinal, "," =:| sigmafinal, "?" =:| sigmafinal, + ":" =:| sigmafinal, ";" =:| sigmafinal, "(" =:| sigmafinal, + ")" =:| sigmafinal, "|" |=: null_space, null_space: dubious |=: dotkos; + +ligtable "l": dubious |=: dotJdlmnpqu; +ligtable "g": "x": dubious |=: dotgx; +ligtable "v": dubious |=: doti; +ligtable koppa: dubious |=: dotkoppa; +ligtable "I": dubious |=: dotI; +ligtable "G": "Z": dubious |=: dotGZ; +ligtable "V": dubious |=: dotCEVaw; +ligtable "B": "F": "L": "N": "P": "R": "S": "T": dubious |=: dotBFLNPRSTW; +ligtable "H": dubious |=: dotH; +ligtable "O": "Q": "U": "X": "Y": dubious |=: dotAOQUXY; +ligtable "D": dubious |=: dotDK; +ligtable "M": dubious |=: dotM;
\ No newline at end of file diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylwr4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylwr4.mf new file mode 100644 index 0000000000..5d12a74ee7 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylwr4.mf @@ -0,0 +1,195 @@ +def selectlower expr t = + currenttitle:= t; + subtitle := substring(0,27) of currenttitle; + if subtitle = "Lowercase sigma followed by" : let next_ = lose_it_ +% Four composites need corrected heights. See abary4.mf and wbary4.mf + elseif t = + "Lowercase alpha with grave and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase alpha with rough breathing and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase alpha with smooth breathing and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase alpha with acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase alpha with rough breathing, acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase alpha with smooth breathing and acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase alpha with circumflex and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase alpha with rough breathing, circumflex and iota subscript" : + let next_ = lose_it_ + elseif t = + "Lowercase alpha with smooth breathing, circumflex and iota subscript" : + let next_ = lose_it_ + elseif t = + "Lowercase alpha with iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase epsilon with grave": + let next_ = lose_it_ + elseif t = + "Lowercase epsilon with acute": + let next_ = lose_it_ + elseif t = + "Lowercase eta with rough breathing and acute": + let next_ = lose_it_ + elseif t = + "Lowercase eta with smooth breathing and acute": + let next_ = lose_it_ + elseif t = + "Lowercase eta with grave and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase eta with rough breathing and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase eta with smooth breathing and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase eta with acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase eta with rough breathing, acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase eta with smooth breathing and acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase eta with circumflex and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase eta with rough breathing, circumflex and iota subscript" : + let next_ = lose_it_ + elseif t = + "Lowercase eta with smooth breathing, circumflex and iota subscript" : + let next_ = lose_it_ + elseif t = + "Lowercase eta with iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase upsilon with smooth breathing": + let next_ = lose_it_ + elseif t = + "Lowercase upsilon with rough breathing and acute": + let next_ = lose_it_ + elseif t = + "Lowercase upsilon with smooth breathing and acute": + let next_ = lose_it_ + elseif t = + "Lowercase omega with rough breathing and acute": + let next_ = lose_it_ + elseif t = + "Lowercase omega with smooth breathing and acute": + let next_ = lose_it_ + elseif t = + "Lowercase omega with grave and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase omega with rough breathing and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase omega with smooth breathing and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase omega with acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase omega with rough breathing, acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase omega with smooth breathing and acute and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase omega with circumflex and iota subscript": + let next_ = lose_it_ + elseif t = + "Lowercase omega with rough breathing, circumflex and iota subscript" : + let next_ = lose_it_ + elseif t = + "Lowercase omega with smooth breathing, circumflex and iota subscript" : + let next_ = lose_it_ + elseif t = + "Lowercase omega with iota subscript": + let next_ = lose_it_ +% diaeresis occurs only on short iota and upsilon, so never with circumflex + elseif t = + "Lowercase iota with diaeresis and circumflex" : + let next_ = lose_it_ + elseif t = + "Lowercase upsilon with diaeresis and circumflex" : + let next_ = lose_it_ +% Remapping to BetaCode + elseif t = "Lowercase theta" : + code_offset := ASCII"q" - ASCII"j"; let next_ = use_it_ + elseif t = "Lowercase chi" : + code_offset := ASCII"x" - ASCII"q"; let next_ = use_it_ + elseif t = "Lowercase xi" : + code_offset := ASCII"c" - ASCII"x"; let next_ = use_it_ + elseif t = "Final lowercase sigma" : + code_offset := ASCII"j" - ASCII"s"; let next_ = use_it_ + elseif t = "Initial and medial lowercase sigma" : + code_offset := ASCII"s" - ASCII"c"; let next_ = use_it_ + else: code_offset := 0; let next_ = use_it_ fi; next_ enddef; + +let cmchar = selectlower; + +readfrom("a") +input abary4 +readfrom("e") +input ebary4 +readfrom("h") +input hbary4 +readfrom("i") +input ibary4 +readfrom("o") +input obary4 +doing_u:=1; +readfrom("u") +input ubary4 +doing_u:=0; +readfrom("w") +input wbary4 +readfrom("b") +readfrom("g") +readfrom("d") +readfrom("z") +readfrom("j") +readfrom("k") +readfrom("l") +readfrom("m") +readfrom("n") +readfrom("x") +readfrom("p") +readfrom("r") +readfrom("s") +readfrom("t") +readfrom("f") +readfrom("q") +readfrom("y") + +code_offset:=0; % let's be really sure of this + +def selectkoppa expr t = + currenttitle:= t; + if t = + "Lowercase koppa" : let next_ = use_it_ + else: let next_ = lose_it_ fi; next_ enddef; +let cmchar = selectkoppa; + +input koppa4 + +let cmchar = relax; +input cigma4 +input digamma4 +input sampi4 + + diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibypnct4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibypnct4.mf new file mode 100644 index 0000000000..34b285ba67 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibypnct4.mf @@ -0,0 +1,73 @@ +def selectpunct expr t = + currenttitle:= t; + if t = "Hash mark (number sign)" : let next_ = lose_it_ + elseif t = "At sign" : let next_ = lose_it_ + elseif t = "Semicolon" : + code_offset := ASCII"?" - ASCII";"; let next_ = use_it_ + elseif t = "Apostrophe" : + code_offset := quotesnglright - ASCII"'"; let next_ = use_it_ + elseif t = "Reverse apostrophe" : + code_offset := quotesnglleft - ASCII"`"; let next_ = use_it_ + else: code_offset := 0; let next_ = use_it_ fi; next_ enddef; + +def remapcomlig expr t = + currenttitle:= t; + if t = "Closing quotes" : + code_offset := quotedblright - oct"42"; let next_ = use_it_ + elseif t = "Opening quotes" : + code_offset := quotedblleft - oct"134"; let next_ = use_it_ + elseif t = "En dash" : + code_offset := endash - oct"173"; let next_ = use_it_ + elseif t = "Em dash" : + code_offset := emdash - ASCII"|"; let next_ = use_it_ + else: code_offset := 0; let next_ = use_it_ fi; next_ enddef; + +% Get a good set of critical edition marks for this font. + +def selectsym expr t = + currenttitle:= t; + if t = "Left curly brace" : + code_offset := braceleft - oct"146"; let next_ = use_it_ + elseif t = "Right curly brace" : + code_offset := braceright - oct"147"; let next_ = use_it_ + elseif t = "Left floor bracket" : + code_offset := bracketleftbt - oct"142"; let next_ = use_it_ + elseif t = "Right floor bracket" : + code_offset := bracketrightbt - oct"143"; let next_ = use_it_ + elseif t = "Left angle bracket" : + code_offset := angleleft - oct"150"; let next_ = use_it_ + elseif t = "Right angle bracket" : + code_offset := angleright - oct"151"; let next_ = use_it_ + elseif t = "Dagger mark" : + code_offset := dagger - oct"171"; let next_ = use_it_ + elseif t = "Double dagger mark" : + code_offset := daggerdbl - oct"172"; let next_ = use_it_ + else: let next_ = lose_it_ fi; next_ enddef; + +% Use Computer modern characters for as many signs as possible. + +let cmchar = selectpunct; +input punct +let ligtable_ = ligtable; +def ligtable text t = enddef; +let cmchar = remapcomlig; +input comlig +let cmchar = relax; +let ligtable = ligtable_; +let cmchar = selectsym; +input symbol + +code_offset := 0; + +% Special Greek punctuation from Silvio Levy's src/punct.mf. + +def selectgrpunct expr t = + currenttitle:= t; + if t = "'Anw tele'ia" : let next_ = use_it_ + elseif t = "Open quotes (eisagwgik'a)" : let next_ = use_it_ + elseif t = "Close quotes (eisagwgik'a)" : let next_ = use_it_ + else: code_offset := 0; let next_ = lose_it_ fi; next_ enddef; + +let cmchar = selectgrpunct; +readfrom("grpunct"); + diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyupr4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyupr4.mf new file mode 100644 index 0000000000..080298bbcc --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyupr4.mf @@ -0,0 +1,54 @@ +def selectupper expr t = + currenttitle:= t; + if t = "The letter C" : + code_offset := Cigmalunate - ASCII"C"; let next_ = use_it_ + elseif t = "The letter D" : let next_ = lose_it_ + elseif t = "The letter F" : + code_offset := Digamma - ASCII"F"; let next_ = use_it_ + elseif t = "The letter G" : let next_ = lose_it_ + elseif t = "The letter J" : let next_ = lose_it_ + elseif t = "The letter L" : let next_ = lose_it_ + elseif t = "The letter Q" : let next_ = lose_it_ + elseif t = "The letter R" : let next_ = lose_it_ + elseif t = "The letter S" : let next_ = lose_it_ + elseif t = "The letter U" : let next_ = lose_it_ + elseif t = "The letter V" : let next_ = lose_it_ + elseif t = "The letter W" : let next_ = lose_it_ + elseif t = "The letter Y" : let next_ = lose_it_ + elseif t = "The letter P" : + code_offset := ASCII"R" - ASCII"P"; let next_ = use_it_ + else: code_offset := 0; let next_ = use_it_ fi; next_ enddef; + +def recodeupper expr t = + currenttitle:= t; + if t = "Uppercase Greek Xi" : code_offset := ASCII"C" - oct"004"; + elseif t = "Uppercase Greek Delta" : code_offset := ASCII"D" - oct"001"; + elseif t = "Uppercase Greek Phi" : code_offset := ASCII"F" - oct"010"; + elseif t = "Uppercase Greek Gamma" : code_offset := ASCII"G" - oct"000"; + elseif t = "Uppercase Greek Lambda" : code_offset := ASCII"L" - oct"003"; + elseif t = "Uppercase Greek Pi" : code_offset := ASCII"P" - oct"005"; + elseif t = "Uppercase Greek Theta" : code_offset := ASCII"Q" - oct"002"; + elseif t = "Uppercase Greek Sigma" : code_offset := ASCII"S" - oct"006"; + elseif t = "Uppercase Greek Upsilon" : code_offset := ASCII"U" - oct"007"; + elseif t = "Uppercase Greek Omega" : code_offset := ASCII"W" - oct"012"; + elseif t = "Uppercase Greek Psi" : code_offset := ASCII"Y" - oct"011"; + else: code_offset := 0; fi; next_ enddef; + +let cmchar = selectupper; +input romanu +let cmchar = recodeupper; +input greeku + +code_offset := 0; + +def selectkoppa expr t = + currenttitle:= t; + if t = + "Uppercase koppa" : let next_ = use_it_ + else: let next_ = lose_it_ fi; next_ enddef; +let cmchar = selectkoppa; + +input koppa4 + +let cmchar = relax; + diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/koppa4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/koppa4.mf new file mode 100644 index 0000000000..7a2d04e637 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/koppa4.mf @@ -0,0 +1,50 @@ +cmchar "Uppercase koppa"; +beginchar(Koppa,11u#,cap_height#,0); +italcorr .5cap_height#*slant-.5u#; +adjust_fit(0,0); +numeric shaved_stem,light_curve; +shaved_stem=cap_stem-hround 2stem_corr; +light_curve=cap_curve-hround stem_corr; +pickup tiny.nib; pos1(shaved_stem,0); pos2(shaved_stem,0); +lft x1l=lft x2l=hround(.5w-.5cap_stem); y1=y5; bot y2=0; +penpos3(vair,90); penpos5(vair,-90); +penpos4(light_curve,180); penpos6(light_curve,0); +x4r=hround u; x6r=w-x4r; x3=x5=.5w; +y3r=vround(h+o); y4=y6=.5[y3,y5]; +y5r=vround(.30h if serifs:+slab fi); +penstroke pulled_arc.e(3,4) & pulled_arc.e(4,5) + & pulled_arc.e(5,6) & pulled_arc.e(6,3) & cycle; % bowl +if serifs: dish_serif(2,1,c,1/3,1.25cap_jut,d,1/3,1.25cap_jut); fi +filldraw stroke z1e--z2e; % stem +math_fit(-.5cap_height#*slant-.5u#,ic#); penlabels(1,2,3,4,5,6); endchar; + +def dims = 9.5u#,x_height#,desc_depth# enddef; +def ital = 0 enddef; +def fit_params = 0,0 enddef; + +% Elements borrowed from phi and tail of eta +def gen_letter = + pickup fine.nib; + lft x4r=w-rt x8r=hround .75u; y4r=y8r=.5h; + x6r=.5[x4r,x8r]; bot y6r=-oo; + numeric tilt; tilt:=min(2*otilt,.5); + filldraw stroke gr_arc.e(6,7,8)(vair,stem,tilt) ; +% filldraw stroke gr_arc.e(4,5,6)(vair,.4[vair,stem],tilt) ; + filldraw stroke gr_arc.e(4,5,6)(vair,stem,tilt) ; + top y2r = h + o; x2r=x6r; +% filldraw stroke gr_arc.e(2,3,4)(vair,.4[vair,stem],tilt) ; +% Can't remember why I lightened up the northwest side of this. +% It doesn't seem like a good idea now. + filldraw stroke gr_arc.e(2,3,4)(vair,stem,tilt) ; + filldraw stroke gr_arc.e(8,1,2)(vair,stem,tilt) ; + pos10(stem,180); pos11(.4[vair,stem],180); % Thicken a bit at join + y10-.5stem=-d-o; y11=y6; x10=x11=x6; + filldraw circ_stroke z10e..z11e{up}; +enddef; + +cmchar "Lowercase koppa"; +beginchar(koppa,dims); +this_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,20,21); endchar; + +picture savedpicture; % erase it + diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/obary4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/obary4.mf new file mode 100644 index 0000000000..ca0ef25a8f --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/obary4.mf @@ -0,0 +1,26 @@ +savedpicture = barypicture; % it was cleared at the end of o.mf +%% but the dimensions set in o.mf remain. + +cmchar "Lowercase omicron with rough breathing and grave"; +beginchar(o_asprbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)<; endchar; + +cmchar "Lowercase omicron with smooth breathing and grave"; +beginchar(o_lenbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr)>; endchar; + +cmchar "Lowercase omicron with circumflex (Attic)"; +beginchar(o_peri,width#,acc_ht#,0); +this_letter; circumflex(x_baryctr); endchar; + +cmchar "Lowercase omicron with rough breathing and circumflex (Attic)"; +beginchar(o_asprperi,width#,Circ_ht#,0); +this_letter; spirit_circumflex(x_baryctr)<; endchar; + +cmchar "Lowercase omicron with smooth breathing and circumflex (Attic)"; +beginchar(o_lenperi,width#,Circ_ht#,0); +this_letter; spirit_circumflex(x_baryctr)>; endchar; + +picture barypicture; +picture pic.iota; +picture savedpicture; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/sampi4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/sampi4.mf new file mode 100644 index 0000000000..a4e1e111b6 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/sampi4.mf @@ -0,0 +1,27 @@ +% Rather mechanical design. A tipped +% close parenthesis, with two legs near +% the center. +cmchar "sampi"; +beginchar(sampi,10u# ,asc_height#,desc_depth#); +italcorr body_height#*slant-.5u#; +adjust_fit(0,0); pickup fine.nib; +pos1(vair,0); pos2(.75[hair,stem],0); pos3(vair,0); +rt x1r=rt x3r=hround(u); lft x2l=hround(x1+4u); +top y1=h-u; y2=.5[y1,y3]=math_axis; +numeric sampi_tilt; +x4 = w-2u; y4=y3; sampi_tilt=angle(z4-z1)+90; +pos6(vstem,90); pos7(vstem,90); +pos2'(.75[hair,stem],sampi_tilt); pos3'(vair,sampi_tilt); +forsuffixes $=6,7,8,9: + pos$'(vstem,90+sampi_tilt); endfor +x5=3(x2-x1); x6l=x7l=x2l; +y5=y6l+.15(y1-y3)=y7r-.15(y1-y3)=y2; +x8=x9=.2(x2-x1); y8=y6;y9=y7; +forsuffixes $=2,3,5,6,7,8,9: + z$'=z$ rotatedaround(z1,sampi_tilt); endfor +y5':=min(y5',y1-eps); +filldraw stroke z1e{z5'-z1}...z2'e + ...{z3'-z5'}z3'e; % arc +filldraw stroke z6'e--z8'e; filldraw stroke z7'e--z9'e; +penlabels(1,forsuffixes $=2,3,6,7,8,9:$',endfor 4); endchar; + diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/ubary4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ubary4.mf new file mode 100644 index 0000000000..3944e2652f --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/ubary4.mf @@ -0,0 +1,29 @@ +savedpicture = barypicture; % it was cleared at the end of u.mf +%% but the dimensions set in u.mf remain. + +% The opened out accent clusters make an adjustment of "center" +% necessary. This helps with the smooth breathing too. + +cmchar "recentered Lowercase upsilon with smooth breathing"; +beginchar(u_len,width#,acc_ht#,0); +this_letter; spirit(x_baryctr -.75u)>; endchar; + +cmchar "recentered Lowercase upsilon with rough breathing and acute"; +beginchar(u_asproxy,width#,acc_ht#,0); +this_letter; spirit_acute(x_baryctr -.75u)<; endchar; + +cmchar "recentered Lowercase upsilon with smooth breathing and acute"; +beginchar(u_lenoxy,width#,acc_ht#,0); +this_letter; spirit_acute(x_baryctr -.75u)>; endchar; + +cmchar "Lowercase upsilon with rough breathing and grave"; +beginchar(u_asprbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr-.75u)<; endchar; + +cmchar "Lowercase upsilon with smooth breathing and grave"; +beginchar(u_lenbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr-.75u)>; endchar; + +picture barypicture; +picture pic.iota; +picture savedpicture; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/version4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/version4.mf new file mode 100644 index 0000000000..e1d318e7eb --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/version4.mf @@ -0,0 +1 @@ +special "Ibycus Polytonic Greek. Version 4.2"; diff --git a/fonts/greek/ibygrk/fonts/source/public/ibycus4/wbary4.mf b/fonts/greek/ibygrk/fonts/source/public/ibycus4/wbary4.mf new file mode 100644 index 0000000000..d3140cddce --- /dev/null +++ b/fonts/greek/ibygrk/fonts/source/public/ibycus4/wbary4.mf @@ -0,0 +1,25 @@ +savedpicture = barypicture; % it was cleared at the end of w.mf +%% but the dimensions set in w.mf remain. + +% The opened out accent clusters make an adjustment of "center" +% necessary. + +cmchar "recentered Lowercase omega with rough breathing and acute"; +beginchar(w_asproxy,width#,acc_ht#,0); +this_letter; spirit_acute(x_baryctr -.75u)<; endchar; + +cmchar "recentered Lowercase omega with smooth breathing and acute"; +beginchar(w_lenoxy,width#,acc_ht#,0); +this_letter; spirit_acute(x_baryctr -.75u)>; endchar; + +cmchar "Lowercase omega with rough breathing and grave"; +beginchar(w_asprbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr -.75u)<; endchar; + +cmchar "Lowercase omega with smooth breathing and grave"; +beginchar(w_lenbary,width#,acc_ht#,0); +this_letter; spirit_grave(x_baryctr -.75u)>; endchar; + +picture barypicture; +picture pic.iota; +picture savedpicture; diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb84.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb84.tfm Binary files differnew file mode 100644 index 0000000000..ddb61dcbe3 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb84.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb848.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb848.tfm Binary files differnew file mode 100644 index 0000000000..5776ed99aa --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb848.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb849.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb849.tfm Binary files differnew file mode 100644 index 0000000000..d5a049024f --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb849.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo84.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo84.tfm Binary files differnew file mode 100644 index 0000000000..fcc02777c3 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo84.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo848.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo848.tfm Binary files differnew file mode 100644 index 0000000000..ea2d08e9a3 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo848.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo849.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo849.tfm Binary files differnew file mode 100644 index 0000000000..113054e817 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo849.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr84.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr84.tfm Binary files differnew file mode 100644 index 0000000000..8fa2c714a7 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr84.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr848.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr848.tfm Binary files differnew file mode 100644 index 0000000000..970c63a081 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr848.tfm diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr849.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr849.tfm Binary files differnew file mode 100644 index 0000000000..8d006d1768 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr849.tfm diff --git a/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibb84.pfb b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibb84.pfb Binary files differnew file mode 100644 index 0000000000..68ce2d3838 --- /dev/null +++ b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibb84.pfb diff --git a/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibr84.pfb b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibr84.pfb Binary files differnew file mode 100644 index 0000000000..7190ae441c --- /dev/null +++ b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibr84.pfb diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus.fd b/fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus.fd new file mode 100644 index 0000000000..38990c3a9b --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus.fd @@ -0,0 +1,34 @@ +% Uibycus.fd -- WaS 2004-10-18: +% - bold type1 font is used, too +% - definitions work also with VTeX/Free +% - fonts are declared as scalable +% +% Uibycus.fd-- P. A. MacKay --July 7, 2000 +% A more confident version in which all sizes of +% upright and obliqued, regular weight, are +% taken from the type1 font. Suggested by +% Peter.Heslin@ucd.ie. +% +% Uibycus.fd-- P.A. MacKay -- July 15.1999 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +% for use with nfss2. +% +\ProvidesFile{Uibycus.fd}[2004/10/18 v4.5 font definitions for Ibycus/Type1 (WaS)] +% +\ifx\aliasfont\@undefined\else\ifx\aliasfont\relax\else + \begingroup + \catcode32=10 % + \aliasfont fibo84 = fibr84 slant 167 % + \endgroup +\fi\fi +% OT1 is rather a lie... +\DeclareFontFamily{OT1}{ibycus}{} +\DeclareFontShape{OT1}{ibycus}{m}{n}{<-> fibr84}{} +\DeclareFontShape{OT1}{ibycus}{m}{sl}{<-> fibo84}{} +\DeclareFontShape{OT1}{ibycus}{m}{it}{<-> ssub * ibycus/m/sl}{} +\DeclareFontShape{OT1}{ibycus}{b}{n}{<-> fibb84}{} +\DeclareFontShape{OT1}{ibycus}{bx}{n}{<-> ssub * ibycus/b/n}{} + +\endinput diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus4.fd b/fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus4.fd new file mode 100644 index 0000000000..b42b859e30 --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus4.fd @@ -0,0 +1,28 @@ +% Uibycus4.fd-- P.A. MacKay -- July 12.1997 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +% for use with nfss2 +% +\ProvidesFile{Uibycus4.fd}[1997/07/12 (P.A. MacKay)] +% +% OT1 is rather a lie, but it works for all directly addressed +% glyphs. Apparently it is not possible to use the U designation +% outside of math mode. I still think it unwise to call this an +% OT1 fd. It isn't. +% +\DeclareFontFamily{OT1}{ibycus}{} +\DeclareFontShape{OT1}{ibycus}{m}{n}{% + <5> <6> <7> <8> fibr848 + <9> fibr849 + <10> <10.95> <12> <14.40> <17.28> <20.74> <24.88> fibr84}{} +\DeclareFontShape{OT1}{ibycus}{m}{sl}{% + <5> <6> <7> <8> fibo848 + <9> fibo849 + <10> <10.95> <12> <14.40> <17.28> <20.74> <24.88> fibo84}{} +\DeclareFontShape{OT1}{ibycus}{m}{it}{<->ssub * ibycus/m/sl}{} +\DeclareFontShape{OT1}{ibycus}{b}{n}{% + <5> <6> <7> <8> fibb848 + <9> fibb849 + <10> <10.95> <12> <14.40> <17.28> <20.74> <24.88> fibb84}{} +\endinput diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/iby4extr.tex b/fonts/greek/ibygrk/tex/generic/ibycus4/iby4extr.tex new file mode 100644 index 0000000000..8cfbce85b8 --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/iby4extr.tex @@ -0,0 +1,18 @@ +% iby4extr.tex-- P.A. MacKay -- July 12, 1997 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +% Provides traditional text-editor symbols for critical edition +% The control sequences follow Adobe naming conventions, to keep +% them from any likely conflict with plain.tex. +% I use \let\!=\dagger +% as a short and convenient way of getting at it +% +\def\braceleft{\char'333} +\def\braceright{\char'337} +\def\bracketleftbt{\char'363} +\def\bracketrightbt{\char'367} +\def\dagger{\char'375} +\def\dbldagger{\char'376} + +\input version4 diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.map b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.map new file mode 100644 index 0000000000..0efb0e0a2f --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.map @@ -0,0 +1,222 @@ +% +% These macros make it possible to read *.map files as either +% \TeX{} or METAFONT input +% See the $TEXMFROOT/tex/languages/greek/ibygrk directory for +% use of this file as TeX input +% +% A well-known conditional test in METAFONT; +% It creates mismatch of character tokens 'k' and 'n' in TeX +\if known cmbase: % Interpret as a METAFONT file + let re_catcode=relax; let let_=gobble; let no_let=gobble; + else: + message "Must have cmbase loaded for this, or else some macros from it" ; +% +% END OF METAFONT INTERPRETATION---TeX INTERPRETATION FOLLOWS +% + \else % Interpret as a TeX file + \catcode`\_11 % allow underscore in csnames as in METAFONT + \def\re_catcode{\catcode`\=12 \catcode`\;12 \catcode`\_8}% + \def\ignore_to_comment#1#2{}% +% Now activate all the characters from ^^80 to ^^ff + \count255=`\^^80 + \loop \ifnum\count255 < `\^^ff + \catcode\count255\active \advance\count255 by 1 \repeat + % \catcode`\^^ff\active % If you want it, I don't in this case. + \expandafter\input\the\digraphs % Filename in a \toks register + \catcode`\;0 % treat the first ; (required by METAFONT) as an escape + \catcode`\=14 % treat the = in the METAFONT part as a comment character + \let\let_\let \let\no_let\ignore_to_comment + \fi +% +% This is a rather specialized version of the map file, +% developed for Greek only. There are certain restrictions +% in this case, because we do not want to alter Silvio Levy's +% source code---only the mappings. +% The upper level codes (^^80---^^ff) are based on a version of +% Greek Keys (a word-processor package for Macintosh, distributed +% through the American Philological Association), but the mapping +% is worked out by experience not from any documentation, and +% local customization often alters even this mapping. +% Consistency is provided by the ASCII digraphs +% and trigraphs to which all word-processor codes are remapped +% before they are used in TeX. These digraphs and trigraphs +% (even tetragraphs in the case of iota subscript) are very close +% to Ibycus/TLG betacode, except for the unfortunate uppercasing +% of betacode. +% +% a known set of word-processor Some "hidden" characters +% equivalents is "let_" for TeX Only METAFONT needs to know +% \no_let is used where there what is in this column +% seems to be no certain mapping +% +\let_ ^^80;quotesnglright = ASCII"'"; endash = oct"046"; +\let_ ^^81;quotesnglleft = ASCII"`"; emdash = oct"177"; +\let_ ^^82;peri_spomenon = ASCII"="; null_space = ASCII" "; +\let_ ^^83;sp_lenis = ASCII")"; dieresis = oct"053"; % use plus sign +\let_ ^^84;sp_asper = ASCII"("; minute = ASCII"&"; % prime for numbers +\let_ ^^85;lenis_oxy = oct"136"; asper_glyph = oct"303"; +\let_ ^^86;lenis_bary = oct"137"; lenis_glyph = oct"307"; +\let_ ^^87;lenis_peri = oct"134"; guillemotleft = ASCII"{"; %two small +\let_ ^^88;asper_oxy = oct"207"; guillemotright = ASCII"}"; % awks +\let_ ^^89;asper_bary = oct"203"; iotasubscript = ASCII"|"; +\let_ ^^8a;asper_peri = oct"100"; dubious = ASCII"!"; +\no_let \dmy;bary_tone = oct"275"; quotedblleft = oct"253"; +\no_let \dmy;oxy_tone = oct"276"; quotedblright = oct"257"; +\no_let \dmy;diaeroxy = oct"043"; bracketleftbt = oct"363"; +\no_let \dmy;diaerbary = oct"044"; bracketrightbt = oct"367"; +% +% alpha with accents +% +\let_ ^^8b;a_oxy = oct"210"; Digamma = ASCII"V"; +\let_ ^^8c;a_bary = oct"200"; digamma = ASCII"v"; +\let_ ^^8d;a_peri = oct"220"; boundarychar := oct"377"; % N.B. := +\let_ ^^8e;a_len = oct"202"; +\let_ ^^8f;a_aspr = oct"201"; +\let_ ^^90;a_lenoxy = oct"212"; +\let_ ^^91;a_asproxy = oct"211"; cigmalunate=ASCII"J"; +\let_ ^^92;a_lenbary = oct"223"; % "J" is all that's available +\let_ ^^93;a_asprbary = oct"213"; sigmafinal=ASCII"j"; +\let_ ^^94;a_lenperi = oct"222"; r_aspr = oct"373"; % GreekKeys "="!! +\let_ ^^95;a_asprperi = oct"221"; r_len = oct"374"; +% +% alpha with accents and iota subscript +% +\let_ ^^fb;a_isub = oct"370"; % Kerned back iotasubscript only +\let_ ^^96;a_oxyisub = oct"214"; e_peri = oct"214"; +\let_ ^^97;a_baryisub = oct"204"; e_asprperi = oct"204"; +\let_ ^^98;a_periisub = oct"224"; e_lenperi = oct"224"; +\let_ ^^99;a_lenisub = oct"206"; Koppa = oct"206"; +\let_ ^^9a;a_asprisub = oct"205"; o_asprperi = oct"205"; +\let_ ^^9b;a_lenoxyisub = oct"216"; koppa = oct"216"; +\let_ ^^9c;a_asproxyisub = oct"215"; o_peri = oct"215"; +\let_ ^^9d;a_lenbaryisub = oct"227"; +\let_ ^^9e;a_asprbaryisub = oct"217"; sampi = oct"217"; +\let_ ^^9f;a_lenperiisub = oct"226"; Cigmalunate=oct"226"; +\let_ ^^a0;a_asprperiisub = oct"225"; o_lenperi = oct"225"; +% +% epsilon with accents +% +\let_ ^^a1;e_oxy = oct"350"; angleleft = ASCII"<"; +\let_ ^^a2;e_bary = oct"340"; angleright = ASCII">"; +\let_ ^^a4;e_len = oct"342"; braceleft = oct"333"; +\let_ ^^a5;e_aspr = oct"341"; braceright = oct"337"; +\let_ ^^a6;e_lenoxy = oct"352"; dagger = oct"375"; +\let_ ^^a7;e_asproxy = oct"351"; daggerdbl = oct"376"; +\let_ ^^a8;e_lenbary = oct"343"; aspirate = oct"377"; +\let_ ^^a9;e_asprbary = oct"353"; +% +% eta with accents +% +\let_ ^^ae;h_oxy = oct"240"; +\let_ ^^af;h_bary = oct"230"; +\let_ ^^b0;h_peri = oct"250"; +\let_ ^^b1;h_len = oct"232"; +\let_ ^^b2;h_aspr = oct"231"; +\let_ ^^b3;h_lenoxy = oct"242"; +\let_ ^^b4;h_asproxy = oct"241"; +\let_ ^^b5;h_lenbary = oct"243"; +\let_ ^^b6;h_asprbary = oct"233"; +\let_ ^^b7;h_lenperi = oct"252"; +\let_ ^^b8;h_asprperi = oct"251"; +% +% eta with accents and iota subscript +% +% In this section and in the "omega with accents and iota subscript" +% section at the end, the octal values are assigned twice. The coding +% originally followed the pattern of GreekKeys fonts in giving a map +% position to every iota subscript composite. But this is wasteful, since +% there are only three correct positions for iota subscript. Current +% coding follows the practice seen in the Linotype Times Ten Greek of +% kerning one of three iotasubscripts under the appropriate a, h, or w. +% This does, unfortunately mean that the current mapping cannot be used +% directly with GreekKeys input, but nobody seems ever to do that +% anyway. +% +\let_ ^^fa;h_isub = oct"371"; % The redundancy below here is +\let_ ^^b9;h_oxyisub = oct"244"; doti = oct"244"; % unavoidable +\let_ ^^ba;h_baryisub = oct"234"; dotI = oct"234" % It derives in +\let_ ^^bb;h_periisub = oct"254"; dote = oct"254"; % part from the +\let_ ^^bc;h_lenisub = oct"236"; dotbt = oct"236"; % older coding +\let_ ^^bd;h_asprisub = oct"235"; dotJdlmnpqu = oct"235"; % Now the +\let_ ^^be;h_lenoxyisub = oct"246"; dotkos = oct"246"; % only +\let_ ^^bf;h_asproxyisub = oct"245"; dotGZ = oct"245"; % isub +\let_ ^^c0;h_lenbaryisub = oct"247"; dotCEVaw = oct"247"; % code +\let_ ^^c1;h_asprbaryisub = oct"237"; dotchjz = oct"237"; % in MF +\let_ ^^c2;h_lenperiisub = oct"256"; dotBFLNPRSTW = oct"256"; % is the +\let_ ^^c3;h_asprperiisub = oct"255"; dotH = oct"255"; % first +% +%iota with accents +% +\let_ ^^db;i_oxy = oct"320"; +\let_ ^^dc;i_bary = oct"310"; +\let_ ^^dd;i_peri = oct"330"; +\let_ ^^de;i_len = oct"312"; +\let_ ^^df;i_aspr = oct"311"; +\let_ ^^e0;i_lenoxy = oct"322"; +\let_ ^^e1;i_asproxy = oct"321"; +\let_ ^^e2;i_lenbary = oct"323"; +\let_ ^^e3;i_asprbary = oct"313"; +\let_ ^^e4;i_lenperi = oct"332"; +\let_ ^^e5;i_asprperi = oct"331"; +\let_ ^^f3;i_diaer = oct"360"; +\let_ ^^fd;i_diaeroxy = oct"362"; +\let_ ^^fe;i_diaerbary = oct"361"; +% +% omicron with accents +% +\let_ ^^f1;o_oxy = oct"354"; +\let_ ^^f2;o_bary = oct"344"; +\let_ ^^f4;o_len = oct"346"; +\let_ ^^f5;o_aspr = oct"345"; +\let_ ^^f6;o_lenoxy = oct"356"; +\let_ ^^f7;o_asproxy = oct"355"; +\let_ ^^f8;o_lenbary = oct"357"; +\let_ ^^f9;o_asprbary = oct"347"; +% +% upsilon with accents +% +\let_ ^^e6;u_oxy = oct"324"; +\let_ ^^e7;u_bary = oct"314"; +\let_ ^^e8;u_peri = oct"334"; +\let_ ^^e9;u_len = oct"316"; +\let_ ^^ea;u_aspr = oct"315"; +\let_ ^^eb;u_lenoxy = oct"326"; +\let_ ^^ec;u_asproxy = oct"325"; +\let_ ^^ed;u_lenbary = oct"327"; +\let_ ^^ee;u_asprbary = oct"317"; +\let_ ^^ef;u_lenperi = oct"336"; +\let_ ^^f0;u_asprperi = oct"335"; +\no_let \dmy;u_diaer = oct"364"; % ^^23, but it's not worth the effort +\no_let \dmy;u_diaeroxy = oct"366"; % ^^40, ditto +\let_ ^^a3;u_diaerbary = oct"365"; +% +% omega with accents +% +\let_ ^^c5;w_oxy = oct"270"; +\let_ ^^c6;w_bary = oct"260"; +\let_ ^^c7;w_peri = oct"300"; +\let_ ^^c8;w_len = oct"262"; +\let_ ^^c9;w_aspr = oct"261"; +\let_ ^^ca;w_lenoxy = oct"272"; +\let_ ^^cb;w_asproxy = oct"271"; +\let_ ^^cc;w_lenbary = oct"273"; +\let_ ^^cd;w_asprbary = oct"263"; +\let_ ^^ce;w_lenperi = oct"302"; +\let_ ^^cf;w_asprperi = oct"301"; +% +% omega with accents and iota subscript +% +\let_ ^^c4;w_isub = oct"372"; % Kerned back iotasubscript only +\let_ ^^d0;w_oxyisub = oct"274"; dotAOQUXY = oct"274"; +\let_ ^^d1;w_baryisub = oct"264"; dotDK = oct"264"; +\let_ ^^d2;w_periisub = oct"304"; dotM = oct"304"; +\let_ ^^d3;w_lenisub = oct"266"; dotgx = oct"266"; +\let_ ^^d4;w_asprisub = oct"265"; dotfy = oct"265"; +\let_ ^^d5;w_lenoxyisub = oct"276"; % oxy_tone +\let_ ^^d6;w_asproxyisub = oct"275"; % bary_tone +\let_ ^^d7;w_lenbaryisub = oct"277"; dotr = oct"277" +\let_ ^^d8;w_asprbaryisub = oct"267"; dotkoppa = oct"267"; +\let_ ^^d9;w_lenperiisub = oct"306"; longum = oct"306"; +\let_ ^^da;w_asprperiisub = oct"305"; breve = oct"305"; + +\re_catcode diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.sty b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.sty new file mode 100644 index 0000000000..ec072fbec7 --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.sty @@ -0,0 +1,36 @@ +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% Walter Schmidt +% w.a.schmidt@gmx.net +% ------------------------ +% 2004-10-18 added proper identification (\ProvidesPackage) +% 2003-05-28 patched wrt/ T1 encoding, added \textgreek +% 12/7/97 Convert to ibycus4 +% 4/12/95 Test for isolatin package and suppress ibycus3.map if it's there +% 31/10/95 Added \input{iby3extr} for editor symbols +% 25/1/95 Created. +% +% For use with LaTeX2e +% Replaces iby4text.tex; does not call setiby4.tex +% Use "\fontsize{14}{17pt}\selectfont" instead of "\setgreek14/17" +% and "{\greek{}...}" instead of "\GK{}...\RM{}" +% The fd file is named as it should be, for ``Unknown'' encoding +% even though I have to use OT1 in the actual file + +\ProvidesPackage{ibycus4}[2004/10/18 v4.5 Ibycus4 (P.A.MacKay/WaS)] +\newtoks\digraphs +\digraphs={tlgsqq} +\chardef \atcode = \the \catcode `\@ +\def\unletterat{\catcode`\@ = \the \atcode} +\catcode`\@ = 11 +\ifx\@grave@A@grave@\undefined\input{ibycus4.map} +\else\@latex@warning@no@line{% +No GreekKeys upper ASCII. Post-positive ASCII sequences only}\fi +% Don't use the GreekKeys equivalents if isolatin is in use. +\unletterat +\input{Uibycus4.fd} +\def\greek{\fontencoding{OT1}\fontfamily{ibycus}\selectfont} +\input{iby4extr} +\DeclareTextFontCommand{\textgreek}{\greek} + +\endinput diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.tex b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.tex new file mode 100644 index 0000000000..464c4b4882 --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.tex @@ -0,0 +1,26 @@ +\newtoks\digraphs +\digraphs={tlgsqq}% +% +\newif\ifrestoreat +\expandafter\ifnum\the\catcode`\@=11 + \restoreatfalse + \else\global\count9=\the\catcode`\@ + \catcode`\@=11 + \restoreattrue + \fi +% +\input ibycus4.map +% +\ifx\newneploaded\undefined\input setiby4 \fi +\gdef\GK{\ifx\gr@@kbaselineskip\undefined + \expandafter\csname\the\gr@@kpoint\endcsname\else\gr@@kpoint\fi + \begingroup + \def\GK{\relax} + \def\RM{\rm\endgroup}% + \ifx\gr@@kbaselineskip\undefined % newnep takes care of this + \else\normalbaselineskip\gr@@kbaselineskip\normalbaselines\fi + \expandafter\let\noexpand\it\gksl\gk}% +\gdef\RM{\relax}% +\ifrestoreat\catcode`\@=\the\count9 \fi % back to normal +\global\count9=0 +\input iby4extr diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/ibycusps.tex b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycusps.tex new file mode 100644 index 0000000000..0a45161af7 --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/ibycusps.tex @@ -0,0 +1,26 @@ +\newtoks\digraphs +\digraphs={tlgsqq}% +% +\newif\ifrestoreat +\expandafter\ifnum\the\catcode`\@=11 + \restoreatfalse + \else\global\count9=\the\catcode`\@ + \catcode`\@=11 + \restoreattrue + \fi +% +\input ibycus4.map +% +\ifx\newneploaded\undefined\input pssetiby \fi +\gdef\GK{\ifx\gr@@kbaselineskip\undefined + \expandafter\csname\the\gr@@kpoint\endcsname\else\gr@@kpoint\fi + \begingroup + \def\GK{\relax}% + \def\RM{\rm\endgroup}% + \ifx\gr@@kbaselineskip\undefined % newnep takes care of this + \else\normalbaselineskip\gr@@kbaselineskip\normalbaselines\fi + \expandafter\let\noexpand\it\gksl\gk}% +\gdef\RM{\relax}% +\ifrestoreat\catcode`\@=\the\count9 \fi % back to normal +\global\count9=0 +\input iby4extr
\ No newline at end of file diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/psibycus.sty b/fonts/greek/ibygrk/tex/generic/ibycus4/psibycus.sty new file mode 100644 index 0000000000..31374ec84b --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/psibycus.sty @@ -0,0 +1,36 @@ +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% Walter Schmidt +% w.a.schmidt@gmx.net +% ------------------------ +% 2004-10-18 Version 4.5: font definitions moved to separate fd file, again +% 2003-05-28 Version 4.2: virtual fonts are no longer used +% 2003-04-29 Version 4.1 for VTeX +% 15/7/99 Version for type1 font IbycusHTG-Regular +% 12/7/97 Convert to ibycus4 +% 4/12/95 Test for isolatin package and suppress ibycus3.map if it's there +% 31/10/95 Added \input{iby3extr} for editor symbols +% 25/1/95 Created. +% +% For use with LaTeX2e +% Replaces iby4text.tex; does not call setiby4.tex +% Use "\fontsize{14}{17pt}\selectfont" instead of "\setgreek14/17" +% and "{\greek{}...}" instead of "\GK{}...\RM{}" + +\ProvidesPackage{psibycus}[2004/10/18 v4.5 Ibycus4 using Type1 fonts (P.A.MacKay/WaS)] +\newtoks\digraphs +\digraphs={tlgsqq} +\chardef \atcode = \the \catcode `\@ +\def\unletterat{\catcode`\@ = \the \atcode} +\catcode`\@ = 11 +\ifx\@grave@A@grave@\undefined\input{ibycus4.map} +\else\@latex@warning@no@line{% +No GreekKeys upper ASCII. Post-positive ASCII sequences only}\fi +% Don't use the GreekKeys equivalents if isolatin is in use. +\unletterat +\input{Uibycus.fd} +\def\greek{\fontencoding{OT1}\fontfamily{ibycus}\selectfont} +\input{iby4extr} +\DeclareTextFontCommand{\textgreek}{\greek} + +\endinput diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/pssetiby.tex b/fonts/greek/ibygrk/tex/generic/ibycus4/pssetiby.tex new file mode 100644 index 0000000000..d008ba6119 --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/pssetiby.tex @@ -0,0 +1,47 @@ +%% patched for use with VTeX 2003-05-28 WaS +%% start VTeX modification +\expandafter\ifx\csname aliasfont\endcsname\relax +\else + \begingroup + \catcode32=10 % + \aliasfont fibo84 = fibr84 slant 167 % + \endgroup +\fi +%% end VTeX modification +\newfam\gkf@m +\newskip\gr@@kbaselineskip +\font\twelvegrk=fibr84 at 12pt +\font\twelvegrksl=fibo84 scaled \magstep1 +\font\elevengrk=fibr84 at 10.95pt +\font\elevengrksl=fibo84 scaled \magstephalf +\font\tengrk=fibr84 at 10pt +\font\tengrksl=fibo84 +%% start VTeX modification +\font\ninegrk=fibr84 at 9pt % \font\ninegrk=fibr849 +\font\ninegrksl=fibo84 at 9pt % \font\ninegrksl=fibo9 +\font\eightgrk=fibr84 at 8pt % \font\eightgrk=fibr848 +\font\eightgrksl=fibo84 at 8pt % \font\eightgrksl=fibo8 +%% end VTeX modification +\gdef\setgreek#1/#2 {% + \def\f@ntp@int##1{\ifcase##1\toks0={zero}% + \or\toks0={zero}\or\toks0={zero}\or\toks0={zero}% 1,2,3 + \or\toks0={zero}\or\toks0={zero}\or\toks0={zero}% 4,5,6 + \or\toks0={zero}% 7 + \or\toks0={eight}\or\toks0={nine}\or\toks0={ten} + \or\toks0={eleven}\or\toks0={twelve}\fi + }% + \def\gksizep@int##1{\expandafter\gdef\csname ##1point\endcsname{%% + \textfont\gkf@m=\csname ##1grk\endcsname + \gdef\gk{\fam\gkf@m\csname ##1grk\endcsname}% + \edef\gksl{\csname ##1grksl\endcsname}% + }}% + \global\gr@@kbaselineskip=#2pt + \f@ntp@int{#1}% + % Get the English for the fontsize into \toks0 + \expandafter\expandafter\expandafter\gksizep@int{\the\toks0}% + \edef\gr@@kpoint{% + \expandafter\noexpand\csname\the\toks0point\endcsname}% + \csname\the\toks0point\endcsname +} +\message{Type \noexpand\setgreek10/12 to set 10pt greek on 12pt leading} +\message{ \noexpand\GK to start, \noexpand\RM to end greek } diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/setiby4.tex b/fonts/greek/ibygrk/tex/generic/ibycus4/setiby4.tex new file mode 100644 index 0000000000..586f1efabf --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/setiby4.tex @@ -0,0 +1,35 @@ +\newfam\gkf@m +\newskip\gr@@kbaselineskip +\font\twelvegrk=fibr84 scaled \magstep1 +\font\twelvegrksl=fibo84 scaled \magstep1 +\font\elevengrk=fibr84 scaled \magstephalf +\font\elevengrksl=fibo84 scaled \magstephalf +\font\tengrk=fibr84 +\font\tengrksl=fibo84 +\font\ninegrk=fibr849 +\font\ninegrksl=fibo849 +\font\eightgrk=fibr848 +\font\eightgrksl=fibo848 +\gdef\setgreek#1/#2 {% + \def\f@ntp@int##1{\ifcase##1\toks0={zero}% + \or\toks0={zero}\or\toks0={zero}\or\toks0={zero}% 1,2,3 + \or\toks0={zero}\or\toks0={zero}\or\toks0={zero}% 4,5,6 + \or\toks0={zero}% 7 + \or\toks0={eight}\or\toks0={nine}\or\toks0={ten} + \or\toks0={eleven}\or\toks0={twelve}\fi + }% + \def\gksizep@int##1{\expandafter\gdef\csname ##1point\endcsname{%% + \textfont\gkf@m=\csname ##1grk\endcsname + \gdef\gk{\fam\gkf@m\csname ##1grk\endcsname}% + \edef\gksl{\csname ##1grksl\endcsname}% + }}% + \global\gr@@kbaselineskip=#2pt + \f@ntp@int{#1}% + % Get the English for the fontsize into \toks0 + \expandafter\expandafter\expandafter\gksizep@int{\the\toks0}% + \edef\gr@@kpoint{% + \expandafter\noexpand\csname\the\toks0point\endcsname}% + \csname\the\toks0point\endcsname +} +\message{Type \noexpand\setgreek10/12 to set 10pt greek on 12pt leading} +\message{ \noexpand\GK to start, \noexpand\RM to end greek } diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/tlgsqq.tex b/fonts/greek/ibygrk/tex/generic/ibycus4/tlgsqq.tex new file mode 100644 index 0000000000..7e4314dcf2 --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/tlgsqq.tex @@ -0,0 +1,135 @@ +\def\sp_lenis{\char'076}% +\def\sp_asper{\char'074}% +\def\lenis_oxy{)'}% +\def\lenis_bary{)`}% +\def\lenis_peri{)=}% +\def\asper_oxy{('}% +\def\asper_bary{(`}% +\def\asper_peri{(=}% +\def\a_{a}% +\def\a_bary{a`}% +\def\a_aspr{a(}% +\def\a_len{a)}% +\def\a_isub{a|}% +\def\a_baryisub{a`|}% +\def\a_asprisub{a(|}% +\def\a_lenisub{a)|}% +\def\a_isub{a|}% +\def\a_oxy{a'}% +\def\a_asproxy{a('}% +\def\a_asprbary{a(`}% +\def\a_lenoxy{a)'}% +\def\a_lenbary{a)`}% +\def\a_oxyisub{a'|}% +\def\a_asproxyisub{a('|}% +\def\a_asprbaryisub{a(`|}% +\def\a_lenoxyisub{a)'|}% +\def\a_lenbaryisub{a)`|}% +\def\a_peri{a=}% +\def\a_asprperi{a(=}% +\def\a_lenperi{a)=}% +\def\a_periisub{a=|}% +\def\a_asprperiisub{a(=|}% +\def\a_lenperiisub{a)=|}% +\def\a_isub{a|}% +\def\e_{e}% +\def\e_bary{e`}% +\def\e_aspr{e(}% +\def\e_len{e)}% +\def\e_oxy{e'}% +\def\e_asproxy{e('}% +\def\e_asprbary{e(`}% +\def\e_lenoxy{e)'}% +\def\e_lenbary{e)`}% +\def\h_{h}% +\def\h_bary{h`}% +\def\h_aspr{h(}% +\def\h_isub{h|}% +\def\h_len{h)}% +\def\h_baryisub{h`|}% +\def\h_asprisub{h(|}% +\def\h_lenisub{h)|}% +\def\h_oxy{h'}% +\def\h_asproxy{h('}% +\def\h_asprbary{h(`}% +\def\h_lenoxy{h)'}% +\def\h_lenbary{h)`}% +\def\h_oxyisub{h'|}% +\def\h_asproxyisub{h('|}% +\def\h_asprbaryisub{h(`|}% +\def\h_lenoxyisub{h)'|}% +\def\h_lenbaryisub{h)`|}% +\def\h_peri{h=}% +\def\h_asprperi{h(=}% +\def\h_lenperi{h)=}% +\def\h_periisub{h=|}% +\def\h_asprperiisub{h(=|}% +\def\h_lenperiisub{h)=|}% +\def\h_isub{h|}% +\def\i_{i}% +\def\i_bary{i`}% +\def\i_aspr{i(}% +\def\i_len{i)}% +\def\i_oxy{i'}% +\def\i_asproxy{i('}% +\def\i_asprbary{i(`}% +\def\i_lenoxy{i)'}% +\def\i_lenbary{i)`}% +\def\i_peri{i=}% +\def\i_asprperi{i(=}% +\def\i_lenperi{i)=}% +\def\i_diaer{i+}% +\def\i_barydiaer{i+`}% +\def\i_oxydiaer{i+'}% +\def\i_peridiaer{i+=}% +\def\o_{o}% +\def\o_bary{o`}% +\def\o_aspr{o(}% +\def\o_len{o)}% +\def\o_oxy{o'}% +\def\o_asproxy{o('}% +\def\o_asprbary{o(`}% +\def\o_lenoxy{o)'}% +\def\o_lenbary{o)`}% +\def\u_{u}% +\def\u_bary{u`}% +\def\u_aspr{u(}% +\def\u_len{u)}% +\def\u_oxy{u'}% +\def\u_asproxy{u('}% +\def\u_asprbary{u(`}% +\def\u_lenoxy{u)'}% +\def\u_lenbary{u)`}% +\def\u_peri{u=}% +\def\u_asprperi{u(=}% +\def\u_lenperi{u)=}% +\def\u_diaer{u+}% +\def\u_barydiaer{u+`}% +\def\u_oxydiaer{u+'}% +\def\u_peridiaer{u+=}% +\def\w_{w}% +\def\w_bary{w`}% +\def\w_aspr{w(}% +\def\w_len{w)}% +\def\w_isub{w|}% +\def\w_baryisub{w`|}% +\def\w_asprisub{w(|}% +\def\w_lenisub{w)|}% +\def\w_oxy{w'}% +\def\w_asproxy{w('}% +\def\w_asprbary{w(`}% +\def\w_lenoxy{w)'}% +\def\w_lenbary{w)`}% +\def\w_oxyisub{w'|}% +\def\w_lenoxyisub{w)'|}% +\def\w_lenbaryisub{w)`|}% +\def\w_asproxyisub{w('|}% +\def\w_asprbaryisub{w(`|}% +\def\w_peri{w=}% +\def\w_asprperi{w(=}% +\def\w_lenperi{w)=}% +\def\w_periisub{w=|}% +\def\w_asprperiisub{w(=|}% +\def\w_lenperiisub{w)=|}% +\def\w_isub{w|}% + diff --git a/fonts/greek/ibygrk/tex/generic/ibycus4/version4.tex b/fonts/greek/ibygrk/tex/generic/ibycus4/version4.tex new file mode 100644 index 0000000000..4e3499ad4f --- /dev/null +++ b/fonts/greek/ibygrk/tex/generic/ibycus4/version4.tex @@ -0,0 +1,5 @@ +% version4.tex-- P.A. MacKay -- July 15, 1997 +% Pierre A. MacKay, Dept. of Classics, University of Washington +% mackay@cs.washington.edu +% ------------------------ +\message{Ibycus Greek. Version 4. 15 July 1997} |