summaryrefslogtreecommitdiff
path: root/fonts/greek/ibygrk
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/greek/ibygrk')
-rw-r--r--fonts/greek/ibygrk/COPYING340
-rw-r--r--fonts/greek/ibygrk/NEWS43
-rw-r--r--fonts/greek/ibygrk/README83
-rw-r--r--fonts/greek/ibygrk/doc/generic/ibycus4/README361
-rw-r--r--fonts/greek/ibygrk/doc/generic/ibycus4/iby4text.tex47
-rw-r--r--fonts/greek/ibygrk/doc/generic/ibycus4/ibycus3.RME231
-rw-r--r--fonts/greek/ibygrk/doc/generic/ibycus4/ibycus4.ltx40
-rw-r--r--fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.ltx41
-rw-r--r--fonts/greek/ibygrk/doc/generic/ibycus4/psibycus.tex48
-rw-r--r--fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibb84.afm367
-rw-r--r--fonts/greek/ibygrk/fonts/afm/public/ibycus4/fibr84.afm622
-rw-r--r--fonts/greek/ibygrk/fonts/enc/dvips/ibycus4/IbycusHTG.enc71
-rw-r--r--fonts/greek/ibygrk/fonts/map/dvips/ibycus4/iby.map3
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/abary4.mf14
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/cigma4.mf22
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/digamma4.mf28
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ebary4.mf81
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb84.mf83
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb848.mf83
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibb849.mf83
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo84.mf88
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo848.mf88
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibo849.mf88
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr84.mf89
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr848.mf88
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/fibr849.mf88
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/hbary4.mf25
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibary4.mf15
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyacc4.mf608
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.map222
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibycus4.mf39
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylig4.mf250
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibylwr4.mf195
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibypnct4.mf73
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ibyupr4.mf54
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/koppa4.mf50
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/obary4.mf26
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/sampi4.mf27
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/ubary4.mf29
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/version4.mf1
-rw-r--r--fonts/greek/ibygrk/fonts/source/public/ibycus4/wbary4.mf25
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb84.tfmbin0 -> 3104 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb848.tfmbin0 -> 3112 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb849.tfmbin0 -> 3116 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo84.tfmbin0 -> 3180 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo848.tfmbin0 -> 3180 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo849.tfmbin0 -> 3192 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr84.tfmbin0 -> 3080 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr848.tfmbin0 -> 3080 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr849.tfmbin0 -> 3092 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibb84.pfbbin0 -> 68643 bytes
-rw-r--r--fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibr84.pfbbin0 -> 47269 bytes
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus.fd34
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/Uibycus4.fd28
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/iby4extr.tex18
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.map222
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.sty36
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/ibycus4.tex26
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/ibycusps.tex26
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/psibycus.sty36
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/pssetiby.tex47
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/setiby4.tex35
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/tlgsqq.tex135
-rw-r--r--fonts/greek/ibygrk/tex/generic/ibycus4/version4.tex5
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
new file mode 100644
index 0000000000..ddb61dcbe3
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb84.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb848.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb848.tfm
new file mode 100644
index 0000000000..5776ed99aa
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb848.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb849.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb849.tfm
new file mode 100644
index 0000000000..d5a049024f
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibb849.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo84.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo84.tfm
new file mode 100644
index 0000000000..fcc02777c3
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo84.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo848.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo848.tfm
new file mode 100644
index 0000000000..ea2d08e9a3
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo848.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo849.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo849.tfm
new file mode 100644
index 0000000000..113054e817
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibo849.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr84.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr84.tfm
new file mode 100644
index 0000000000..8fa2c714a7
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr84.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr848.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr848.tfm
new file mode 100644
index 0000000000..970c63a081
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr848.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr849.tfm b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr849.tfm
new file mode 100644
index 0000000000..8d006d1768
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/tfm/public/ibycus4/fibr849.tfm
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibb84.pfb b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibb84.pfb
new file mode 100644
index 0000000000..68ce2d3838
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibb84.pfb
Binary files differ
diff --git a/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibr84.pfb b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibr84.pfb
new file mode 100644
index 0000000000..7190ae441c
--- /dev/null
+++ b/fonts/greek/ibygrk/fonts/type1/public/ibycus4/fibr84.pfb
Binary files differ
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}