From 0585a72dae13da024145995031edb2a1cf21dece Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 18 Aug 2023 03:00:59 +0000 Subject: CTAN sync 202308180300 --- .../contrib/babel-contrib/hebrew/00readme.heb | 605 --------- .../latex/contrib/babel-contrib/hebrew/README.md | 26 + .../latex/contrib/babel-contrib/hebrew/heb209.dtx | 165 --- .../latex/contrib/babel-contrib/hebrew/heb209.pdf | Bin 152604 -> 0 bytes .../latex/contrib/babel-contrib/hebrew/hebinp.dtx | 550 --------- .../latex/contrib/babel-contrib/hebrew/hebinp.pdf | Bin 199654 -> 0 bytes .../latex/contrib/babel-contrib/hebrew/hebrew.dtx | 249 ++-- .../latex/contrib/babel-contrib/hebrew/hebrew.fdd | 1297 -------------------- .../latex/contrib/babel-contrib/hebrew/hebrew.ins | 205 +--- .../latex/contrib/babel-contrib/hebrew/hebrew.pdf | Bin 418939 -> 410253 bytes macros/latex/contrib/chronology/README | 16 +- macros/latex/contrib/chronology/README.md | 8 - macros/latex/contrib/chronology/chronology.pdf | Bin 0 -> 412402 bytes macros/latex/contrib/chronology/chronology.sty | 38 +- macros/latex/contrib/chronology/example.pdf | Bin 14227 -> 0 bytes macros/latex/contrib/chronology/example.tex | 24 - macros/latex/contrib/expex-glossonly/README.md | 9 +- .../contrib/expex-glossonly/expex-glossonly.pdf | Bin 123056 -> 39048 bytes .../contrib/expex-glossonly/expex-glossonly.sty | 88 +- .../contrib/expex-glossonly/expex-glossonly.tex | 141 ++- .../expex-glossonly/testfiles/covington-expex.pdf | Bin 0 -> 7800 bytes .../expex-glossonly/testfiles/covington-expex.tex | 20 + .../expex-glossonly/testfiles/gb4e-expex.pdf | Bin 14835 -> 5519 bytes .../expex-glossonly/testfiles/gb4e-expex.tex | 48 +- .../expex-glossonly/testfiles/linguex-expex.pdf | Bin 15454 -> 4720 bytes .../expex-glossonly/testfiles/linguex-expex.tex | 27 +- macros/latex/contrib/hebrew-fonts/README.md | 31 + macros/latex/contrib/hebrew-fonts/hebfontenc.fdd | 1035 ++++++++++++++++ macros/latex/contrib/hebrew-fonts/hebfontenc.pdf | Bin 0 -> 259077 bytes macros/latex/contrib/hebrew-fonts/hebinp.dtx | 607 +++++++++ macros/latex/contrib/hebrew-fonts/hebinp.pdf | Bin 0 -> 216449 bytes macros/latex/contrib/hebrew-fonts/hebrew-fonts.ins | 111 ++ 32 files changed, 2301 insertions(+), 2999 deletions(-) delete mode 100644 macros/latex/contrib/babel-contrib/hebrew/00readme.heb create mode 100644 macros/latex/contrib/babel-contrib/hebrew/README.md delete mode 100644 macros/latex/contrib/babel-contrib/hebrew/heb209.dtx delete mode 100644 macros/latex/contrib/babel-contrib/hebrew/heb209.pdf delete mode 100644 macros/latex/contrib/babel-contrib/hebrew/hebinp.dtx delete mode 100644 macros/latex/contrib/babel-contrib/hebrew/hebinp.pdf delete mode 100644 macros/latex/contrib/babel-contrib/hebrew/hebrew.fdd mode change 120000 => 100644 macros/latex/contrib/chronology/README delete mode 100644 macros/latex/contrib/chronology/README.md create mode 100644 macros/latex/contrib/chronology/chronology.pdf delete mode 100644 macros/latex/contrib/chronology/example.pdf delete mode 100644 macros/latex/contrib/chronology/example.tex create mode 100644 macros/latex/contrib/expex-glossonly/testfiles/covington-expex.pdf create mode 100644 macros/latex/contrib/expex-glossonly/testfiles/covington-expex.tex create mode 100644 macros/latex/contrib/hebrew-fonts/README.md create mode 100644 macros/latex/contrib/hebrew-fonts/hebfontenc.fdd create mode 100644 macros/latex/contrib/hebrew-fonts/hebfontenc.pdf create mode 100644 macros/latex/contrib/hebrew-fonts/hebinp.dtx create mode 100644 macros/latex/contrib/hebrew-fonts/hebinp.pdf create mode 100644 macros/latex/contrib/hebrew-fonts/hebrew-fonts.ins (limited to 'macros/latex/contrib') diff --git a/macros/latex/contrib/babel-contrib/hebrew/00readme.heb b/macros/latex/contrib/babel-contrib/hebrew/00readme.heb deleted file mode 100644 index b4ae253092..0000000000 --- a/macros/latex/contrib/babel-contrib/hebrew/00readme.heb +++ /dev/null @@ -1,605 +0,0 @@ -% \iffalse meta-comment -% -% Copyright 1989-2005 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. -% -% This file is part of the Babel system. -% -------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainer of this work is Johannes Braams. -% -% The list of all files belonging to the Babel system is -% given in the file `manifest.bbl. See also `legal.bbl' for additional -% information. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with -% extension .ins) which are part of the distribution. -% \fi - Hebrew Package for babel system and LaTeX2e - -This new support package for Hebrew language is based on the old LaTeX 2.09 -hebrew.sty and is backward compatible with it. A new babel-based language -switching interface is also supported. - -Bi-directional support uses TeX--XeT or newer e-TeX engine. - -The package is available on-line at http://www.dsg.technion.ac.il/heblatex/ -or at ftp://tochna.technion.ac.il/pub/staff/lavva/heblatex/. It consists of: - - 1. Hebrew package for babel/LaTeX 2e: heblatex.tar.gz or heblatex.zip. - 2. Hebrew fonts (available also on CTAN or ftp.cc.huji.ac.il): - hebfonts.tar.gz or hebfonts.zip. - 3. Examples of hebrew documents: hebexmpl.tar.gz or hebexmpl.zip. - 4. This README.html file, available also in plain text format as - README.txt. - -The babel/LaTeX 2e edition of the hebrew package, as well as documentation -(including this README file) was developed and will be supported by Boris -Lavva, lavva@tx.technion.ac.il. Please direct your additions, modifications, -bug fixes and comments to this address. - ------------------------------------------------------- -Table of contents - - Acknowledgement - Copyright - Installation - Hebrew package usage - Input code pages - Font encodings - Bi-directional sectioning commands - Table of contents, List of figures, List of tables - Hebrew calendar - Document class for preparing Hebrew/English or English/Hebrew thesis - Compatibility with LaTeX 2.09 style - Future work - ------------------------------------------------------- -Acknowledgment - -The following people have contributed to Hebrew package in one way or -another, knowingly or unknowingly. In alphabetical order: -Irina Abramovici, Yaniv Bargury, Yael Dubinsky, Sergio Fogel, Dan Haran, -Rama Porrat, Michail Rozman, Alon Ziv. - -Johannes Braams is the author of babel - a multilingual support for LaTeX. - -Tatiana Samoilov and Vitaly Surazhsky found a number of serious bugs in -preliminary version of Hebrew package. - -A number of other people have contributed comments and information. Specific -contributions are acknowledged within the documentation. - -I want to thank my wife, Vita, and son, Mishka, for their infinite love and -patience. - -If you made a contribution and I haven't mentioned it, don't worry, it was -an accident. I'm sorry. Just tell me and I will add you to the next version. - ------------------------------------------------------- -Copyright - -The copyright similar to other LaTeX 2e packages is added to prevent -inconsistency in version numbers and wide-spread distribution of unsupported -macro files (which was common with the old distributions). - -Changes, bug fixes and additions are always welcome, but they should be or -distributed under other name, or incorporated in this package (by mailing -me). - - -------------------------------------------------- - - Copyright 1997-1998 Boris Lavva and any individual authors listed - elsewhere in this file. All rights reserved. - - For further copyright information, and conditions for modification and - distribution, see any other copyright notices in this file. - - This file is contributed to the Babel system, release 3.6. - - -------------------------------------------------- - This system 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. - - For error reports concerning UNCHANGED versions of this file no more - than one year old, see bugs.txt. - - Please do not request updates from me directly. Primary distribution - will be through the CTAN archives. - - IMPORTANT COPYRIGHT NOTICE: - - You are NOT ALLOWED to distribute this file alone. - - You are allowed to distribute this file under the condition that it - is distributed together with all the files listed in manifest.txt. - - If you receive only some of these files from someone, complain! - - Permission is granted to customize the declarations in this file to - serve the needs of your installation, provided that you comply with the - conditions in the file legal.txt. - - However, NO PERMISSION is granted to distribute a modified version of - this file under its original name. - - MODIFICATION ADVICE: - If you want to customize this file, it is best to make a copy of the - source file(s) from which it was produced. Use a different name for your - copy(ies) and modify the copy(ies); this will ensure that your modifications - do not get overwritten when you install a new release of the standard system. - - You can then easily distribute your modifications by distributing the - modified and renamed copy of the source file, together with a suitable - .ins file, taking care to observe the conditions in legal.txt; this will - ensure that other users can safely use your modifications. - ------------------------------------------------------- -Installation - - 1. Full LaTeX 2e distribution should be installed, including TeX--XeT or - e-TeX. Known such distributions include: - o teTeX 0.9 for UNIX with e-TeX - (ftp://ftp.informatik.uni-hannover.de/home/te/private/.0.9/) - o NTeX for UNIX with TeX--XeT - (http://darfnix.mathematik.uni-stuttgart.de/pub/tex/ntex/) - o Web2C for Windows 95 and NT (see at CTAN:systems/win32, for - example, ftp://ftp.dante.de/tex-archive/systems/win32/) - o TeX Live CD-ROMs distributed by TeX Users Group (TUG), see details - at http://www.tug.org. - 2. If e-TeX is installed, check if its format is available in extended - mode, by running elatex or latex on some .tex file: - ----------------------------------------------------------------------- - - This is e-TeX, Version 3.14159-1.1 (Web2c 7.0) - entering extended mode - ----------------------------------------------------------------------- - - The second line should be "entering extended mode". - 3. If TeX--XeT is installed, it will use a LaTeX 2e format file, called - laxet.fmt from the formats directory. This directory is commonly - located at texmf/web2c or texmf/web2c/ini subdirectories. To produce - format file, run initexxet program on the following laxet.ini file: - ----------------------------------------------------------------------- - - % Prevent dumping of LaTeX2e - \let\xxdump=\dump - \let\dump=\endinput - % LaTeX2e format - \input latex.ltx - % Read latex2e.add - \openin1=latex2e.add - \ifeof1\closein1\message{latex2e.add not found} - \else\closein1\input latex2e.add - \fi - % dump - \let\dump=\xxdump - \let\xxdump=\undefined - \dump - ----------------------------------------------------------------------- - - Put the resulting file laxet.fmt to the formats directory and link (or - copy) the virtexxet program as laxet. - 4. Download the babel sources from the CTAN sites, directory - macros/latex/packages/babel. This version of Hebrew package is tested - with babel version 3.6. - 5. Apply the following changes to the standard babel sources: - o babel.dtx -- after the line 916 (greek) add: - \DeclareOption{hebrew}{\input{rlbabel.def}\input{hebrew.ldf}} - o bbcompat.dtx -- after the line 134 (welsh) add: - %<+hebrew>\input rlbabel.def\input hebrew.ldf\relax - o babel.ins -- after the line 346 (bahasa) add: - \generate{\compatfile{hebrew}} - 6. Download the hebrew package, fonts and examples from the above - mentioned place. - 7. Open heblatex to the babel sources directory. - 8. Run latex babel.ins and then latex hebrew.ins. - 9. Move all *.cls, *.sty, *.def, *.fd, *.ldf to the babel directory - searchable by TeX (run MakeTeXls-R or similar program). Usually, babel - is located at TEXROOT/share/texmf/tex/latex/packages/babel or - TEXROOT/share/texmf/tex/generic/babel. - 10. Install hebrew fonts from hebfonts as following: - o Find your public font sources directory, it is usually: - TEXROOT/share/texmf/fonts/source/public. - o Unpack hebfonts file into the abovenamed public directory. It will - create a new directory called hebrew inside public. - o Find your special.map file - it is usually found at - TEXROOT/share/texmf/fontname/special.map and add the following - lines at the end of this file: - @c Hebrew fonts - jerus10 public hebrew - deads10 public hebrew - oldjaf10 public hebrew - telav10 public hebrew - crml10 public hebrew - crmlsl10 public hebrew - fr public hebrew - frbx public hebrew - frsl public hebrew - hclassic public hebrew - hcaption public hebrew - redis7 public hebrew - redis8 public hebrew - redis9 public hebrew - redis10 public hebrew - redis12 public hebrew - redis17 public hebrew - redisb10 public hebrew - rediss8 public hebrew - rediss9 public hebrew - rediss10 public hebrew - rediss12 public hebrew - shold10 public hebrew - shscr10 public hebrew - shstk10 public hebrew - o Run REHASH from texconfig utility or program MakeTeXls-R or newer - mktexlsr (if available) to build a new ls-R database in - TEXROOT/share/texmf directory. You can add inserted file names - manually to ls-R if you cannot find abovenamed programs. - o Note that only 7-bit (old code) fonts are used by new Hebrew - package. - 11. You can check if your installation succeed by LaTeXing examples from - hebexmpl file. - -Finally, you can prepare the LaTeX documentation of all components of the -new Hebrew package by running: - - ------------------------------------ - - latex hebrew.dtx - makeindex -s bbind.ist hebrew.idx - makeindex -s bbglo.ist -o hebrew.gls hebrew.glo - latex hebrew.dtx - latex hebrew.dtx - - ------------------------------------ - -The same procedure can be applied on babel.dtx (or babel.drv) to create the -babel documentation. Files bbind.ist and bbglo.ist are included with babel -installation. - ------------------------------------------------------- -Hebrew package usage - -The usage is simple, for example: - -\documentclass[12pt,twoside]{book} -\usepackage[hebrew,english,russian,danish,greek,...]{babel} - -LaTeX 2.09 style is also supported (in compatibility mode) to process -existing documents, for example: - -\documentstyle[12pt,hebrew_newcode]{article} - -Languages can be switched by the following macros: - - 1. \sethebrew or \unsethebrew - 2. \selectlanguage{hebrew}, \selectlanguage{english}, etc. - 3. \begin{otherlanguage}{hebrew} ... \end{otherlanguage}, or any other - language - 4. \R{hebrew text} inside the latin text - 5. \L{latin text} inside the hebrew text - -First three commands are equivalent: first one provides switching interface, -compatible with LaTeX 2.09 hebrew style, while second and third --- -babel-based interface. - -Last two commands are used for language and direction switching inside -paragraph. - -hmbox and embox macros should be used for inserting Hebrew and English text -(respectively) inside a mathematical formula. - ------------------------------------------------------- -Input code pages - -Hebrew package supports the following input code pages: - - 1. 7-bit hebrew encoding, also known as old code, defined by Israeli - Standard 960 (si960) - 2. IBM PC code page also known as pc code (cp862) - 3. WINDOWS code page also known as new code (cp1255) - 4. ISO 8859-8 Hebrew/Latin code page commonly used in UNIX, also known as - new code (8859-8 also known as new code) - -The default input encoding can be set using option defined above in -parentheses with inputenc style (but *before* babel), for example : - -\usepackage[cp1255]{inputenc} - -Input encoding can be changed also inside the document by the \inputencoding -command, for example: - -\inputencoding{cp862} - ------------------------------------------------------- -Font encodings - -Various font encodings can be used, including, of course, Local Hebrew -Encoding (LHE), with the aid of fontenc style (but *before* babel), for -example: - -\usepackage[LHE,OT2,LCY,T1]{fontenc} - -Many useful font-switching commands are provided in hebfont package which -can be included *after* the babel: - -\usepackage{hebfont} - -These commands are in format \text{Hebrew text}, for example: -\textoj{Text printed with Old Jaffa font}, \textredis{Text printed with -redis font}. - -In addition, for backward compatibility in LaTeX 2.09 documents, the four -old font-switching commands are supported: -{\jm ...}, {\oj ...}, {\ds ...} and {\ta ...} for Jerusalem, Old Jaffa, Dead -Sea and Tel-Aviv fonts respectively. - -The following TeX fonts are supported: - - * Jerusalem (used as default font) - * Dead Sea (used as bold font) - * Tel-Aviv (used as sans-serif or typewriter font) - * Old Jaffa (used as italic or slanted font and for emphasize) - * Hebrew classic normal and slanted (command \textclas) - * Shalom Old Style (command \textshold) - * Shalom Script (command \textshscr) - * Shalom Stick (command \textshstk) - * Carmel normal and slanted (command \textcrml) - * Frank Ruehl normal, bold and slanted (command \textfr) - * Redis normal, bold and slanted (command \textredis) - ------------------------------------------------------- -Bi-directional sectioning commands - -These commands inserts both Hebrew title to the RL table of contents or list -of figures/tables, and English (or other LR language) title to the LR table -of contents or list of figures/tables. - - 1. \bpart{hebrew}{english} - 2. \bchapter{hebrew}{english} - 3. \bsection{hebrew}{english} - 4. \bsubsection{hebrew}{english} - 5. \bsubsubsection{hebrew}{english} - 6. \bcaption{hebrew}{english} - 7. \bchapternn{hebrew}{english} - replaces \chapter* - 8. \bsectionnn{hebrew}{english} - replaces \section* - -A number of additional bi-directional commands are defined in the -hebtech.cls - thesis document class file, described below. - ------------------------------------------------------- -Table of contents, List of figures, List of tables - -Both Right-to-Left and Left-to-Right versions of the tables (toc, lof and -lot) can be generated simultaneously. The LR files have the default -extensions (.toc, .lof and .lot), while the RL files have reversed -extensions (.cot, .fol and .tol). For example, to include RL tables at the -beginning and LR tables before the end of the document: - - ------------------------------------ - - \begin{document} - \sethebrew - \tableofcontents % Generates .cot file - \listoffigures % Generates .fol file - \listoftables % Generates .tol file - ... - \unsethebrew - \tableofcontents % Generates .toc file - \listoffigures % Generates .lof file - \listoftables % Generates .lot file - \end{document} - - ------------------------------------ - -All 6 files are generated simultaneously in two latex passes ! - ------------------------------------------------------- -Hebrew calendar - -Original Hebrew calendar style was created by Michail Rozman, and corrected -by Rama Porrat, Michail Rozman and Dan Haran. - -This style was adjusted to LaTeX 2e by Boris Lavva, and provided in hebcal -package. It can be included *after* the babel: - -\usepackage{hebcal} - -The following 2 user-level commands are provided with the package: - -\newcount\hd \newcount\hm \newcount\hy - -\hd=10 \hm=3 \hy=1992 - -\HebrewDate{\hd}{\hm}{\hy} - -which converts the requested Gregorian date to Hebrew calendar date and -prints it in Hebrew or English (depends on the current language) and: - -\HebrewToday or \hebrewtoday - -which prints the current Hebrew date (today) . - ------------------------------------------------------- -Document class for preparing Hebrew/English or English/Hebrew thesis - -A useful document class file hebtech for preparing M.Sc. and Ph.D. theses -for the Technion (English/Hebrew and Hebrew/English) is included with this -package too. I believe that it can be adjusted for the needs of other -academic institutions in Israel too. This class automatically includes babel -with hebrew and english option, hebfont and hebcal packages. - -The original version for LaTeX 2.09 and old code Hebrew was created in 1994 -by Irina Abramovici, at Taub Computer Center, Technion. - -How to use this document class? - -\documentclass[12pt]{hebtech} - -The following parameters should be included in thesis preamble (before -\begin{document}): - - 1. Thesis title - \title{hebrew}{english} - 2. Thesis author - \author{hebrew}{english} - 3. Department name, e.g. Electrical Engineering Department - \dept{hebrew}{english} - 4. Domain of research, e.g. Food Processing - \dom{hebrew}{english} - 5. Main advisor - \advisori{hebrew}{english} - 6. Second advisor, if exists - \advisorii{hebrew}{english} - 7. Main sponsor - \donori{hebrew}{english} - 8. Additional sponsor, if exists - \donorii{hebrew}{english} - 9. Set thestype counter to: - o 1 --- for a research thesis - o 2 --- for a project thesis - o 3 --- for a final paper - - \setcounter{thestype}{1} - 10. Set grade counter to: - o 1 --- for master of science - o 2 --- for master - o 3 --- for master of technology - o 4 --- for doctor of science - - \setcounter{grade}{1} - 11. Date is optional, if not included, today's date will be used. The - Gregorian date entered will be printed and get converted the Jewish - date. - \date{28}{2}{1998} - 12. Page style is optional too, if not included, plain will be used. - \pagestyle{thesis} - -In the main document the following additional commands and environments can -be used: - - 1. \makecover - creates Hebrew or English cover page, depending on the - current language. - 2. \maketitle - creates Hebrew or English title page, depending on the - current language. - 3. \begin{acknowledgment} ... \end{acknowledgment} - builds the - acknowledgment page and adds inserted customized acknowledgment in - Hebrew or English, depending on the current language. - 4. \begin{dedication} ... \end{dedication} - builds the dedication page in - Hebrew or English, depending on the current language. - 5. \tableofcontents, \listoffigures, \listoftables - builds tables - depending on the current language (all 6 tables can be used - simultaneously). - 6. \begin{abstract} ... \end{abstract} - builds the abstract pages in - Hebrew or English, depending on the current language, adds contents - line to the 2 tables of contents. - 7. \frontmatter, \mainmatter, \backmatter - should be inserted at the - beginning, before the main part, and at the ending of the thesis to - change numbering and other style parameters. - 8. \bibliography{...} - now adds "References" line to the 2 tables of - contents: English and Hebrew. - -Some useful bi-directional commands, for figures and tables provided in this -file too: - - 1. \bcaptionf{hebrew}{english} - similar to \bcaption but answers to - thesis formatting requirements at the Technion, used for figures. - 2. \bcaptionff{to RL lof}{to LR lof}{hebrew}{english} - a customized one - for figures. - 3. \bcaptiont{hebrew}{english} - similar to \bcaption but answers to - thesis formatting requirements at the Technion, used for tables. - 4. \bcaptiontt{to RL lot}{to LR lot}{hebrew}{english} - a customized one - for tables. - ------------------------------------------------------- -Compatibility with LaTeX 2.09 style - -Generally, the new package is compatible with LaTeX 2.09 style file -hebrew.sty, i.e. in most cases one can use the new package on old documents -without any errors. Howver, it does not support Plain TeX, please use -heb_macros.tex, or other TeX macro file for Hebrew instead. - -A few incompatibilities are described below: - - * The macros with Hebrew names are not provided, for example, macro - \hadgesh when the command name "hadgesh" is given in Hebrew is not - supported. The reason is that in new LaTeX 2e it is forbidden to use - 8-bit macros, because all characters 128-255 became to be "active". - However, the following English-coded equivalents are supported for - backward compatibility with LaTeX 2.09 style and can be used even in - the new documents: - 1. \hebday (replaced "hayom"). - 2. \hebcopy (for use in letter style) - 3. \hebincl (for use in letter style) - 4. \hebpage (for use in letter style) - 5. \hebto (for use in letter style) - 6. \hadgesh (produces ``poor man's bold'' - heavy printout, it is - advisable to use real bold fonts, e.g. DeadSea instead) - 7. \piska (can be used only in compatibility mode) - 8. \piskapiska (can be used only in compatibility mode) - 9. \makafgadol (=\textendash) - 10. \makafanak (=\textemdash) - 11. \geresh (=\textquoteright) - 12. \opengeresh (=\textquoteright) - 13. \closegeresh (=\textquoteleft) - 14. \openquote (=\textquotedblright) - 15. \closequote (=\textquotedblleft) - 16. \leftquotation (=\textquotedblright) - 17. \rightquotation (=\textquotedblleft) - 18. \undertext (=\underline, can be used only in compatibility mode) - * In \documentstyle line the following 3 styles can be used in Hebrew - documents: - 1. \documentstyle[hebrew_oldcode,...]{...} in old 7-bit documents - (instead of "hebrew"!). - 2. \documentstyle[hebrew_newcode,...]{...} in 8-bit UNIX or Windows - documents. - 3. \documentstyle[hebrew_p,...]{...} in 8-bit DOS documents. - * hebcal style should always be used (instead of older hebcal_p and - hebcal_newcode). - * Font names for the included 7-bit fonts were renamed (for the sake of - multiplatform support) to lowercase names with no more than 8 - characters as following: - o jerus10.mf - for Jerusalem (10pt) - o deads10.mf - for Dead Sea (10pt) - o telav10.mf - for TelAviv (10pt) - o oldjaf10.mf - for Old Jaffa (10pt) - o shold10.mf - for Shalom Old Style (10pt) - o shscr10.mf - for Shalom Script (10pt) - o shstk10.mf - for Shalom Stick (10pt) - o Some other font-related files were renamed too (to lowercase and < - 8 characters): - + frank_ruehl.mf became frruehl.mf - + redisfont.mf became redisfnt.mf - + redisbx10.mf became redisb10.mf - o All other font names remain unchanged - ------------------------------------------------------- -Future work - - 1. Visual enviroments i.e. tabular, tabbing and array have to be supported - for hebrew. Now only left-to-right direction of lines is supported. - 2. Update hebrew package for the future babel-3.7 release. - 3. Hebrew points and dots ("nikud") support should be added, so it can be - used in font-independent way. - Currently, nikud can be used only on font-dependent way: only shalom - and classic families of fonts provide nikud, and hebrew point glyphs - are located in different places. - 4. Machintosh Hebrew/English input code page support should be added. - 5. Type1/TrueType Hebrew fonts should be supported. - ------------------------------------------------------- -Created by Boris Lavva, lavva@tx.technion.ac.il -Last modified March 1, 1998 diff --git a/macros/latex/contrib/babel-contrib/hebrew/README.md b/macros/latex/contrib/babel-contrib/hebrew/README.md new file mode 100644 index 0000000000..c81d658b83 --- /dev/null +++ b/macros/latex/contrib/babel-contrib/hebrew/README.md @@ -0,0 +1,26 @@ +babel-hebrew +============= + +This is the babel style for the hebrew language. + +**Version**: 2.4 + +**Copyright**: © 1997 -- 2005 Boris Lavva and Johannes Braams. © 2023 Udi Fogiel. + +Changes +------- + +Fixes: +* New default font and input encodings. +* Fixing \underline. +* Fixing clashes of \everypar with other packages. + +This work may be distributed and/or modified under the conditions of the +[LaTeX Project Public License](http://www.latex-project.org/lppl.txt), +either version 1.3 of this license or any later version. + +For questions, bug reports, or help, please contact udifoglle@gmail.com. + + + + diff --git a/macros/latex/contrib/babel-contrib/hebrew/heb209.dtx b/macros/latex/contrib/babel-contrib/hebrew/heb209.dtx deleted file mode 100644 index 69101ca766..0000000000 --- a/macros/latex/contrib/babel-contrib/hebrew/heb209.dtx +++ /dev/null @@ -1,165 +0,0 @@ -% \iffalse meta-comment -% -% Copyright 1989-2005 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. -% -% This file is part of the Babel system. -% -------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainer of this work is Johannes Braams. -% -% The list of all files belonging to the Babel system is -% given in the file `manifest.bbl. See also `legal.bbl' for additional -% information. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with -% extension .ins) which are part of the distribution. -% \fi -% \CheckSum{8} -% -% \iffalse meta-comment -%% File `heb209.dtx' - obsolete LaTeX 2.09 compatible style files. -%% Copyright (C) 1997 -- 2004 Boris Lavva. -% -%% Babel package for LaTeX version 2e -%% Copyright (C) 1989 -- 2004 by Johannes Braams, -%% TeXniek -%% All rights reserved. -%\fi -% \providecommand\dst{\textsc{docstrip}} -% \providecommand\babel{\textsf{babel}} -% \GetFileInfo{heb209.dtx} -% -% \changes{heb209~1.0a}{1998/01/06}{% -% Initial version. Provides hebrew\_newcode, hebrew\_oldcode and -% hebrew\_p style files for \LaTeX~2.09 (by Boris Lavva)} -% -% \section{Hebrew in \LaTeX~2.09 compatibility mode}\label{sec:heb209} -% -% |\documentstyle| command in the preamble of \LaTeX\ document -% indicates that it is a \LaTeX~2.09 document, and should be processed -% in \emph{compatibility mode}. In such documents, one of the following -% three Hebrew style options can be included: -% \begin{enumerate} -% \item \texttt{hebrew\_newcode} indicates that document will use UNIX -% ISO 8859-8 or Windows cp1255 input encoding, i.e.\ \emph{Alef} -% letter will be represented as 224. -% \item \texttt{hebrew\_p} indicates that document is encoded with IBM -% PC cp862 encoding, i.e.\ \emph{Alef} letter will be represented as -% 128. -% \item \texttt{hebrew\_oldcode} indicates that document uses old 7-bit -% encoding, as defined in Israeli Standard 960, i.e.\ \emph{Alef} is -% character number 96. -% \end{enumerate} -% Note, that other hebrew-related styles, such as \texttt{hebcal} can -% be included \emph{after} the abovenamed Hebrew style option, for -% example: -% \begin{quote} -% |\documentstyle[12pt,hebrew_p,hebcal]{report}|. -% \end{quote} -% -% Any Hebrew document which compiled under \LaTeX~2.09 should compile -% under compatibility mode, unless it uses low-level commands such as -% |\tenrm|. -% -% \subsection{The {\normalfont\dst{}} modules} -% -% The following modules are used in the implementation to direct -% \dst{} in generating the external files: -% \begin{center} -% \begin{tabular}{ll} -% newcode & produce \texttt{hebrew\_newcode.sty} \\ -% pccode & produce \texttt{hebrew\_p.sty} \\ -% oldcode & produce \texttt{hebrew\_oldcode.sty} -% \end{tabular} -% \end{center} -% -% \StopEventually{} -% -% \iffalse -% \subsection{A driver for this document} -% -% The next bit of code contains the documentation driver file for -% \TeX{}, i.e., the file that will produce the documentation you -% are currently reading. It will be extracted from this file by -% the \dst{} program. -% -% \begin{macrocode} -%<*driver> -\documentclass{ltxdoc} -\title{Hebrew \LaTeX~2.09 compatibility style files} -\author{Boris Lavva} -\date{Printed \today} -\begin{document} - \maketitle - \DocInput{heb209.dtx} -\end{document} -% -% \end{macrocode} -% \fi -% -% \subsection{Obsolete style files} -% -% For each of the Hebrew \LaTeX~2.09 Hebrew styles, we produce a -% file which uses correct input encoding and calls \babel\ with -% Hebrew and English language options. -% This means that any styles which say |\input hebrew_newcode.sty| -% or |\documentstyle[|\ldots|hebrew_newcode|\ldots|]{|\ldots|}| -% should still work. -% -% \begin{macrocode} -%<*newcode|pccode|oldcode> -\NeedsTeXFormat{LaTeX2e} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*newcode> -\@obsoletefile{hebrew.sty}{hebrew_newcode.sty} -\RequirePackage[8859-8]{inputenc} -% -%<*pccode> -\@obsoletefile{hebrew.sty}{hebrew_p.sty} -\RequirePackage[cp862]{inputenc} -% -%<*oldcode> -\@obsoletefile{hebrew.sty}{hebrew_oldcode.sty} -\RequirePackage[si960]{inputenc} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*newcode|pccode|oldcode> -\RequirePackage[english,hebrew]{babel} -% -% \end{macrocode} -% -% \Finale -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -\endinput diff --git a/macros/latex/contrib/babel-contrib/hebrew/heb209.pdf b/macros/latex/contrib/babel-contrib/hebrew/heb209.pdf deleted file mode 100644 index e55684275c..0000000000 Binary files a/macros/latex/contrib/babel-contrib/hebrew/heb209.pdf and /dev/null differ diff --git a/macros/latex/contrib/babel-contrib/hebrew/hebinp.dtx b/macros/latex/contrib/babel-contrib/hebrew/hebinp.dtx deleted file mode 100644 index a6a9d60c39..0000000000 --- a/macros/latex/contrib/babel-contrib/hebrew/hebinp.dtx +++ /dev/null @@ -1,550 +0,0 @@ -% \iffalse meta-comment -% -% Copyright 1989-2005 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. -% -% This file is part of the Babel system. -% -------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainer of this work is Johannes Braams. -% -% The list of all files belonging to the Babel system is -% given in the file `manifest.bbl. See also `legal.bbl' for additional -% information. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with -% extension .ins) which are part of the distribution. -% \fi -% \CheckSum{446} -% -% \iffalse -% \ProvidesFile{si960.def} -%<8859-8> \ProvidesFile{8859-8.def} -% \ProvidesFile{cp862.def} -% \ProvidesFile{cp1255.def} -%<*driver> -\ProvidesFile{hebinp.drv} -% -% \fi -% \ProvidesFile{hebinp.dtx} - [2004/02/20 v1.1b Hebrew input encoding file] -% \iffalse meta-comment -%% File `hebinp.dtx' for installing the input hebrew encodings. -%% Copyright (C) 1997 -- 2005 Boris Lavva. -% -%% Babel package for LaTeX version 2e -%% Copyright (C) 1989 -- 2005 by Johannes Braams, -%% TeXniek -%% All rights reserved. -% \fi -% -% \providecommand\dst{\textsc{docstrip}} -% \GetFileInfo{hebinp.dtx} -% -% \changes{hebinp~1.0a}{1997/12/07}{% -% Initial version. Provides 8859-8, cp862, cp1255, and old 7-bit -% input encodings (by Boris Lavva)} -% \changes{hebinp~1.1}{2001/02/27}{% -% Renamed hebrew letters: \cs{alef} to \cs{hebalef} etc. -% (by Tzafrir Cohen)} -% \changes{hebinp~1.1a}{2001/07/22}{% -% Renamed CP1255 nikud \cs{patah} to \cs{hebpatah etc}. -% Added the macro \cs{DisableNikud} - may not be a good idea -% (by Tzafrir Cohen)} -% -% \section{Hebrew input encodings}\label{sec:hebinp} -% -% Hebrew input encodings defined in file |hebinp.dtx|\footnote{The -% files described in this section have version number \fileversion\ -% and were last revised on \filedate.} should be used with |inputenc| -% \LaTeXe{} package. This package allows the user -% to specify an input encoding from this file (for example, ISO -% Hebrew/Latin 8859-8, IBM Hebrew codepage 862 or MS Windows -% Hebrew codepage 1255) by saying: -% \begin{quote} -% |\usepackage[|\emph{encoding name}|]{inputenc}| -% \end{quote} -% The encoding can also be selected in the document with: -% \begin{quote} -% |\inputencoding{|\emph{encoding name}|}| -% \end{quote} -% The only practical use of this command within a document is when -% using text from several documents to build up a composite work such -% as a volume of journal articles. Therefore this command will be -% used only in vertical mode. -% -% The encodings provided by this package are: -% \begin{itemize} -% \item |si960| 7-bit Hebrew encoding for the range 32--127. This -% encoding also known as ``old-code'' and defined by Israeli -% Standard SI-960. -% \item |8859-8| ISO 8859-8 Hebrew/Latin encoding commonly used in -% UNIX systems. This encoding also known as ``new-code'' and -% includes hebrew letters in positions starting from 224. -% \item |cp862| IBM 862 code page commonly used by DOS on -% IBM-compatible personal computers. This encoding also known as -% ``pc-code'' and includes hebrew letters in positions starting -% from 128. -% \item |cp1255| MS Windows 1255 (hebrew) code page which is similar to -% 8859-8. In addition to hebrew letters, this encoding contains -% also hebrew vowels and dots (nikud). -% \end{itemize} -% Each encoding has an associated |.def| file, for example -% |8859-8.def| which defines the behaviour of each input character, -% using the commands: -% \begin{quote} -% |\DeclareInputText{|\emph{slot}|}{|\emph{text}|}| \\ -% |\DeclareInputMath{|\emph{slot}|}{|\emph{math}|}| -% \end{quote} -% This defines the input character \emph{slot} to be the -% \emph{text} material or \emph{math} material respectively. -% For example, |8859-8.def| defines slots |"EA| (letter hebalef) -% and |"B5| ($\mu$) by saying: -%\begin{verbatim} -% \DeclareInputText{224}{\hebalef} -% \DeclareInputMath{181}{\mu} -%\end{verbatim} -% Note that the \emph{commands} should be robust, and should not be -% dependent on the output encoding. The same \emph{slot} should not -% have both a text and a math declaration for it. (This restriction -% may be removed in future releases of inputenc). -% -% The |.def| file may also define commands using the declarations:\\ -% |\providecommand| or |\ProvideTextCommandDefault|. -% For example, |8859-8.def| defines: -%\begin{verbatim} -% \ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}} -% \DeclareInputText{188}{\textonequarter} -%\end{verbatim} -% The use of the `provide' forms here will ensure that a -% better definition will not be over-written; their use is -% recommended since, in general, the best defintion depends on the -% fonts available. -% -% See the documentation in |inputenc.dtx| for details of how to -% declare input definitions for various encodings. -% -% \StopEventually{} -% -% \iffalse -% \subsection{A driver for this document} -% -% The next bit of code contains the documentation driver file for -% \TeX{}, i.e., the file that will produce the documentation you -% are currently reading. It will be extracted from this file by -% the \dst{} program. -% -% \begin{macrocode} -%<*driver> -\documentclass{ltxdoc} -\title{Hebrew input encodings for use with \LaTeXe} -\author{Boris Lavva} -\date{Printed \today} -\begin{document} - \maketitle - \DocInput{hebinp.dtx} -\end{document} -% -% \end{macrocode} -% \fi -% -% \subsection{Default definitions for characters} -% -% First, we insert a |\makeatletter| at the beginning of all |.def| -% files to use |@| symbol in the macros' names. -% \begin{macrocode} -%<-driver>\makeatletter -% \end{macrocode} -% -% Some input characters map to internal functions which are not in -% either the |T1| or |OT1| font encoding. For this reason default -% definitions are provided in the encoding file: these will be -% used unless some other output encoding is used which supports -% those glyphs. In some cases this default defintion has to be -% simply an error message. -% -% Note that this works reasonably well only because the encoding -% files for both |OT1| and |T1| are loaded in the standard LaTeX -% format. -% -% \begin{macrocode} -%<*8859-8|cp862|cp1255> -\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}} -\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}} -\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}} -% -%<*8859-8|cp1255> -\ProvideTextCommandDefault{\textthreequarters}{\ensuremath{\frac34}} -% -%<*cp862|cp1255> -\ProvideTextCommandDefault{\textflorin}{\textit{f}} -% -%<*cp862> -\ProvideTextCommandDefault{\textpeseta}{Pt} -% -% \end{macrocode} -% -% The name |\textblacksquare| is derived from the AMS symbol name -% since Adobe seem not to want this symbol. The default -% definition, as a rule, makes no claim to being a good design. -% \begin{macrocode} -%<*cp862> -\ProvideTextCommandDefault{\textblacksquare} - {\vrule \@width .3em \@height .4em \@depth -.1em\relax} -% -% \end{macrocode} -% -% Some commands can't be faked, so we have them generate an error -% message. -% \begin{macrocode} -%<*8859-8|cp862|cp1255> -\ProvideTextCommandDefault{\textcent} - {\TextSymbolUnavailable\textcent} -\ProvideTextCommandDefault{\textyen} - {\TextSymbolUnavailable\textyen} -% -%<*8859-8> -\ProvideTextCommandDefault{\textcurrency} - {\TextSymbolUnavailable\textcurrency} -% -%<*cp1255> -\ProvideTextCommandDefault{\newsheqel} - {\TextSymbolUnavailable\newsheqel} -% -%<*8859-8|cp1255> -\ProvideTextCommandDefault{\textbrokenbar} - {\TextSymbolUnavailable\textbrokenbar} -% -%<*cp1255> -\ProvideTextCommandDefault{\textperthousand} - {\TextSymbolUnavailable\textperthousand} -% -% \end{macrocode} -% -% Characters that are supposed to be used only in math will be defined -% by |\providecommand| because \LaTeXe{} assumes that the font -% encoding for math fonts is static. -% \begin{macrocode} -%<*8859-8|cp1255> -\providecommand{\mathonesuperior}{{^1}} -\providecommand{\maththreesuperior}{{^3}} -% -%<*8859-8|cp862|cp1255> -\providecommand{\mathtwosuperior}{{^2}} -% -%<*cp862> -\providecommand{\mathordmasculine}{{^o}} -\providecommand{\mathordfeminine}{{^a}} -% -% \end{macrocode} -% -% \subsection{The SI-960 encoding} -% -%% The SI-960 or ``old-code'' encoding only allows characters in the -%% range 32--127, so we only need to provide an empty |si960.def| file. -% -% \subsection{The ISO 8859-8 encoding and the MS Windows cp1255 encoding} -% -% The |8859-8.def| encoding file defines the characters in the ISO -% 8859-8 encoding. -% -% The MS Windows Hebrew character set incorporates the Hebrew -% letter repertoire of ISO 8859-8, and uses the same code points -% (starting from 224). It has also some important additions in the -% 128--159 and 190--224 ranges. -% -% \begin{macrocode} -%<*cp1255> -\DeclareInputText{130}{\quotesinglbase} -\DeclareInputText{131}{\textflorin} -\DeclareInputText{132}{\quotedblbase} -\DeclareInputText{133}{\dots} -\DeclareInputText{134}{\dag} -\DeclareInputText{135}{\ddag} -\DeclareInputText{136}{\^{}} -\DeclareInputText{137}{\textperthousand} -\DeclareInputText{139}{\guilsinglleft} -\DeclareInputText{145}{\textquoteleft} -\DeclareInputText{146}{\textquoteright} -\DeclareInputText{147}{\textquotedblleft} -\DeclareInputText{148}{\textquotedblright} -\DeclareInputText{149}{\textbullet} -\DeclareInputText{150}{\textendash} -\DeclareInputText{151}{\textemdash} -\DeclareInputText{152}{\~{}} -\DeclareInputText{153}{\texttrademark} -\DeclareInputText{155}{\guilsinglright} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*8859-8|cp1255> -\DeclareInputText{160}{\nobreakspace} -\DeclareInputText{162}{\textcent} -\DeclareInputText{163}{\pounds} -%<+8859-8>\DeclareInputText{164}{\textcurrency} -%<+cp1255>\DeclareInputText{164}{\newsheqel} -\DeclareInputText{165}{\textyen} -\DeclareInputText{166}{\textbrokenbar} -\DeclareInputText{167}{\S} -\DeclareInputText{168}{\"{}} -\DeclareInputText{169}{\textcopyright} -%<+8859-8>\DeclareInputMath{170}{\times} -\DeclareInputText{171}{\guillemotleft} -\DeclareInputMath{172}{\lnot} -\DeclareInputText{173}{\-} -\DeclareInputText{174}{\textregistered} -\DeclareInputText{175}{\@tabacckludge={}} -\DeclareInputText{176}{\textdegree} -\DeclareInputMath{177}{\pm} -\DeclareInputMath{178}{\mathtwosuperior} -\DeclareInputMath{179}{\maththreesuperior} -\DeclareInputText{180}{\@tabacckludge'{}} -\DeclareInputMath{181}{\mu} -\DeclareInputText{182}{\P} -\DeclareInputText{183}{\textperiodcentered} -%<+8859-8>\DeclareInputText{184}{\c\ } -\DeclareInputMath{185}{\mathonesuperior} -%<+8859-8>\DeclareInputMath{186}{\div} -\DeclareInputText{187}{\guillemotright} -\DeclareInputText{188}{\textonequarter} -\DeclareInputText{189}{\textonehalf} -\DeclareInputText{190}{\textthreequarters} -% -% \end{macrocode} -% -% Hebrew vowels and dots (nikud) are included only to MS Windows cp1255 -% page and start from the position 192. -% \begin{macrocode} -%<*cp1255> -\DeclareInputText{192}{\hebsheva} -\DeclareInputText{193}{\hebhatafsegol} -\DeclareInputText{194}{\hebhatafpatah} -\DeclareInputText{195}{\hebhatafqamats} -\DeclareInputText{196}{\hebhiriq} -\DeclareInputText{197}{\hebtsere} -\DeclareInputText{198}{\hebsegol} -\DeclareInputText{199}{\hebpatah} -\DeclareInputText{200}{\hebqamats} -\DeclareInputText{201}{\hebholam} -\DeclareInputText{203}{\hebqubuts} -\DeclareInputText{204}{\hebdagesh} -\DeclareInputText{205}{\hebmeteg} -\DeclareInputText{206}{\hebmaqaf} -\DeclareInputText{207}{\hebrafe} -\DeclareInputText{208}{\hebpaseq} -\DeclareInputText{209}{\hebshindot} -\DeclareInputText{210}{\hebsindot} -\DeclareInputText{211}{\hebsofpasuq} -\DeclareInputText{212}{\hebdoublevav} -\DeclareInputText{213}{\hebvavyod} -\DeclareInputText{214}{\hebdoubleyod} -% -% \end{macrocode} -% -% Hebrew letters start from the position 224 in both encodings. -% \begin{macrocode} -%<*8859-8|cp1255> -\DeclareInputText{224}{\hebalef} -\DeclareInputText{225}{\hebbet} -\DeclareInputText{226}{\hebgimel} -\DeclareInputText{227}{\hebdalet} -\DeclareInputText{228}{\hebhe} -\DeclareInputText{229}{\hebvav} -\DeclareInputText{230}{\hebzayin} -\DeclareInputText{231}{\hebhet} -\DeclareInputText{232}{\hebtet} -\DeclareInputText{233}{\hebyod} -\DeclareInputText{234}{\hebfinalkaf} -\DeclareInputText{235}{\hebkaf} -\DeclareInputText{236}{\heblamed} -\DeclareInputText{237}{\hebfinalmem} -\DeclareInputText{238}{\hebmem} -\DeclareInputText{239}{\hebfinalnun} -\DeclareInputText{240}{\hebnun} -\DeclareInputText{241}{\hebsamekh} -\DeclareInputText{242}{\hebayin} -\DeclareInputText{243}{\hebfinalpe} -\DeclareInputText{244}{\hebpe} -\DeclareInputText{245}{\hebfinaltsadi} -\DeclareInputText{246}{\hebtsadi} -\DeclareInputText{247}{\hebqof} -\DeclareInputText{248}{\hebresh} -\DeclareInputText{249}{\hebshin} -\DeclareInputText{250}{\hebtav} -% -% \end{macrocode} -% -% Special symbols which define the direction of symbols explicitly. -% Currently, they are not used in \LaTeX. -% \begin{macrocode} -%<*cp1255> -\DeclareInputText{253}{\lefttorightmark} -\DeclareInputText{254}{\righttoleftmark} -% -% \end{macrocode} -% -% \subsection{The IBM code page 862} -% -% The |cp862.def| encoding file defines the characters in the IBM -% codepage 862 encoding. The DOS graphics `letters' and a few -% other positions are ignored (left undefined). -% -% Hebrew letters start from the position 128. -% \begin{macrocode} -%<*cp862> -\DeclareInputText{128}{\hebalef} -\DeclareInputText{129}{\hebbet} -\DeclareInputText{130}{\hebgimel} -\DeclareInputText{131}{\hebdalet} -\DeclareInputText{132}{\hebhe} -\DeclareInputText{133}{\hebvav} -\DeclareInputText{134}{\hebzayin} -\DeclareInputText{135}{\hebhet} -\DeclareInputText{136}{\hebtet} -\DeclareInputText{137}{\hebyod} -\DeclareInputText{138}{\hebfinalkaf} -\DeclareInputText{139}{\hebkaf} -\DeclareInputText{140}{\heblamed} -\DeclareInputText{141}{\hebfinalmem} -\DeclareInputText{142}{\hebmem} -\DeclareInputText{143}{\hebfinalnun} -\DeclareInputText{144}{\hebnun} -\DeclareInputText{145}{\hebsamekh} -\DeclareInputText{146}{\hebayin} -\DeclareInputText{147}{\hebfinalpe} -\DeclareInputText{148}{\hebpe} -\DeclareInputText{149}{\hebfinaltsadi} -\DeclareInputText{150}{\hebtsadi} -\DeclareInputText{151}{\hebqof} -\DeclareInputText{152}{\hebresh} -\DeclareInputText{153}{\hebshin} -\DeclareInputText{154}{\hebtav} -% \end{macrocode} -% -% \begin{macrocode} -\DeclareInputText{155}{\textcent} -\DeclareInputText{156}{\pounds} -\DeclareInputText{157}{\textyen} -\DeclareInputText{158}{\textpeseta} -\DeclareInputText{159}{\textflorin} -\DeclareInputText{160}{\@tabacckludge'a} -\DeclareInputText{161}{\@tabacckludge'\i} -\DeclareInputText{162}{\@tabacckludge'o} -\DeclareInputText{163}{\@tabacckludge'u} -\DeclareInputText{164}{\~n} -\DeclareInputText{165}{\~N} -\DeclareInputMath{166}{\mathordfeminine} -\DeclareInputMath{167}{\mathordmasculine} -\DeclareInputText{168}{\textquestiondown} -\DeclareInputMath{170}{\lnot} -\DeclareInputText{171}{\textonehalf} -\DeclareInputText{172}{\textonequarter} -\DeclareInputText{173}{\textexclamdown} -\DeclareInputText{174}{\guillemotleft} -\DeclareInputText{175}{\guillemotright} -% \end{macrocode} -% -% \begin{macrocode} -\DeclareInputMath{224}{\alpha} -\DeclareInputText{225}{\ss} -\DeclareInputMath{226}{\Gamma} -\DeclareInputMath{227}{\pi} -\DeclareInputMath{228}{\Sigma} -\DeclareInputMath{229}{\sigma} -\DeclareInputMath{230}{\mu} -\DeclareInputMath{231}{\tau} -\DeclareInputMath{232}{\Phi} -\DeclareInputMath{233}{\Theta} -\DeclareInputMath{234}{\Omega} -\DeclareInputMath{235}{\delta} -\DeclareInputMath{236}{\infty} -\DeclareInputMath{237}{\phi} -\DeclareInputMath{238}{\varepsilon} -\DeclareInputMath{239}{\cap} -\DeclareInputMath{240}{\equiv} -\DeclareInputMath{241}{\pm} -\DeclareInputMath{242}{\ge} -\DeclareInputMath{243}{\le} -\DeclareInputMath{246}{\div} -\DeclareInputMath{247}{\approx} -\DeclareInputText{248}{\textdegree} -\DeclareInputText{249}{\textperiodcentered} -\DeclareInputText{250}{\textbullet} -\DeclareInputMath{251}{\surd} -\DeclareInputMath{252}{\mathnsuperior} -\DeclareInputMath{253}{\mathtwosuperior} -\DeclareInputText{254}{\textblacksquare} -\DeclareInputText{255}{\nobreakspace} -% -% \end{macrocode} -% -% \begin{macro}{\DisableNikud} -% A utility macro to ignore any nikud character that may appear in the -% input. This allows you to ignore cp1255 nikud characters that happened to -% appear in the input. -% \end{macro} -% \begin{macrocode} -%<*8859-8> -\newcommand{\DisableNikud}{% - \DeclareInputText{192}{}% - \DeclareInputText{193}{}% - \DeclareInputText{194}{}% - \DeclareInputText{195}{}% - \DeclareInputText{196}{}% - \DeclareInputText{197}{}% - \DeclareInputText{198}{}% - \DeclareInputText{199}{}% - \DeclareInputText{200}{}% - \DeclareInputText{201}{}% - \DeclareInputText{203}{}% - \DeclareInputText{204}{}% - \DeclareInputText{205}{}% - \DeclareInputText{206}{}% - \DeclareInputText{207}{}% - \DeclareInputText{208}{}% - \DeclareInputText{209}{}% - \DeclareInputText{210}{}% - \DeclareInputText{211}{}% - \DeclareInputText{212}{}% - \DeclareInputText{213}{}% - \DeclareInputText{214}{}% -} -% -% \end{macrocode} -% -% Finally, we reset the category code of the |@| sign at the end of -% all |.def| files. -% \begin{macrocode} -%<-driver>\makeatother -% \end{macrocode} -% -% \Finale -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -\endinput diff --git a/macros/latex/contrib/babel-contrib/hebrew/hebinp.pdf b/macros/latex/contrib/babel-contrib/hebrew/hebinp.pdf deleted file mode 100644 index 3fd35427f1..0000000000 Binary files a/macros/latex/contrib/babel-contrib/hebrew/hebinp.pdf and /dev/null differ diff --git a/macros/latex/contrib/babel-contrib/hebrew/hebrew.dtx b/macros/latex/contrib/babel-contrib/hebrew/hebrew.dtx index 19f0fbf0fc..f97c57bcac 100644 --- a/macros/latex/contrib/babel-contrib/hebrew/hebrew.dtx +++ b/macros/latex/contrib/babel-contrib/hebrew/hebrew.dtx @@ -1,11 +1,5 @@ % \iffalse meta-comment % -% Copyright 1989-2005 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. -% -% This file is part of the Babel system. -% -------------------------------------- -% % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. @@ -16,26 +10,20 @@ % % This work has the LPPL maintenance status "maintained". % -% The Current Maintainer of this work is Johannes Braams. -% -% The list of all files belonging to the Babel system is -% given in the file `manifest.bbl. See also `legal.bbl' for additional -% information. +% The Current Maintainer of this work is Udi Fogiel. % % The list of derived (unpacked) files belonging to the distribution % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi -% \CheckSum{3345} % % \iffalse meta-comment -%% Hebrew language definition and additional packages. -%% Copyright (C) 1997 -- 2005 Boris Lavva. +% Hebrew language definition and additional packages. +% Copyright (C) 1997 -- 2005 Boris Lavva and Johannes Braams. +% +% Copyright (C) 2023 Udi Fogiel. +% All rights reserved. % -%% Babel package for LaTeX version 2e -%% Copyright (C) 1989 -- 2005 by Johannes Braams, -%% TeXniek -%% All rights reserved. %<*calendar> %% TeX & LaTeX macros for computing Hebrew date from Gregorian one %% Copyright (C) 1991 by Michail Rozman, misha@iop.tartu.ew.su @@ -48,17 +36,23 @@ %\ProvidesFile{hebrew.ldf} %\ProvidesFile{rlbabel.def} %\ProvidesPackage{hebcal} +%\ProvidesPackage{hebrew_newcode} +%\ProvidesPackage{hebrew_p} +%\ProvidesPackage{hebrew_oldcode} %<*driver> \ProvidesFile{hebrew.drv} % % \fi % \ProvidesFile{hebrew.dtx} - [2005/03/30 v2.3h % + [2023/08/16 v2.4 % % \iffalse % Hebrew language definition from the babel system % Right-to-Left support from the babel system % Hebrew calendar % Driver file for hebrew support +% Package for backwards compatibility +% Package for backwards compatibility +% Package for backwards compatibility % \fi Hebrew language support from the babel system] % @@ -105,15 +99,12 @@ \CodelineIndex \RecordChanges \title{Hebrew language support from the \babel\ system} -\author{Boris Lavva} +\author{Boris Lavva\and Udi Fogiel} \date{Printed \today} \begin{document} \maketitle \tableofcontents \DocInput{hebrew.dtx} - \DocInput{hebinp.dtx} - \DocInput{hebrew.fdd} - \DocInput{heb209.dtx} \clearpage \def\filename{index} \PrintIndex @@ -230,6 +221,13 @@ % CAUTION: the changes to \pkg{hebcal.sty} make it dependent on % \pkg{babel} and not useable as a stand-alone package. Is this a % problem? (by Ron Artstein)} +% \changes{hebrew~2.4}{2023/08/16}{ +% Moving hebinp and hebrew.fdd to a seperate package. +% Changing the default input encoding to utf8 and +% default font encoding to NHE8. +% Merging heb209 and hebrew.dtx. +% Fixed bugs in \everypar and +% checked that \cs{l@chapter} is defined (Udi Fogiel)} % % \section{The Hebrew language}\label{sec:hebrew} % @@ -249,18 +247,16 @@ % \end{description} % % Additional Hebrew input and font encoding definition files that -% should be included and used with \file{hebrew.ldf} are: +% should be included and used with \file{hebrew.ldf} are +% the files were moved to the hebrew-fonts package): % \begin{description} % \item[\file{hebinp.dtx}] provides Hebrew input encodings, such as -% ISO 8859-8, MS Windows codepage 1255 or IBM PC codepage 862 -% (see Section~\ref{sec:hebinp} on page~\pageref{sec:hebinp}). +% ISO 8859-8, MS Windows codepage 1255 or IBM PC codepage 862. % \item[\file{hebrew.fdd}] contains Hebrew font encodings, related % font definition files and \pkg{hebfont} package that -% provides Hebrew font switching commands (see -% Section~\ref{sec:hebfdd} on page~\pageref{sec:hebfdd} for -% further details). +% provides Hebrew font switching commands. % \end{description} -% +% % \LaTeX~2.09 compatibility files are included with % \file{heb209.dtx} and gives possibility to compile existing % \LaTeX~2.09 Hebrew documents with small (if any) changes (see @@ -376,42 +372,18 @@ % \changes{hebrew-2.3h}{2004/02/20}{Make LHE the default encoding for % compatibility reasons} % \begin{macrocode} -\providecommand{\HeblatexEncoding}{LHE}% -\providecommand{\HeblatexEncodingFile}{lheenc}% +% \changes{hebrew~2.4}{2023/08/16}{Make NHE8 the default font encoding} +\providecommand{\HeblatexEncoding}{NHE8}% +\providecommand{\HeblatexEncodingFile}{nhe8enc}% \newcommand{\heblatex@set@encoding}[2]{ } -\AtEndOfPackage{% - \@ifpackageloaded{fontenc}{% - \@ifl@aded{def}{% - \HeblatexEncodingFile}{\def\hebrewencoding{\HeblatexEncoding}}{}% - }{% - \input{\HeblatexEncodingFile.def}% - \def\hebrewencoding{\HeblatexEncoding}% - }} +\@ifl@aded{def}{\HeblatexEncodingFile}{}% +{\input{\HeblatexEncodingFile.def}} +\def\hebrewencoding{\HeblatexEncoding} +\def\heb@NHEenc{NHE8} % \end{macrocode} % \end{macro} -% -% We also need to load inputenc package with one of the Hebrew -% input encodings. By default, we set up the |8859-8| codepage. -% If an user wants to use many input encodings in the same -% document, for example, the MS Windows Hebrew codepage |cp1255| -% and the standard IBM PC Russian codepage |cp866|, he/she has to -% load the corresponding file \emph{before} the hebrew package -% too. This may be done in the following way: -% \begin{quote} -% |\usepackage[cp1255,cp866]{inputenc}|\\ -% |\usepackage[hebrew,russian,english]{babel}| -% \end{quote} -% -% An user can switch input encodings in the document using the -% command |\inputencoding|, for example, to use the |cp1255|: -% \begin{quote} -% |\inputencoding{cp1255}| -% \end{quote} -% \begin{macrocode} -\AtEndOfPackage{% - \@ifpackageloaded{inputenc}{}{\RequirePackage[8859-8]{inputenc}}} -% \end{macrocode} +% \changes{hebrew~2.4}{2023/08/16}{Assuming utf8 as default input encoding.} % % The next step consists of defining commands to switch to (and % from) the Hebrew language. @@ -803,6 +775,17 @@ % |\p@enumiii|; instead, we let the language environment determine an % explicit definition. % \begin{macrocode} +\ifx\heb@NHEenc\HeblatexEncoding +\def\label#1{\@bsphack + \if@rl + \protected@write\@auxout{}% + {\string\newlabel{#1}{{\beginR\@currentlabel\endR}{\thepage}}}% + \else + \protected@write\@auxout{}% + {\string\newlabel{#1}{{\beginL\@currentlabel\endL}{\thepage}}}% + \fi + \@esphack} +\else \def\label#1{\@bsphack \if@rl \def\p@enumiii{\p@enumii)\theenumii(}% @@ -814,6 +797,7 @@ {\string\newlabel{#1}{{\beginL\@currentlabel\endL}{\thepage}}}% \fi \@esphack} +\fi % \end{macrocode} % NOTE: it appears that the definition of |\label| is % language-independent and thus belongs in \pkg{rlbabel.def}, but @@ -1384,14 +1368,17 @@ % \end{macro} % % Take care of Right-to-Left indentation in every paragraph. -% Originally, \cs{noindent} was redefined for right-to-left by -% Yaniv Bargury, then the implementation was rewritten by Alon Ziv -% using an idea by Chris Rowley: \cs{noindent} now works -% unmodified. +% The old approach had conflicts with amsthm, so I addapted +% the code from the bidi package by Vafa Khalighi. +% +% % \begin{macrocode} -\def\rl@everypar{\if@rl{\setbox\z@\lastbox\beginR\usebox\z@}\fi} -\let\o@everypar=\everypar -\def\everypar#1{\o@everypar{\rl@everypar#1}} +\def\heb@rl@everypar{{\setbox\z@\lastbox\if@rl\beginR\else\beginL\fi\ifvoid\z@\else\usebox\z@\fi}} +\let\heb@o@everypar=\everypar +\newtoks\heb@n@everypar +\heb@n@everypar\expandafter{\the\heb@o@everypar} +\heb@o@everypar{\heb@rl@everypar\the\heb@n@everypar} +\let\everypar=\heb@n@everypar % \end{macrocode} % % \begin{macro}{\hmbox} @@ -1413,8 +1400,12 @@ % bracket. Brackets can be square brackets, braces, or % parentheses. % \begin{macrocode} +\ifx\heb@NHEenc\HeblatexEncoding +\def\@brackets#1#2#3{#1#2#3} +\else \def\@brackets#1#2#3{\protect\if@rl #3#2#1\protect\else #1#2#3\protect\fi} +\fi % \end{macrocode} % \end{macro} % @@ -1880,6 +1871,7 @@ \@ifclassloaded{letter}{}{% \@ifclassloaded{slides}{}{% \@ifclassloaded{article}{}{% + \@ifundefined{l@chapter}{}{% \renewcommand*\l@chapter[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% @@ -1894,7 +1886,7 @@ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss#2}\par \penalty\@highpenalty \endgroup - \fi}}}} + \fi}}}}} % \end{macrocode} % \end{macro} % @@ -2285,8 +2277,13 @@ % We should explicitly use \cs{L} and \cs{R} commands in % \cs{underline}d text. % \begin{macrocode} -\let\@@@underline=\underline -\def\underline#1{\@@@underline{\if@rl\R{#1}\else #1\fi}} +\DeclareRobustCommand\underline[1]{% + \relax + \ifmmode\@@underline{#1}% + \else +\if@rl $\@@underline{\hbox{\beginR#1\endR}}\m@th$\relax +\else +$\@@underline{\hbox{#1}}\m@th$\relax\fi\fi} % \end{macrocode} % \end{macro} % @@ -3308,6 +3305,114 @@ % \end{macrocode} % \end{macro} % +% \providecommand\dst{\textsc{docstrip}} +% \providecommand\babel{\textsf{babel}} +% \GetFileInfo{heb209.dtx} +% +% \changes{heb209~1.0a}{1998/01/06}{% +% Initial version. Provides hebrew\_newcode, hebrew\_oldcode and +% hebrew\_p style files for \LaTeX~2.09 (by Boris Lavva)} +% +% \section{Hebrew in \LaTeX~2.09 compatibility mode}\label{sec:heb209} +% +% |\documentstyle| command in the preamble of \LaTeX\ document +% indicates that it is a \LaTeX~2.09 document, and should be processed +% in \emph{compatibility mode}. In such documents, one of the following +% three Hebrew style options can be included: +% \begin{enumerate} +% \item \texttt{hebrew\_newcode} indicates that document will use UNIX +% ISO 8859-8 or Windows cp1255 input encoding, i.e.\ \emph{Alef} +% letter will be represented as 224. +% \item \texttt{hebrew\_p} indicates that document is encoded with IBM +% PC cp862 encoding, i.e.\ \emph{Alef} letter will be represented as +% 128. +% \item \texttt{hebrew\_oldcode} indicates that document uses old 7-bit +% encoding, as defined in Israeli Standard 960, i.e.\ \emph{Alef} is +% character number 96. +% \end{enumerate} +% Note, that other hebrew-related styles, such as \texttt{hebcal} can +% be included \emph{after} the abovenamed Hebrew style option, for +% example: +% \begin{quote} +% |\documentstyle[12pt,hebrew_p,hebcal]{report}|. +% \end{quote} +% +% Any Hebrew document which compiled under \LaTeX~2.09 should compile +% under compatibility mode, unless it uses low-level commands such as +% |\tenrm|. +% +% \subsection{The {\normalfont\dst{}} modules} +% +% The following modules are used in the implementation to direct +% \dst{} in generating the external files: +% \begin{center} +% \begin{tabular}{ll} +% newcode & produce \texttt{hebrew\_newcode.sty} \\ +% pccode & produce \texttt{hebrew\_p.sty} \\ +% oldcode & produce \texttt{hebrew\_oldcode.sty} +% \end{tabular} +% \end{center} +% +% \StopEventually{} +% +% \iffalse +% \subsection{A driver for this document} +% +% The next bit of code contains the documentation driver file for +% \TeX{}, i.e., the file that will produce the documentation you +% are currently reading. It will be extracted from this file by +% the \dst{} program. +% +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\title{Hebrew \LaTeX~2.09 compatibility style files} +\author{Boris Lavva} +\date{Printed \today} +\begin{document} + \maketitle + \DocInput{heb209.dtx} +\end{document} +% +% \end{macrocode} +% \fi +% +% \subsection{Obsolete style files} +% +% For each of the Hebrew \LaTeX~2.09 Hebrew styles, we produce a +% file which uses correct input encoding and calls \babel\ with +% Hebrew and English language options. +% This means that any styles which say |\input hebrew_newcode.sty| +% or |\documentstyle[|\ldots|hebrew_newcode|\ldots|]{|\ldots|}| +% should still work. +% +% \begin{macrocode} +%<*newcode|pccode|oldcode> +\NeedsTeXFormat{LaTeX2e} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*newcode> +\@obsoletefile{hebrew.sty}{hebrew_newcode.sty} +\RequirePackage[8859-8]{inputenc} +% +%<*pccode> +\@obsoletefile{hebrew.sty}{hebrew_p.sty} +\RequirePackage[cp862]{inputenc} +% +%<*oldcode> +\@obsoletefile{hebrew.sty}{hebrew_oldcode.sty} +\RequirePackage[si960]{inputenc} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*newcode|pccode|oldcode> +\RequirePackage[english,hebrew]{babel} +% +% \end{macrocode} +% % \Finale %% %% \CharacterTable diff --git a/macros/latex/contrib/babel-contrib/hebrew/hebrew.fdd b/macros/latex/contrib/babel-contrib/hebrew/hebrew.fdd deleted file mode 100644 index f61d06f430..0000000000 --- a/macros/latex/contrib/babel-contrib/hebrew/hebrew.fdd +++ /dev/null @@ -1,1297 +0,0 @@ -% \iffalse meta-comment -% -% Copyright 1989-2005 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. -% -% This file is part of the Babel system. -% -------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainer of this work is Johannes Braams. -% -% The list of all files belonging to the Babel system is -% given in the file `manifest.bbl. See also `legal.bbl' for additional -% information. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with -% extension .ins) which are part of the distribution. -% \fi -% \CheckSum{610} -% -% \iffalse meta-comment -%% File `hebrew.fdd' for installing the Hebrew encodings and fonts. -%% Copyright (C) 1997 -- 2005 Boris Lavva. -% -%% Babel package for LaTeX version 2e -%% Copyright (C) 1989 -- 2005 by Johannes Braams, -%% TeXniek -%% All rights reserved. -% \fi -% \iffalse -%\ProvidesFile{lheenc.def} -%\ProvidesFile{lhecmr.fd} -%\ProvidesFile{lhecmss.fd} -%\ProvidesFile{lhecmtt.fd} -%\ProvidesFile{lheclas.fd} -%\ProvidesFile{lheshold.fd} -%\ProvidesFile{lheshscr.fd} -%\ProvidesFile{lheshstk.fd} -%\ProvidesFile{lhefr.fd} -%\ProvidesFile{lhecrml.fd} -%\ProvidesFile{lheredis.fd} -%\ProvidesFile{HE8enc.def} -%\ProvidesFile{HE8cmr.fd} -%\ProvidesFile{HE8cmss.fd} -%\ProvidesFile{HE8cmtt.fd} -% The recoded Omega font (only Hebrew glyphs. Lacks other glyphs) -%\ProvidesFile{HE8OmegaHebrew.fd} -% The culmus fonts: -%\ProvidesFile{HE8aharoni.fd} -%\ProvidesFile{HE8david.fd} -%\ProvidesFile{HE8drugulin.fd} -%\ProvidesFile{HE8ellinia.fd} -%\ProvidesFile{HE8frankruehl.fd} -%\ProvidesFile{HE8yad.fd} -%\ProvidesFile{HE8miriam.fd} -%\ProvidesFile{HE8nachlieli.fd} -% The IBM Type1 fonts (not freely distributable -%\ProvidesFile{HE8CourierShalom.fd} -%\ProvidesFile{HE8HelveticaNarkissTam.fd} -%\ProvidesFile{HE8TimesNarkissim.fd} -% Placeholders for windows fonts: -%\ProvidesFile{HE8mfdavid.fd} -%\ProvidesFile{HE8mffrank.fd} -%\ProvidesFile{HE8mffrankthick.fd} -%\ProvidesFile{HE8mffrankthin.fd} -%\ProvidesFile{HE8mfmiriam.fd} -%\ProvidesFile{HE8mfmiriamwide.fd} -%\ProvidesFile{HE8mfnarkistam.fd} -%\ProvidesPackage{hebfont} -%<*driver> -\ProvidesFile{hebrew.drv} -% -% \fi -% \ProvidesFile{hebrew.fdd} - [2005/05/20 v1.2c % -% \iffalse -% 7-bit Hebrew font encoding -% Hebrew default font -% Hebrew sans-serif font -% Hebrew typewriter font -% Hebrew classic font (by Joel M. Hoffman) -% Hebrew shalom old font (by Jonathan Brecher) -% Hebrew shalom script font (by Jonathan Brecher) -% Hebrew shalom stick font (by Jonathan Brecher) -% Hebrew frank-ruehl font -% Hebrew carmel font (by Dr. Samy Zafrany) -% Hebrew redis font (by Prof. Jacques J. Goldberg) -% 8-bit Hebrew font encoding -% Hebrew default font -% Hebrew sans-serif font -% Hebrew typewriter font -% Hebrew font from the Omega project (by ???) -% Hebrew sans-serif font (Culmus) -% Hebrew serif font (Culmus) -% Hebrew old serif font (Culmus) -% Hebrew sans-serif font (Culmus) -% Hebrew serif font (Culmus) -% Hebrew handwriting font (Culmus) -% Hebrew monospaced font (Culmus) -% Hebrew sans-serif font (Culmus) -% Hebrew Shalom (Courier) font (by IBM) -% Hebrew NarkisTam (Helvetica) (by Zvi Narkis) -% Hebrew Narkissim (Times) (by Zvi Narkis) -% Hebrew David font (by ???) -% Hebrew Frank-Ruehl font (by ??) -% Hebrew Frank-Ruehl (thick) font (by ??) -% Hebrew Frank-Ruehl (thin) font (by ??) -% Hebrew Miriam font (by ???) -% Hebrew Miriam (wide) font (by ???) -% Hebrew Narkis Tam font (by ???) -% Hebrew font switching commands -% Driver file for hebrew.fdd file -% \fi -% Hebrew font encodings support - (test version: still liable to change)] -% -% \font\manual=logo10 -% \providecommand\MF{{\manual META}\-{\manual FONT}} -% \providecommand\PS{\textsc{PostScript}} -% \providecommand\dst{\textsc{docstrip}} -% \providecommand\LHE{\texttt{LHE}} -% \providecommand\HEH{\texttt{HE8}} -% \providecommand\file[1]{\texttt{#1}} -% \providecommand\pkg[1]{\texttt{#1}} -% \GetFileInfo{hebrew.fdd} -% -% \changes{hebfdd-1.0a}{1998/01/01}{% -% Initial version. Supports only 7-bit LHE font encoding and all -% available Hebrew \TeX\ fonts (by Boris Lavva)} -% \changes{hebfdd-1.0b}{2001/08/16}{% -% fixed lhecmr.fd to use oldjaf10 for a slanted font -% available Hebrew \TeX\ fonts (by Tzafrir Cohen)} -% \changes{hebfdd-1.1a}{2001/08/16}{% -% Adding 8-bit HE8 fonts. Note that most of them cannot be distributed -% with heb\LaTeX\ (by Tzafrir Cohen)} -% \changes{hebfdd-1.2a}{2003/08/19}{% -% Adding configurations for the Culmus fonts, currently 0.90 -% (by Tzafrir Cohen)} -% \changes{hebfdd-1.2b}{2004/02/20}{Reinstated the test whether LHE or -% HE8 is to be used} -% -% \changes{hebrew-1.2c}{2005/05/18}{Typo's in the docstrip guards made -% HE8nachlieli.fd unusable} -% \section{Hebrew font encodings}\label{sec:hebfdd} -% -% % Don't forget to update the docs... -% \subsection{THIS SECTION IS OUT OF DATE. UPDATE DOCS TO MATCH HE8 -% ENCODING} -% -% The file \file{\filename}\footnote{The files described in this -% section have version number \fileversion{} and were last revised -% on \filedate.} contains the Local Hebrew Encoding (\LHE) -% definition, the external font information needed to use the -% Hebrew 7-bit fonts (old code fonts) and \pkg{hebfont} package -% that provides Hebrew font switching commands. -% -% Using this file as an input, |lheenc.def| encoding definition -% file, all |.fd| files (font definition files) and font switching -% package for available Hebrew fonts are generated. We chose to use -% 7-bit encoding as default font encoding, because: -% \begin{enumerate} -% \item There are many 7-bit encoded Hebrew fonts available, more -% then for any other encoding. -% \item Available \TeX{} Hebrew fonts do not include latin -% alphabet, and we can safely map Hebrew glyphs to the -% \texttt{ASCII} positions (0 -- 127). -% \end{enumerate} -% -% Current definition of the \LHE{} encoding supports only Hebrew -% letters (|\hebalef|--|\hebtav|), but not Hebrew points, such as -% |\hebdagesh|, |\hebqamats|, |\hebpatah|, |\hebshindot|, etc. We -% are working now on such addition. -% -% \StopEventually{} -% -% \iffalse -% \subsection{A driver for this document} -% -% The next bit of code contains the documentation driver file for -% \TeX{}, i.e., the file that will produce the documentation you are -% currently reading. It will be extracted from this file by the \dst{} -% program. -% -% \begin{macrocode} -%<*driver> -\documentclass{ltxdoc} -\title{Hebrew font encodings for use with \LaTeXe} -\author{Boris Lavva} -\date{Printed \today} -\begin{document} - \maketitle - \DocInput{hebrew.fdd} -\end{document} -% -% \end{macrocode} -% \fi -% -% \subsection{The {\normalfont\dst{}} modules} -% -% The following modules are used in the implementation to direct -% \dst{} in generating external files: -% \begin{center} -% \begin{tabular}{@{}ll} -% driver & produce a documentation driver file \\[4pt] -% HE8enc & produce the encoding definition for CodePage 1255 -% (\HEH)\\[4pt] -% HE8cmr & make Hebrew default font in \HEH\\ -% HE8cmss & make Hebrew sans-serif font in \HEH\\ -% HE8cmtt & make Hebrew typewriter font in \HEH\\ -% HE8OmegaHebrew & Hebrew font from the Omega project (by ???)\\ -% HE8aharoni & Hebrew sans-serif font (Culmus)\\ -% HE8david & Hebrew serif font (Culmus)\\ -% HE8drugulin & Hebrew old serif font (Culmus)\\ -% HE8ellinia & Hebrew isans-serif font (Culmus)\\ -% HE8frankruehl & Hebrew serif font (Culmus)\\ -% HE8KtavYad & Hebrew handwriting font (Culmus)\\ -% HE8MiriamMono & Hebrew monospaced font\\ -% HE8Nachlieli & Hebrew sans-serif font (Culmus)\\ -% HE8CourierShalom & Hebrew Shalom (Courier) font (by IBM)\\ -% HE8HelveticaNarkissTam &Hebrew NarkisTam (Helvetica) (by Zvi Narkis)\\ -% HE8TimesNarkissim & Hebrew Narkissim (Times) (by Zvi Narkis) \\ -% HE8mfdavid & Hebrew David font (by ???)\\ -% HE8mffrank & Hebrew Frank-Ruehl font (by ??)\\ -% HE8mffrankthick & Hebrew Frank-Ruehl (thick) font (by ??)\\ -% HE8mffrankthin & Hebrew Frank-Ruehl (thin) font (by ??)\\ -% HE8mfmiriam & Hebrew Miriam font (by ???)\\ -% HE8mfmiriamwide & Hebrew Miriam (wide) font (by ???)\\ -% HE8mfnarkistam & Hebrew Narkis Tam font (by ???)\\ -% LHEenc & produce the encoding definition for Local Hebrew -% Encoding (\LHE)\\[4pt] -% LHEcmr & make Hebrew default font in \LHE\\ -% LHEcmss & make Hebrew sans-serif font in \LHE\\ -% LHEcmtt & make Hebrew typewriter font in \LHE\\ -% LHEclas & make Hebrew classic font (by Joel M.~Hoffman) in \LHE\\ -% LHEshold & make Hebrew shalom old font (by Jonathan Brecher) -% in \LHE\\ -% LHEshscr & make Hebrew shalom script font (by Jonathan Brecher) -% in \LHE\\ -% LHEshstk & make Hebrew shalom stick font (by Jonathan Brecher) -% in \LHE\\ -% LHEfr & make Hebrew frank-ruehl font in \LHE\\ -% LHEcrml & make Hebrew carmel font (by Dr. Samy Zafrany) in \LHE\\ -% LHEredis & make Hebrew redis font (by Prof. Jacques J.~Goldberg) -% in \LHE\\[4pt] -% nowarn & option for font definition files, that used\\ -% & to produce ``silent'' font substitutions without -% giving warnings\\[4pt] -% hebfont & create Hebrew font switching commands package -% \end{tabular} -% \end{center} -% A typical \dst{} command file would then have entries like: -%\begin{verbatim} -%\generateFile{lhecmr.fd}{t}{\from{hebrew.fdd}{LHEcmr,nowarn}} -%\end{verbatim} -% -% \subsection{The \LHE encoding definition file} -% -% The Hebrew font encoding \LHE{} is based upon the old-code encoding -% also known as the Israeli Standard SI-960. Many Hebrew \TeX{} -% fonts from the Hebrew University of Jerusalem are encoded -% in this encoding. It only uses the lower 128 positions of the font -% table. As local encoding its name start with the letter `L'. -% -% First we define the Local Hebrew Encoding; specify a default -% for the font substitution process for the \LHE{} encoding and -% supply a font to be used when all else fails. -% -% \begin{macrocode} -%<*LHEenc> -\DeclareFontEncoding{LHE}{}{} -\DeclareFontSubstitution{LHE}{cmr}{m}{n} -\DeclareErrorFont{LHE}{cmr}{m}{n}{10} -% -% \end{macrocode} -% Then we define a few commands in the \LHE{} encoding. -% \begin{macrocode} -%<*LHEenc> -\ProvideTextCommand{\textcopyright}{LHE}{\textcircled{\@latin{c}}} -\ProvideTextCommand{\textregistered}{LHE}{\textcircled{\scshape% - \@latin{r}}} -\ProvideTextCommand{\texttrademark}{LHE}{\textsuperscript{\@latin{TM}}} -% -% \end{macrocode} -% -% Because not everyone can input Hebrew input text directly from -% the keyboard we need to define control sequences for all the -% Hebrew glyphs in the fonts. In addition, we want to support -% many input encodings for Hebrew and to keep the language -% definition file (|hebrew.ldf|) independent of the -% encoding. Therefore, we exploit the standard \LaTeXe{} font -% encoding mechanism to define control sequences for all the Hebrew -% glyphs in the fonts in encoding-specific way. The language -% definition file uses only the control sequences and doesn't need -% to check the current font or input encoding. -% -% In the \LHE{} encoding (7-bit encoding) all the Hebrew glyphes -% reside in the \emph{lower} half of the font. Currently, only the -% Hebrew letters are supported. They use the same positions as the -% latin small letters in |ASCII| encoding and the position of |`|. -% -% The symbol |`| (glyph 96) is used by Hebrew letter \emph{Alef}, -% so we need to define its |lccode| to allow hyphenation. All other -% letters retain the same |lccode|s as their latin counterparts. -% \begin{macrocode} -%<+LHEenc>\lccode``=`` -% \end{macrocode} -% Hebrew letters occupy the positions 96--122 in \LHE{} encoding: -% \begin{macrocode} -%<*LHEenc> -\DeclareTextSymbol{\hebalef}{LHE}{96} -\DeclareTextSymbol{\hebbet}{LHE}{97} -\DeclareTextSymbol{\hebgimel}{LHE}{98} -\DeclareTextSymbol{\hebdalet}{LHE}{99} -\DeclareTextSymbol{\hebhe}{LHE}{100} -\DeclareTextSymbol{\hebvav}{LHE}{101} -\DeclareTextSymbol{\hebzayin}{LHE}{102} -\DeclareTextSymbol{\hebhet}{LHE}{103} -\DeclareTextSymbol{\hebtet}{LHE}{104} -\DeclareTextSymbol{\hebyod}{LHE}{105} -\DeclareTextSymbol{\hebfinalkaf}{LHE}{106} -\DeclareTextSymbol{\hebkaf}{LHE}{107} -\DeclareTextSymbol{\heblamed}{LHE}{108} -\DeclareTextSymbol{\hebfinalmem}{LHE}{109} -\DeclareTextSymbol{\hebmem}{LHE}{110} -\DeclareTextSymbol{\hebfinalnun}{LHE}{111} -\DeclareTextSymbol{\hebnun}{LHE}{112} -\DeclareTextSymbol{\hebsamekh}{LHE}{113} -\DeclareTextSymbol{\hebayin}{LHE}{114} -\DeclareTextSymbol{\hebfinalpe}{LHE}{115} -\DeclareTextSymbol{\hebpe}{LHE}{116} -\DeclareTextSymbol{\hebfinaltsadi}{LHE}{117} -\DeclareTextSymbol{\hebtsadi}{LHE}{118} -\DeclareTextSymbol{\hebqof}{LHE}{119} -\DeclareTextSymbol{\hebresh}{LHE}{120} -\DeclareTextSymbol{\hebshin}{LHE}{121} -\DeclareTextSymbol{\hebtav}{LHE}{122} -% -% \end{macrocode} -% Letter |\hebsin| is defined as a synonym of |\hebshin|: -% \begin{macrocode} -%<+LHEenc>\let\hebsin=\hebshin -% \end{macrocode} -% -% \subsection{The font definition files (in \LHE{} encoding)} -% -% \subsubsection{Hebrew default font} -% -% It uses \emph{Jerusalem} font for regular font, \emph{Old -% Jaffa} font for italic shape and small-caps, \emph{Dead Sea} -% font for bold face, and \emph{Tel-Aviv} for bold-italic -% \begin{macrocode} -%<*LHEcmr> -\DeclareFontFamily{LHE}{cmr}{\hyphenchar\font45} -\DeclareFontShape{LHE}{cmr}{m}{n} - {<-> jerus10 }{} -%%%%%%% Italicized shape -\DeclareFontShape{LHE}{cmr}{m}{it} - {<-> oldjaf10 }{} -\DeclareFontShape{LHE}{cmr}{m}{sl} - {<-> oldjaf10 }{} -\DeclareFontShape{LHE}{cmr}{m}{sc} - {<-> oldjaf10 }{} -%%%%%%% Bold extended series -\DeclareFontShape{LHE}{cmr}{bx}{n} - {<-> deads10 }{} -\DeclareFontShape{LHE}{cmr}{b}{n} - {<-> deads10 }{} -%%%%%%% Bold extended (Italic) series -\DeclareFontShape{LHE}{cmr}{bx}{sl} - {<-> telav10 }{} -\DeclareFontShape{LHE}{cmr}{bx}{it} - {<-> telav10 }{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew sans-serif font} -% -% We use \emph{Tel Aviv} font for the Sans family. \emph{Old -% Jaffa} font is used for italic shape and \emph{Dead Sea} -% used for bold face. -% \begin{macrocode} -%<*LHEcmss> -\DeclareFontFamily{LHE}{cmss}{\hyphenchar\font45} -\DeclareFontShape{LHE}{cmss}{m}{n} - {<-> telav10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmss}{m}{sc} -%<-nowarn> {<->sub * cmss/m/n}{} -%<+nowarn> {<->ssub * cmss/m/n}{} -%%%%%%% Italicized shape -\DeclareFontShape{LHE}{cmss}{m}{it} - {<-> oldjaf10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmss}{m}{sl} -%<-nowarn> {<->sub * cmss/m/it}{} -%<+nowarn> {<->ssub * cmss/m/it}{} -%%%%%%% Bold extended series -\DeclareFontShape{LHE}{cmss}{bx}{n} - {<-> deads10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmss}{b}{n} -%<-nowarn> {<->sub * cmss/bx/n}{} -%<+nowarn> {<->ssub * cmss/bx/n}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmss}{bx}{sl} -%<-nowarn> {<->sub * cmss/bx/n}{} -%<+nowarn> {<->ssub * cmss/bx/n}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmss}{bx}{it} -%<-nowarn> {<->sub * cmss/bx/n}{} -%<+nowarn> {<->ssub * cmss/bx/n}{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew typewriter font} -% -% We use \emph{Tel Aviv} font as the typewriter font. \emph{Old -% Jaffa} font is used for italic shape and \emph{Dead Sea} -% used for bold face. -% \begin{macrocode} -%<*LHEcmtt> -\DeclareFontFamily{LHE}{cmtt}{\hyphenchar \font\m@ne} -\DeclareFontShape{LHE}{cmtt}{m}{n} - {<-> telav10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmtt}{m}{sc} -%<-nowarn> {<->sub * cmtt/m/n}{} -%<+nowarn> {<->ssub * cmtt/m/n}{} -%%%%%%% Italicized shape -\DeclareFontShape{LHE}{cmtt}{m}{it} - {<-> oldjaf10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmtt}{m}{sl} -%<-nowarn> {<->sub * cmtt/m/it}{} -%<+nowarn> {<->ssub * cmtt/m/it}{} -%%%%%%% Bold extended series -\DeclareFontShape{LHE}{cmtt}{bx}{n} - {<-> deads10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{cmtt}{bx}{it} -%<-nowarn> {<->sub * cmtt/bx/n}{} -%<+nowarn> {<->ssub * cmtt/bx/n}{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew classic font} -% -% \emph{Hclassic} and \emph{hcaption} fonts are distributed freely -% from |CTAN| sites and copyrighted by Joel M.~Hoffman, of 19 -% Hillcrest Lane, Rye, NY 10580 USA, e-mail: -% |72700.402@compuserve.com|. -% -% Hclassic is a modernized Classical Hebrew font (in the same way -% that Knuth's |cmr| family is a modernized Roman font --- but his -% fonts are much nicer). Hcaption is a slanted version of hclassic -% font. Both fonts contain all of the Hebrew consonants, -% the (rarely used) ligature \emph{alef-lamed} and two versions of -% the letter \emph{ayin} for use with and without -% vowels. Hclassic also contains all of the vowels found in Hebrew, -% a symbol for \emph{meteg}, and dots for use as a \emph{dagesh} -% and for differentiating \emph{shin} and \emph{sin} letters. -% -% Currently, only the Hebrew consonants (\emph{hebalef} -- \emph{hebtav}) -% from these fonts are supported by \LaTeXe{}, however one can use -% vowels and dots directly with \PlainTeX{} macros. We are working -% on generic vowels and dots support for \LaTeXe. -% -% \begin{macrocode} -%<*LHEclas> -\DeclareFontFamily{LHE}{clas}{} -\DeclareFontShape{LHE}{clas}{m}{n} - {<-> s * [0.83345] hclassic }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{clas}{m}{sc} -%<-nowarn> {<->sub * clas/m/n}{} -%<+nowarn> {<->ssub * clas/m/n}{} -%%%%%%% Slanted shape -\DeclareFontShape{LHE}{clas}{m}{sl} - {<-> s * [0.69389] hcaption }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{clas}{m}{it} -%<-nowarn> {<->sub * clas/m/sl}{} -%<+nowarn> {<->ssub * clas/m/sl}{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew shalom fonts} -% -% All three shalom fonts (\emph{ShalomScript10}, -% \emph{ShalomStick10} and \emph{ShalomOldStyle10}) have been -% created by Jonathan Brecher, of 9 Skyview Road, Lexington, MA -% 02173-1112 USA, e-mail: |brecher@husc.harvard.edu|. -% -% All shalom fonts have been written in \PS{} via Fontographer on a -% Mac. The fonts have been converted to \MF{} by Rama Porrat -% (e-mail: |rama@cc.huji.ac.il|), using -% the utility typo, a font editor + converter between font formats -% (a commercial product). |ShalomScript10.mf| is the \MF{} -% equivalent of |ShalomScript.ps|, |ShalomStick10.mf| came from -% |ShalomStick.ps| and |ShalomOldStyle10.mf| originated in -% |ShalomOldStyle.ps|. -% -% The fonts differ in the letters' style. ShalomScript10 contains -% hand writing Hebrew letters; ShalomStick10 contains sans-serif -% letters, and ShalomOldStyle10 contains old style letters. All -% three fonts contain vowels and dots (nikud). While converting to -% \MF{}, letters and symbols within the fonts have been arranged -% so as to get a usable font for writing Hebrew documents in \TeX{} -% or \LaTeX{}, with as well as without vowels. -% -% Currently, only the Hebrew consonants (\emph{hebalef} -- \emph{hebtav}) -% from these fonts are supported by \LaTeXe{}, however one can use -% vowels and dots directly with \PlainTeX{} macros. We are working -% on generic vowels and dots support for \LaTeXe. -% -% \begin{macrocode} -%<*LHEshold> -\DeclareFontFamily{LHE}{shold}{} -\DeclareFontShape{LHE}{shold}{m}{n} - {<-> shold10 }{} -% -%<*LHEshscr> -\DeclareFontFamily{LHE}{shscr}{} -\DeclareFontShape{LHE}{shscr}{m}{n} - {<-> shscr10 }{} -% -%<*LHEshstk> -\DeclareFontFamily{LHE}{shstk}{} -\DeclareFontShape{LHE}{shstk}{m}{n} - {<-> shstk10 }{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew frank-ruehl font} -% -% \emph{Frank Ruehl} font was written in \MF{} and includes three -% shapes: regular, bold extaneded and slanted. -% -% \begin{macrocode} -%<*LHEfr> -\DeclareFontFamily{LHE}{fr}{} -\DeclareFontShape{LHE}{fr}{m}{n} - {<-> fr }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{fr}{m}{sc} -%<-nowarn> {<->sub * fr/m/n}{} -%<+nowarn> {<->ssub * fr/m/n}{} -%%%%%%% Slanted shape -\DeclareFontShape{LHE}{fr}{m}{sl} - {<-> frsl }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{fr}{m}{it} -%<-nowarn> {<->sub * fr/m/sl}{} -%<+nowarn> {<->ssub * fr/m/sl}{} -%%%%%%% Bold extended series -\DeclareFontShape{LHE}{fr}{bx}{n} - {<-> frbx }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{fr}{b}{n} -%<-nowarn> {<->sub * fr/bx/n}{} -%<+nowarn> {<->ssub * fr/bx/n}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{fr}{bx}{sl} -%<-nowarn> {<->sub * fr/bx/n}{} -%<+nowarn> {<->ssub * fr/bx/n}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{fr}{bx}{it} -%<-nowarn> {<->sub * fr/bx/n}{} -%<+nowarn> {<->ssub * fr/bx/n}{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew carmel font} -% -% \emph{Carmel} font includes regular and slanted shapes. It was -% created by Dr.~Samy Zafrany of the Technion, Haifa, Israel with -% the intention of making nice fonts for headers and emphasized -% text. -% -% \begin{macrocode} -%<*LHEcrml> -\DeclareFontFamily{LHE}{crml}{} -\DeclareFontShape{LHE}{crml}{m}{n} - {<-> crml10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{crml}{m}{sc} -%<-nowarn> {<->sub * crml/m/n}{} -%<+nowarn> {<->ssub * crml/m/n}{} -%%%%%%% Slanted shape -\DeclareFontShape{LHE}{crml}{m}{sl} - {<-> crmlsl10 }{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{crml}{m}{it} -%<-nowarn> {<->sub * crml/m/sl}{} -%<+nowarn> {<->ssub * crml/m/sl}{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew redis font} -% -% \emph{Redis} font has been created by Prof.~Jacques J.~Goldberg -% of the Technion. Haifa, Israel. The font is available in regular, -% slanted and bold extanded shapes. This font contains a full set -% of Hebrew letters in a ``sans-serif vectorized'' style, and -% selected punctuation. -% -% \begin{macrocode} -%<*LHEredis> -\DeclareFontFamily{LHE}{redis}{} -\DeclareFontShape{LHE}{redis}{m}{n}{% - <5> <6> redis7 - <7> <8> <9> <10> <12> gen * redis - <10.95> redis10 - <14.4> redis12 - <17.28> <20.74> <24.88> redis17}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{redis}{m}{sc} -%<-nowarn> {<->sub * redis/m/n}{} -%<+nowarn> {<->ssub * redis/m/n}{} -%%%%%%% Slanted shape -\DeclareFontShape{LHE}{redis}{m}{sl}{% - <5> <6> <7> rediss8 - <8> <9> <10> <12> gen * rediss - <10.95> rediss10 - <14.4> <17.28> <20.74> <24.88> rediss12}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{redis}{m}{it} -%<-nowarn> {<->sub * redis/m/sl}{} -%<+nowarn> {<->ssub * redis/m/sl}{} -%%%%%%% Bold extended series -\DeclareFontShape{LHE}{redis}{bx}{n}{% - <5> <6> <7> <8> <9> <10> <10.95> <12> - <14.4> <17.28> <20.74> <24.88> redisb10}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{redis}{b}{n} -%<-nowarn> {<->sub * redis/bx/n}{} -%<+nowarn> {<->ssub * redis/bx/n}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{redis}{bx}{sl} -%<-nowarn> {<->sub * redis/bx/n}{} -%<+nowarn> {<->ssub * redis/bx/n}{} -%%%%%%% Font/shape undefined, therefore substituted -\DeclareFontShape{LHE}{redis}{bx}{it} -%<-nowarn> {<->sub * redis/bx/n}{} -%<+nowarn> {<->ssub * redis/bx/n}{} -% -% \end{macrocode} -% -% \subsection{The \HEH encoding definition file} -% -% The Hebrew font encoding \HEH{} is based upon an extention by -% Microsoft to the ISO-8859-8 standard. This is an 8bit encoding. The -% extentions include hebrew points (``Nikud''). -% -% First we define the Codepage 1255; specify a default -% for the font substitution process for the \HEH{} encoding and -% supply a font to be used when all else fails. -% -% \begin{macrocode} -%<*HE8enc> -\DeclareFontEncoding{HE8}{}{} -\DeclareFontSubstitution{HE8}{cmr}{m}{n} -\DeclareErrorFont{HE8}{cmr}{m}{n}{10} -% -% \end{macrocode} -% Then we define a few commands in the \HEH{} encoding. -% \begin{macrocode} -%<*HE8enc> -\ProvideTextCommand{\textcopyright}{HE8}{\textcircled{\@latin{c}}} -\ProvideTextCommand{\textregistered}{HE8}{\textcircled{\scshape% - \@latin{r}}} -\ProvideTextCommand{\texttrademark}{HE8}{\textsuperscript{\@latin{TM}}} -% -% \end{macrocode} -% -% \subsubsection{CHECK HERE FOR HE8 UPDATES} -% -% Because not everyone can input Hebrew input text directly from -% the keyboard we need to define control sequences for all the -% Hebrew glyphs in the fonts. In addition, we want to support -% many input encodings for Hebrew and to keep the language -% definition file (|hebrew.ldf|) independent of the -% encoding. Therefore, we exploit the standard \LaTeXe{} font -% encoding mechanism to define control sequences for all the Hebrew -% glyphs in the fonts in encoding-specific way. The language -% definition file uses only the control sequences and doesn't need -% to check the current font or input encoding. -% -% % In the \LHE{} encoding (7-bit encoding) all the Hebrew glyphes -% % reside in the \emph{lower} half of the font. Currently, only the -% % Hebrew letters are supported. They use the same positions as the -% % latin small letters in |ASCII| encoding and the position of |`|. -% -% Some general symbols: -% \begin{macrocode} -%<*HE8enc> -\ProvideTextCommand{\textcopyright}{HE8}{\textcircled{\@latin{c}}} -\ProvideTextCommand{\textregistered}{HE8}{\textcircled{\scshape% - \@latin{r}}} -\ProvideTextCommand{\texttrademark}{HE8}{\textsuperscript{\@latin{TM}}} -% -% \end{macrocode} -% -% The hebrew points: -% \begin{macrocode} -%<*HE8enc> -\DeclareTextSymbol{\sheva}{HE8}{192} -\DeclareTextSymbol{\hatafsegol}{HE8}{193} -\DeclareTextSymbol{\hatafpatah}{HE8}{194} -\DeclareTextSymbol{\hatafqamats}{HE8}{195} -\DeclareTextSymbol{\hiriq}{HE8}{196} -\DeclareTextSymbol{\tsere}{HE8}{197} -\DeclareTextSymbol{\segol}{HE8}{198} -\DeclareTextSymbol{\patah}{HE8}{199} -\DeclareTextSymbol{\qamats}{HE8}{200} -\DeclareTextSymbol{\holam}{HE8}{201} -\DeclareTextSymbol{\qubuts}{HE8}{203} -\DeclareTextSymbol{\dagesh}{HE8}{204} -\DeclareTextSymbol{\meteg}{HE8}{205} -\DeclareTextSymbol{\maqaf}{HE8}{206} -\DeclareTextSymbol{\rafe}{HE8}{207} -\DeclareTextSymbol{\paseq}{HE8}{208} -\DeclareTextSymbol{\shindot}{HE8}{209} -\DeclareTextSymbol{\sindot}{HE8}{210} -\DeclareTextSymbol{\sofpasuq}{HE8}{211} -\DeclareTextSymbol{\doublevav}{HE8}{212} -\DeclareTextSymbol{\vavyod}{HE8}{213} -\DeclareTextSymbol{\doubleyod}{HE8}{214} -% -% \end{macrocode} -% -% Hebrew letters occupy the positions 224--250 in \HEH{} encoding [WHAT -% ABOUT OTHER MARKS]: -% \begin{macrocode} -%<*HE8enc> -% \lccode``=`` % probably not needed (Tzafrir) -\DeclareTextSymbol{\hebalef}{HE8}{224} -\DeclareTextSymbol{\hebbet}{HE8}{225} -\DeclareTextSymbol{\hebgimel}{HE8}{226} -\DeclareTextSymbol{\hebdalet}{HE8}{227} -\DeclareTextSymbol{\hebhe}{HE8}{228} -\DeclareTextSymbol{\hebvav}{HE8}{229} -\DeclareTextSymbol{\hebzayin}{HE8}{230} -\DeclareTextSymbol{\hebhet}{HE8}{231} -\DeclareTextSymbol{\hebtet}{HE8}{232} -\DeclareTextSymbol{\hebyod}{HE8}{233} -\DeclareTextSymbol{\hebfinalkaf}{HE8}{234} -\DeclareTextSymbol{\hebkaf}{HE8}{235} -\DeclareTextSymbol{\heblamed}{HE8}{236} -\DeclareTextSymbol{\hebfinalmem}{HE8}{237} -\DeclareTextSymbol{\hebmem}{HE8}{238} -\DeclareTextSymbol{\hebfinalnun}{HE8}{239} -\DeclareTextSymbol{\hebnun}{HE8}{240} -\DeclareTextSymbol{\hebsamekh}{HE8}{241} -\DeclareTextSymbol{\hebayin}{HE8}{242} -\DeclareTextSymbol{\hebfinalpe}{HE8}{243} -\DeclareTextSymbol{\hebpe}{HE8}{244} -\DeclareTextSymbol{\hebfinaltsadi}{HE8}{245} -\DeclareTextSymbol{\hebtsadi}{HE8}{246} -\DeclareTextSymbol{\hebqof}{HE8}{247} -\DeclareTextSymbol{\hebresh}{HE8}{248} -\DeclareTextSymbol{\hebshin}{HE8}{249} -\DeclareTextSymbol{\hebtav}{HE8}{250} -% -% \end{macrocode} -% Letter |\hebsin| is defined as a synonym of |\hebshin|: -% \begin{macrocode} -%<+HE8enc>\let\hebsin=\hebshin -% \end{macrocode} -% -% \subsection{The font definition files (in \HEH{} encoding)} -% -% \subsubsection{Hebrew default font} -% -% It uses \emph{OmegaHebrew} font for regular font, \emph{Old -% Jaffa} font for italic shape and small-caps, \emph{Dead Sea} -% font for bold face, and \emph{Tel-Aviv} for bold-italic -% \begin{macrocode} -%<*HE8cmr> -\DeclareFontFamily{HE8}{cmr}{\hyphenchar\font45} -\DeclareFontShape{HE8}{cmr}{m}{n} - {<-> david }{} -%%%%%%% Italicized shape -\DeclareFontShape{HE8}{cmr}{m}{it} - {<-> davidi }{} -\DeclareFontShape{HE8}{cmr}{m}{sl} - {<-> davidi }{} -\DeclareFontShape{HE8}{cmr}{m}{sc} - {<-> david }{} -%%%%%%% Bold extended series -\DeclareFontShape{HE8}{cmr}{bx}{n} - {<-> davidb }{} -\DeclareFontShape{HE8}{cmr}{b}{n} - {<-> davidb }{} -%%%%%%% Bold extended (Italic) series -\DeclareFontShape{HE8}{cmr}{bx}{sl} - {<-> davidbi }{} -\DeclareFontShape{HE8}{cmr}{bx}{it} - {<-> davidbi }{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew sans-serif font} -% -% Until we have a real sans-serif font in this distribution, this file -% will remain a copy of the roman fonts definitons above. -% \begin{macrocode} -%<*HE8cmss> -\DeclareFontFamily{HE8}{cmss}{\hyphenchar\font45} -\DeclareFontShape{HE8}{cmss}{m}{n} - {<-> nachlieli }{} -%%%%%%% Italicized shape -\DeclareFontShape{HE8}{cmss}{m}{it} - {<-> nachlieli }{} -\DeclareFontShape{HE8}{cmss}{m}{sl} - {<-> nachlieli }{} -\DeclareFontShape{HE8}{cmss}{m}{sc} - {<-> nachlieli }{} -%%%%%%% Bold extended series -\DeclareFontShape{HE8}{cmss}{bx}{n} - {<-> nachlieli }{} -\DeclareFontShape{HE8}{cmss}{b}{n} - {<-> nachlieli }{} -%%%%%%% Bold extended (Italic) series -\DeclareFontShape{HE8}{cmss}{bx}{sl} - {<-> nachlieli }{} -\DeclareFontShape{HE8}{cmss}{bx}{it} - {<-> nachlieli }{} -% -% \end{macrocode} -% -% \subsubsection{Hebrew typewriter font} -% -% Until we have a real sans-serif font in this distribution, this file -% will remain a copy of the roman fonts definitons above. -% \begin{macrocode} -%<*HE8cmtt> -\DeclareFontFamily{HE8}{cmtt}{\hyphenchar\font45} -\DeclareFontShape{HE8}{cmtt}{m}{n} - {<-> miriam }{} -%%%%%%% Italicized shape -\DeclareFontShape{HE8}{cmtt}{m}{it} - {<-> miriam }{} -\DeclareFontShape{HE8}{cmtt}{m}{sl} - {<-> miriam }{} -\DeclareFontShape{HE8}{cmtt}{m}{sc} - {<-> miriam }{} -%%%%%%% Bold extended series -\DeclareFontShape{HE8}{cmtt}{bx}{n} - {<-> miriam }{} -\DeclareFontShape{HE8}{cmtt}{b}{n} - {<-> miriam }{} -%%%%%%% Bold extended (Italic) series -\DeclareFontShape{HE8}{cmtt}{bx}{sl} - {<-> miriam }{} -\DeclareFontShape{HE8}{cmtt}{bx}{it} - {<-> miriam }{} -% -% \end{macrocode} -% -% \subsubsection{8Bit OmegaHebrew font} -% -% \emph{OmegaHebrew} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8OmegaHebrew> -\def\OmegaHebrewscale{0.9} -\DeclareFontFamily{HE8}{OmegaHebrew}{\hyphenchar\font45} -\DeclareFontShape{HE8}{OmegaHebrew}{m}{n}{<-> [\OmegaHebrewscale] OmegaHebrew }{} -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{8Bit Aharoni font} -% -% \emph{Aharoni} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8aharoni> -\def\Aharoniscale{1.0} -\DeclareFontFamily{HE8}{aharoni}{\hyphenchar\font45} -\DeclareFontShape{HE8}{aharoni}{m}{n} {<-> [\Aharoniscale] aharoni}{} -\DeclareFontShape{HE8}{aharoni}{m}{it} {<-> [\Aharoniscale] aharonii}{} -\DeclareFontShape{HE8}{aharoni}{m}{sl} {<-> [\Aharoniscale] aharonii}{} -\DeclareFontShape{HE8}{aharoni}{b}{n} {<-> [\Aharoniscale] aharonib}{} -\DeclareFontShape{HE8}{aharoni}{bx}{n} {<-> [\Aharoniscale] aharonib}{} -\DeclareFontShape{HE8}{aharoni}{bx}{it} {<-> [\Aharoniscale] aharonibi}{} - -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{8Bit David font} -% -% \emph{David} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8david> -\def\Davidscale{1.0} -\DeclareFontFamily{HE8}{david}{\hyphenchar\font45} - -\DeclareFontShape{HE8}{david}{m}{n} {<-> [\Davidscale] david}{} -\DeclareFontShape{HE8}{david}{m}{it} {<-> [\Davidscale] davidi}{} -\DeclareFontShape{HE8}{david}{m}{sl} {<-> [\Davidscale] davidi}{} -\DeclareFontShape{HE8}{david}{b}{n} {<-> [\Davidscale] davidb}{} -\DeclareFontShape{HE8}{david}{bx}{n} {<-> [\Davidscale] davidb}{} -\DeclareFontShape{HE8}{david}{bx}{it} {<-> [\Davidscale] davidbi}{} - - -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{8Bit Drugulin font} -% -% \emph{Drugulin} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8drugulin> -\def\Drugulinscale{1.0} -\DeclareFontFamily{HE8}{drugulin}{\hyphenchar\font45} -\DeclareFontShape{HE8}{drugulin}{m}{n} {<-> [\Drugulinscale] drugulinb}{} -\DeclareFontShape{HE8}{drugulin}{m}{it} {<-> [\Drugulinscale] drugulinbi}{} -\DeclareFontShape{HE8}{drugulin}{m}{sl} {<-> [\Drugulinscale] drugulinbi}{} -\DeclareFontShape{HE8}{drugulin}{b}{n} {<-> [\Drugulinscale] drugulinb}{} -\DeclareFontShape{HE8}{drugulin}{bx}{n} {<-> [\Drugulinscale] drugulinb}{} -\DeclareFontShape{HE8}{drugulin}{bx}{it} {<-> [\Drugulinscale] drugulinbi}{} -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{8Bit Ellinia font} -% -% \emph{Ellinia} is a sans-serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8ellinia> -\def\Elliniascale{1.0} -\DeclareFontFamily{HE8}{ellinia}{\hyphenchar\font45} -\DeclareFontShape{HE8}{ellinia}{m}{n} {<-> [\Elliniascale] ellinia}{} -\DeclareFontShape{HE8}{ellinia}{m}{it} {<-> [\Elliniascale] elliniai}{} -\DeclareFontShape{HE8}{ellinia}{m}{sl} {<-> [\Elliniascale] elliniai}{} -\DeclareFontShape{HE8}{ellinia}{b}{n} {<-> [\Elliniascale] elliniab}{} -\DeclareFontShape{HE8}{ellinia}{bx}{n} {<-> [\Elliniascale] elliniab}{} -\DeclareFontShape{HE8}{ellinia}{bx}{it} {<-> [\Elliniascale] elliniabi}{} -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{8Bit FrankRuehl font} -% -% \emph{FrankRuehl} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8frankruehl> -\def\FrankRuehlscale{1.0} -\DeclareFontFamily{HE8}{frank}{\hyphenchar\font45} -\DeclareFontShape{HE8}{frank}{m}{n} {<-> [\FrankRuehlscale] frank}{} -\DeclareFontShape{HE8}{frank}{m}{it} {<-> [\FrankRuehlscale] franki}{} -\DeclareFontShape{HE8}{frank}{m}{sl} {<-> [\FrankRuehlscale] franki}{} -\DeclareFontShape{HE8}{frank}{b}{n} {<-> [\FrankRuehlscale] frankb}{} -\DeclareFontShape{HE8}{frank}{bx}{n} {<-> [\FrankRuehlscale] frankb}{} -\DeclareFontShape{HE8}{frank}{bx}{it} {<-> [\FrankRuehlscale] frankbi}{} -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{8Bit KtavYad font} -% -% \emph{KtavYad} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8yad> -\def\KtavYadscale{1.0} -\DeclareFontFamily{HE8}{yad}{\hyphenchar\font45} -\DeclareFontShape{HE8}{yad}{m}{n} {<-> [\KtavYadscale] yadi}{} -\DeclareFontShape{HE8}{yad}{m}{it} {<-> [\KtavYadscale] yadi}{} -\DeclareFontShape{HE8}{yad}{m}{sl} {<-> [\KtavYadscale] yadi}{} -\DeclareFontShape{HE8}{yad}{b}{n} {<-> [\KtavYadscale] yadbi}{} -\DeclareFontShape{HE8}{yad}{bx}{n} {<-> [\KtavYadscale] yadbi}{} -\DeclareFontShape{HE8}{yad}{bx}{it} {<-> [\KtavYadscale] yadbi}{} -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% \subsubsection{8Bit MiriamMono font} -% -% \emph{MiriamMono} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8miriam> -\def\MiriamMonoscale{1.0} -\DeclareFontFamily{HE8}{miriam}{\hyphenchar\font45} -\DeclareFontShape{HE8}{miriam}{m}{n} {<-> [\MiriamMonoscale] miriam}{} -\DeclareFontShape{HE8}{miriam}{m}{it} {<-> [\MiriamMonoscale] miriami}{} -\DeclareFontShape{HE8}{miriam}{m}{sl} {<-> [\MiriamMonoscale] miriami}{} -\DeclareFontShape{HE8}{miriam}{b}{n} {<-> [\MiriamMonoscale] miriamb}{} -\DeclareFontShape{HE8}{miriam}{bx}{n} {<-> [\MiriamMonoscale] miriamb}{} -\DeclareFontShape{HE8}{miriam}{bx}{it} {<-> [\MiriamMonoscale] miriambi}{} - -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{8Bit Nachlieli font} -% -% \emph{Nachlieli} is a serif hebrew font created by the omega project -% [FILL IN CREDITS] -% [FILL IN GENERAL SHAPE DESCRIPTION] -% shapes: [FILL IN] -% -% \begin{macrocode} -%<*HE8nachlieli> -\def\Nachlieliscale{1.0} -\DeclareFontFamily{HE8}{nachlieli}{\hyphenchar\font45} -\DeclareFontShape{HE8}{nachlieli}{m}{n} {<-> [\Nachlieliscale] nachlieli}{} -\DeclareFontShape{HE8}{nachlieli}{m}{it} {<-> [\Nachlieliscale] nachlielii}{} -\DeclareFontShape{HE8}{nachlieli}{m}{sl} {<-> [\Nachlieliscale] nachlielii}{} -\DeclareFontShape{HE8}{nachlieli}{b}{n} {<-> [\Nachlieliscale] nachlielib}{} -\DeclareFontShape{HE8}{nachlieli}{bx}{n} {<-> [\Nachlieliscale] nachlielib}{} -\DeclareFontShape{HE8}{nachlieli}{bx}{it} {<-> [\Nachlieliscale] nachlielibi}{} -%\endinput % is it needed [tzafrir] -% -% \end{macrocode} -% -% -% \subsubsection{Hebrew font switching commands} -% -% The \pkg{hebfont} package defines a number of high-level commands -% (all starting with |\text..| similar to the standard \LaTeXe{} -% font-change commands, for example |\textbf|) that have one -% argument and typeset this argument in the requested way. These -% commands are defined for all available Hebrew fonts defined above -% and change only font parameters but not direction. -% -% For example, to use Hebrew Classic font family, the following -% sequence of commands should be included in a \LaTeXe{} document: -% \begin{quote} -% |\sethebrew|\\ -% |\textclas{Hebrew text printed with Classic fonts}| -% \end{quote} -% or to use Hebrew with Classic fonts locally: -% \begin{quote} -% |\R{\textclas{Hebrew text printed with Classic fonts}}| -% \end{quote} -% -% \begin{table}[t] -% \begin{center} -% \begin{tabular}{lll} -% \textit{Command} & \textit{Corresponds to} & -% \textit{Font family} \\[4pt] -% |\textjm{..}| & |\rmfamily| & Jerusalem font \\ -% |\textds{..}| & |\bfseries| & Dead Sea font \\ -% |\textoj{..}| & |\itshape| & Old Jaffa font \\ -% & |\slshape| & \\ -% & |\emph| & \\ -% |\textta{..}| & |\sffamily| & Tel-Aviv font \\ -% & |\ttfamily| & \\[2pt] -% |\textcrml{..}| & |\fontfamily{crml}| & Carmel fonts \\[2pt] -% |\textfr{..}| & |\fontfamily{fr}| & Frank-Ruehl fonts \\[2pt] -% |\textredis{..}| & |\fontfamily{redis}| & Redis fonts \\[2pt] -% |\textclas{..}| & |\fontfamily{redis}| & Classic fonts \\[2pt] -% |\textshold{..}| & |\fontfamily{shold}| & Shalom Old Style font \\ -% |\textshscr{..}| & |\fontfamily{shscr}| & Shalom Script font \\ -% |\textshstk{..}| & |\fontfamily{shstk}| & Shalom Stick font -% \end{tabular} -% \end{center} -% \caption{Hebrew font-change commands with arguments} -% \label{tab:fntcmds} -% \begin{quote} -% The font change commands provided here all start with |\text..| -% to emphasize that they are for use in normal text and to be -% easily memorable. -% \end{quote} -% \end{table} -% -% We declare \LaTeXe{} font commands, e.g.\ |\textjm{|\ldots|}| -% for all available fonts. Table~\ref{tab:fntcmds} shows the -% meanings of all these new high-level commands. -% -% \begin{macro}{\textjm} -% Switches to \emph{Jerusalem} font which is default regular Hebrew -% font (``roman'' family). Commands |\textrm{|\ldots|}| and -% old-style |{\rm |\ldots|}| will produce the same result. -% \begin{macrocode} -%<*hebfont> -\def\ivritex@tmp{HE8} -\ifx\ivritex@tmp\HeblatexEncoding % - % compatibility with hebfonts: - \DeclareTextFontCommand{\textjm}{\rmfamily\selectfont} - \DeclareTextFontCommand{\textds}{\bfseries\selectfont} - \DeclareTextFontCommand{\textoj}{\itshape\selectfont} - \DeclareTextFontCommand{\textta}{\sffamily\selectfont} - - % an attempt to give some replacements to the original hebfonts: - % - \DeclareTextFontCommand{\textcrml}{\fontfamily{david}\selectfont} - \DeclareTextFontCommand{\textfr}{\fontfamily{frank}\selectfont} - \DeclareTextFontCommand{\textredis}{\fontfamily{aharoni}\selectfont} - \DeclareTextFontCommand{\textclas}{\fontfamily{drugulin}\selectfont} - \DeclareTextFontCommand{\textshold}{\fontfamily{frank}\selectfont} - \DeclareTextFontCommand{\textshscr}{\fontfamily{yad}\selectfont} - \DeclareTextFontCommand{\textshstk}{\fontfamily{aharoni}\selectfont} - % note that redis is larger than shstk - - - \DeclareTextFontCommand{\textaha}{\fontfamily{aharoni}\selectfont} - \DeclareTextFontCommand{\textdav}{\fontfamily{david}\selectfont} - \DeclareTextFontCommand{\textdru}{\fontfamily{drugulin}\selectfont} - \DeclareTextFontCommand{\textel} {\fontfamily{ellinia}\selectfont} - % \textfr is already declared above - \DeclareTextFontCommand{\textmir}{\fontfamily{miriam}\selectfont} - \DeclareTextFontCommand{\textna} {\fontfamily{nachlieli}\selectfont} - % is this necessary: - \DeclareTextFontCommand{\textyad} {\fontfamily{yad}\selectfont} - -\else% -\DeclareTextFontCommand{\textjm}{\rmfamily\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textds} -% Switches to \emph{Dead Sea} font which is default bold font in -% Hebrew. Commands |\textbf{|\ldots|}| and old-style -% |{\bf |\ldots|}| will produce the same result. -% \begin{macrocode} -\DeclareTextFontCommand{\textds}{\bfseries\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textoj} -% Switches to \emph{Old Jaffa} font which is default italic font in -% Hebrew. Commands |\textit{|\ldots|}|, |\textsl{|\ldots|}|, -% |\emph{|\ldots|}| and old-style |{\it |\ldots|}| or -% |{\em |\ldots|}| will produce the same result. -% \begin{macrocode} -\DeclareTextFontCommand{\textoj}{\itshape\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textta} -% Switches to \emph{Tel-Aviv} font which is default sans-serif font -% in Hebrew. Commands |\textsf{|\ldots|}|, |\texttt{|\ldots|}| and -% old-style |{\sf |\ldots|}| or |{\tt |\ldots|}| will produce the -% same result (because sans-serif is used as typewriter font when -% in Hebrew mode). -% \begin{macrocode} -\DeclareTextFontCommand{\textta}{\sffamily\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textcrml} -% Switches to \emph{Carmel} font. Regular and slanted variants of -% carmel font will be used.. -% \begin{macrocode} -\DeclareTextFontCommand{\textcrml}{\fontfamily{crml}\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textfr} -% Switches to \emph{Frank-Ruehl} font family. Regular, bold and -% slanted frank ruehl fonts will be used. -% \begin{macrocode} -\DeclareTextFontCommand{\textfr}{\fontfamily{fr}\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textredis} -% Switches to \emph{Redis} font family. Regular, bold and slanted -% redis fonts of various sizes will be used. -% \begin{macrocode} -\DeclareTextFontCommand{\textredis}{\fontfamily{redis}\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textclas} -% Switches to \emph{Classic} font family. The normal font will be -% hclassic and slanted --- hcaption. -% \begin{macrocode} -\DeclareTextFontCommand{\textclas}{\fontfamily{clas}\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textshold} -% Switches to \emph{Shalom Old Style} font. -% \begin{macrocode} -\DeclareTextFontCommand{\textshold}{\fontfamily{shold}\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textshscr} -% Switches to \emph{Shalom Script} font. -% \begin{macrocode} -\DeclareTextFontCommand{\textshscr}{\fontfamily{shscr}\selectfont} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textshstk} -% Switches to \emph{Shalom Stick} font. -% \begin{macrocode} -\DeclareTextFontCommand{\textshstk}{\fontfamily{shstk}\selectfont} -\fi -% \end{macrocode} -% \end{macro} -% -% Finally, for backward compatibility with \LaTeX2.09. four old -% font commands, e.g.\ |{\jm |\ldots|}| are defined too (see -% Table~\ref{tab:oldcmds}). -% \begin{table}[t] -% \begin{center} -% \begin{tabular}{lll} -% \textit{Old font command} & \textit{Font name} & -% \textit{Comment}\\[4pt] -% |{\jm ..}| & Jerusalem & default regular (roman) font \\ -% |{\ds ..}| & Dead Sea & default bold font \\ -% |{\oj ..}| & Old Jaffa & default italic and slanted font \\ -% & & used also to emphasize text \\ -% |{\ta ..}| & Tel-Aviv & default sans-serif and typewriter font\\ -% \end{tabular} -% \end{center} -% \caption{Hebrew old font-change commands for compatibility mode} -% \label{tab:oldcmds} -% \end{table} -% \begin{macrocode} -\if@compatibility - \DeclareOldFontCommand{\jm}{\normalfont\rmfamily\selectfont}% - {\@nomath\jm} - \DeclareOldFontCommand{\ds}{\normalfont\bfseries\selectfont}% - {\@nomath\ds} - \DeclareOldFontCommand{\oj}{\normalfont\itshape\selectfont}% - {\@nomath\oj} - \DeclareOldFontCommand{\ta}{\normalfont\sffamily\selectfont}% - {\@nomath\ta} -\fi -% -% \end{macrocode} -% -% \Finale -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% -\endinput diff --git a/macros/latex/contrib/babel-contrib/hebrew/hebrew.ins b/macros/latex/contrib/babel-contrib/hebrew/hebrew.ins index 80f35a41ec..b90547761a 100644 --- a/macros/latex/contrib/babel-contrib/hebrew/hebrew.ins +++ b/macros/latex/contrib/babel-contrib/hebrew/hebrew.ins @@ -3,199 +3,96 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright 1989-2005 Johannes L. Braams and any individual authors -%% listed elsewhere in this file. All rights reserved. -%% -%% This file is part of the Babel system. -%% -------------------------------------- -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 -%% of this license or (at your option) any later version. -%% The latest version of this license is in +%% Hebrew language definition and additional packages. +%% Copyright (C) 1997 -- 2005 Boris Lavva and Johannes Braams. +%% +%% Copyright (C) 2023 Udi Fogiel. +%% All rights reserved. +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, either version 1.3 of this license or +%% (at your option) any later version. The latest version of this +%% license is in %% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of LaTeX -%% version 2003/12/01 or later. -%% +%% and version 1.3 or later is part of all distributions of LaTeX version +%% 2003/12/01 or later. +%% %% This work has the LPPL maintenance status "maintained". -%% -%% The Current Maintainer of this work is Johannes Braams. -%% -%% The list of all files belonging to the LaTeX base distribution is -%% given in the file `manifest.bbl. See also `legal.bbl' for additional -%% information. -%% +%% +%% The Current Maintainer of this work is Udi Fogiel +%% %% The list of derived (unpacked) files belonging to the distribution %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% %% --------------- start of docstrip commands ------------------ %% -%% -%% Copyright (C) 1997 -- 1998 Boris Lavva. -%% Copyright (C) 1989 -- 2004 by Johannes Braams, -%% TeXniek -%% All rights reserved. -%% -%% This file is contributed to the `babel' system. -%% -%% You are allowed to distribute this file together with all files -%% mentioned in manifest.bbl. -%% -%% You are not allowed to modify its contents. -%% -\def\filedate{2004/02/20} \def\batchfile{hebrew.ins} -\input docstrip +\def\filedate{2023/08/16} +\input docstrip.tex {\ifx\generate\undefined -\Msg{**********************************************} -\Msg{*} -\Msg{* This installation requires docstrip} -\Msg{* version 2.3c or later.} -\Msg{*} -\Msg{* An older version of docstrip has been input} -\Msg{*} -\Msg{**********************************************} -\errhelp{Move or rename old docstrip.tex.} -\errmessage{Old docstrip in input path} -\batchmode -\csname @@end\endcsname + \Msg{**********************************************} + \Msg{*} + \Msg{* This installation requires docstrip} + \Msg{* version 2.3c or later.} + \Msg{*} + \Msg{* An older version of docstrip has been input} + \Msg{*} + \Msg{**********************************************} + \errhelp{Move or rename old docstrip.tex.} + \errmessage{Old docstrip in input path} + \batchmode + \csname @@end\endcsname \fi} \declarepreamble\mainpreamble This is a generated file. -Copyright 1997-2004 Boris Lavva and any individual authors -listed elsewhere in this file. All rights reserved. - -This is a generated file. - -Copyright 1989-2005 Johannes L. Braams and any individual authors -listed elsewhere in this file. All rights reserved. +Hebrew language definition and additional packages. +Copyright (C) 1997 -- 2005 Boris Lavva and Johannes Braams. -This file was generated from file(s) of the Babel system. ---------------------------------------------------------- +Copyright (C) 2023 Udi Fogiel. + All rights reserved. -It may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either version 1.3 -of this license or (at your option) any later version. -The latest version of this license is in - http://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of LaTeX -version 2003/12/01 or later. +It may be distributed and/or modified under the conditions of the +LaTeX Project Public License, either version 1.3 of this license or +(at your option) any later version. The latest version of this +license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX version +2003/12/01 or later. This work has the LPPL maintenance status "maintained". -The Current Maintainer of this work is Johannes Braams. - -This file may only be distributed together with a copy of the Babel -system. You may however distribute the Babel system without -such generated files. - -The list of all files belonging to the Babel distribution is -given in the file `manifest.bbl'. See also `legal.bbl for additional -information. +The Current Maintainer of this work is Udi Fogiel The list of derived (unpacked) files belonging to the distribution and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. -\endpreamble - -\declarepreamble\fdpreamble - -This is a generated file. - -Copyright 1997-2004 Boris Lavva and any individual authors -listed elsewhere in this file. All rights reserved. - -This is a generated file. - -Copyright 1989-2005 Johannes L. Braams and any individual authors -listed elsewhere in this file. All rights reserved. - -This file was generated from file(s) of the Babel system. ---------------------------------------------------------- - -It may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either version 1.3 -of this license or (at your option) any later version. -The latest version of this license is in - http://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of LaTeX -version 2003/12/01 or later. - -This work has the LPPL maintenance status "maintained". - -The Current Maintainer of this work is Johannes Braams. - -This file may only be distributed together with a copy of the Babel -system. You may however distribute the Babel system without -such generated files. - -The list of all files belonging to the Babel distribution is -given in the file `manifest.bbl'. See also `legal.bbl for additional -information. - -In particular, permission is granted to customize the declarations in -this file to serve the needs of your installation. - -However, NO PERMISSION is granted to distribute a modified version -of this file under its original name. \endpreamble + \keepsilent -\usedir{tex/generic/babel} - -\Msg{*** Generating hebrew font encoding files ***} -\usepreamble\fdpreamble -\generate{\file{lheenc.def}{\from{hebrew.fdd}{LHEenc}} - \file{lhecmr.fd}{\from{hebrew.fdd}{LHEcmr,nowarn}} - \file{lhecmss.fd}{\from{hebrew.fdd}{LHEcmss,nowarn}} - \file{lhecmtt.fd}{\from{hebrew.fdd}{LHEcmtt,nowarn}} - \file{lheclas.fd}{\from{hebrew.fdd}{LHEclas,nowarn}} - \file{he8enc.def}{\from{hebrew.fdd}{HE8enc}} - \file{he8cmr.fd}{\from{hebrew.fdd}{HE8cmr,nowarn}} - \file{he8cmss.fd}{\from{hebrew.fdd}{HE8cmss,nowarn}} - \file{he8cmtt.fd}{\from{hebrew.fdd}{HE8cmtt,nowarn}} - \file{he8aharoni.fd}{\from{hebrew.fdd}{HE8aharoni,nowarn}} - \file{he8david.fd}{\from{hebrew.fdd}{HE8david,nowarn}} - \file{he8drugulin.fd}{\from{hebrew.fdd}{HE8drugulin,nowarn}} - \file{he8frankruehl.fd}{\from{hebrew.fdd}{HE8frankruehl,nowarn}} - \file{he8yad.fd}{\from{hebrew.fdd}{HE8yad,nowarn}} - \file{he8miriam.fd}{\from{hebrew.fdd}{HE8miriam,nowarn}} - \file{he8nachlieli.fd}{\from{hebrew.fdd}{HE8nachlieli,nowarn}} - \file{he8OmegaHebrew.fd}{\from{hebrew.fdd}{HE8OmegaHebrew,nowarn}} - \file{lheshold.fd}{\from{hebrew.fdd}{LHEshold,nowarn}} - \file{lheshscr.fd}{\from{hebrew.fdd}{LHEshscr,nowarn}} - \file{lheshstk.fd}{\from{hebrew.fdd}{LHEshstk,nowarn}} - \file{lhefr.fd}{\from{hebrew.fdd}{LHEfr,nowarn}} - \file{lhecrml.fd}{\from{hebrew.fdd}{LHEcrml,nowarn}} - \file{lheredis.fd}{\from{hebrew.fdd}{LHEredis,nowarn}} - \file{hebfont.sty}{\from{hebrew.fdd}{hebfont}} - } +\askforoverwritefalse -\Msg{*** Generating hebrew input encoding files ***} -\usepreamble\mainpreamble -\generate{\file{8859-8.def}{\from{hebinp.dtx}{8859-8}} - \file{cp1255.def}{\from{hebinp.dtx}{cp1255}} - \file{cp862.def}{\from{hebinp.dtx}{cp862}} - \file{si960.def}{\from{hebinp.dtx}{si960}} - } +\usedir{tex/generic/babel} \Msg{*** Generating hebrew language support files ***} +\usepreamble\mainpreamble \generate{\file{hebrew.ldf}{\from{hebrew.dtx}{hebrew}} \file{rlbabel.def}{\from{hebrew.dtx}{rightleft}} \file{hebcal.sty}{\from{hebrew.dtx}{calendar}} } \Msg{*** Generating hebrew 2.09 compatibility files ***} -\generate{\file{hebrew_newcode.sty}{\from{heb209.dtx}{newcode}} - \file{hebrew_p.sty}{\from{heb209.dtx}{pccode}} - \file{hebrew_oldcode.sty}{\from{heb209.dtx}{oldcode}} +\usepreamble\mainpreamble +\generate{\file{hebrew_newcode.sty}{\from{hebrew.dtx}{newcode}} + \file{hebrew_p.sty}{\from{hebrew.dtx}{pccode}} + \file{hebrew_oldcode.sty}{\from{hebrew.dtx}{oldcode}} } \ifToplevel{ @@ -212,4 +109,4 @@ of this file under its original name. \Msg{*************************************************************} } -\endbatchfile +\endinput diff --git a/macros/latex/contrib/babel-contrib/hebrew/hebrew.pdf b/macros/latex/contrib/babel-contrib/hebrew/hebrew.pdf index 4e46d124d9..23907586c6 100644 Binary files a/macros/latex/contrib/babel-contrib/hebrew/hebrew.pdf and b/macros/latex/contrib/babel-contrib/hebrew/hebrew.pdf differ diff --git a/macros/latex/contrib/chronology/README b/macros/latex/contrib/chronology/README deleted file mode 120000 index 42061c01a1..0000000000 --- a/macros/latex/contrib/chronology/README +++ /dev/null @@ -1 +0,0 @@ -README.md \ No newline at end of file diff --git a/macros/latex/contrib/chronology/README b/macros/latex/contrib/chronology/README new file mode 100644 index 0000000000..95ecffd34a --- /dev/null +++ b/macros/latex/contrib/chronology/README @@ -0,0 +1,15 @@ + +chronology +========== + +A package that creates timelines featuring multiple events with per-day precision. Other features include relative positioning with unit specification, adjustable tick mark step size, and scaling to specified width. + + +Version 2.0 +Uploaded to CTAN on 20 August, 2023 + +Version 1.1 +Uploaded to GitHub on 12 March 2013 +Uploaded to CTAN on 4 April 2013 + + diff --git a/macros/latex/contrib/chronology/README.md b/macros/latex/contrib/chronology/README.md deleted file mode 100644 index 4f220455f8..0000000000 --- a/macros/latex/contrib/chronology/README.md +++ /dev/null @@ -1,8 +0,0 @@ -chronology -========== - -LaTeX time­line pack­age that al­lows la­belling of events with per-day gran­u­lar­ity - -Version 1.1 -Uploaded to GitHub on Mar 12., 2013 -Uploaded to CTAN on Apr 4., 2013 \ No newline at end of file diff --git a/macros/latex/contrib/chronology/chronology.pdf b/macros/latex/contrib/chronology/chronology.pdf new file mode 100644 index 0000000000..6a2412c808 Binary files /dev/null and b/macros/latex/contrib/chronology/chronology.pdf differ diff --git a/macros/latex/contrib/chronology/chronology.sty b/macros/latex/contrib/chronology/chronology.sty index 46c06c5746..774a26644e 100644 --- a/macros/latex/contrib/chronology/chronology.sty +++ b/macros/latex/contrib/chronology/chronology.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}% -\ProvidesPackage{chronology}[2015/03/27 v1.1.1 Horizontal timeline]% +\ProvidesPackage{chronology}[2023/08/20 v2.0 - Horizontal Timeline]% \RequirePackage{calc}% \RequirePackage{tikz}% \RequirePackage{xparse}% @@ -9,7 +9,9 @@ \newlength{\xstart}\newlength{\xstop}% \newlength{\unit}\newlength{\timelinewidth}% \newsavebox{\timelinebox}% +% % Defining TikZ styles for labels and events +% \tikzset{% ,chronevent/.style={fill=black,draw=none,opacity=0.5} ,chronlabel/.style={opacity=1} @@ -17,8 +19,11 @@ ,chroneventlabel/.style={chronlabel} ,eventlabel/.style={chroneventlabel,anchor=south west,yshift=.2\unit,rotate=45} ,flippedeventlabel/.style={chroneventlabel,anchor=north west,yshift=-.2\unit,rotate=-45} + ,eventlabelbottom/.style={chroneventlabel,anchor=south west,yshift=-1cm,rotate=0} % Bottom label } +% % For compatibity with babel. Handling of active characters in TikZ. +% \tikzset{ handle active characters in code, handle active characters in nodes @@ -69,8 +74,11 @@ \fi% }% }% +% +% Event (legacy code for compatibility) +% \makeatother% -\DeclareDocumentCommand \event {o m m}{% +\DeclareDocumentCommand \event {o m m}{% [Startdate] Enddate Label \pgfmathsetlength\xstop{(#2-\theyearstart)*\unit}% \IfNoValueTF {#1} {% \ifflipped% @@ -95,6 +103,30 @@ \fi% }% } +% +% Eventspan +% +\DeclareDocumentCommand \eventspan {m m m O{black} O{0.3} O{0.2} o}{% Startdate Enddate Label Fill Opacity Height Bottom? + \pgfmathsetlength\xstop{(#2-\theyearstart)*\unit}% + \pgfmathsetlength\xstart{(#1-\theyearstart)*\unit}% + \IfNoValueTF {#7} {% + \draw[style={fill=#4,draw=none,opacity=#5},rounded corners=.05\unit]% + (\xstart,-#6\unit) rectangle node[eventlabel] {#3} (\xstop,.2\unit);% + }{% + \draw[style={fill=#4,draw=none,opacity=#5},rounded corners=.05\unit]% Event, bottom label + (\xstart,-#6\unit) rectangle node[eventlabelbottom, anchor=center]{#3} (\xstop,.2\unit);% + }% +} +% +% Eventpoint +% +\DeclareDocumentCommand \eventpoint {m m O{red} O{1} O{0.3}}{% Date Label Fill Opacity Height + \pgfmathsetlength\xstop{(#1-\theyearstart)*\unit}% + \draw[style={fill=#3,draw=none,opacity=#4},rounded corners=0\unit]% + (\xstop, .1\unit) coordinate(A) -- (\xstop-.2*#5\unit,#5\unit) coordinate(B) -- (\xstop+.2*#5\unit,#5\unit)coordinate(C)% + -- cycle node[eventlabel] {#2};% +} +% \newcommand{\decimaldate}[3]{(#1-1)/31/12+(#2-1)/12+#3}% +% \endinput% - diff --git a/macros/latex/contrib/chronology/example.pdf b/macros/latex/contrib/chronology/example.pdf deleted file mode 100644 index 90c14a66b2..0000000000 Binary files a/macros/latex/contrib/chronology/example.pdf and /dev/null differ diff --git a/macros/latex/contrib/chronology/example.tex b/macros/latex/contrib/chronology/example.tex deleted file mode 100644 index 94bc873491..0000000000 --- a/macros/latex/contrib/chronology/example.tex +++ /dev/null @@ -1,24 +0,0 @@ -\documentclass{article} -\usepackage{chronology} -\begin{document} -\begin{chronology}[5]{1983}{2010}{10cm}[7cm] -\event{1984}{\color{blue}{one}} -\event[1985]{1986}{\small{two}} -\event{\decimaldate{25}{12}{2001}}{\huge{three}} -\end{chronology} -\vspace{5cm} - -\begin{chronology}*[5]{1983}{2010}{10cm} -\event{1984}{\color{blue}{one}} -\event[1985]{1986}{\small{two}} -\event{\decimaldate{25}{12}{2001}}{\huge{three}} -\end{chronology} -\vspace{5cm} - -\begin{chronology}[5]{1983}{2010}{10cm}[13cm] -\event{1984}{\color{blue}{one}} -\event[1985]{1986}{\small{two}} -\event{\decimaldate{25}{12}{2001}}{\huge{three}} -\end{chronology} -\end{document} - diff --git a/macros/latex/contrib/expex-glossonly/README.md b/macros/latex/contrib/expex-glossonly/README.md index 1029552acf..627f813b6e 100644 --- a/macros/latex/contrib/expex-glossonly/README.md +++ b/macros/latex/contrib/expex-glossonly/README.md @@ -1,8 +1,9 @@ # The `expex-glossonly` package -`expex-glossonly` is a package which allows `gb4e` and `linguex` users to use the glossing macros -of the ExPex package, while still using the standard example and subexample numbering macros of -those respective packages. +## Version 0.7 2023/08/17 + +`expex-glossonly` is a package which allows users of other popular example numbering package (`gb4e`, `linguex`, and `covington`) to use the glossing macros +of the ExPex package, while still using the standard example and subexample numbering macros of those respective packages. Copyright 2016-2023 by Alan Munn @@ -19,7 +20,7 @@ This package has the LPPL maintenance status `maintained'. The Current Maintainer of this package is Alan Munn. This package consists of the file `expex-glossonly.sty` and documentation files -`expex-glossonly.tex` and `expex-glossonly.pdf` plus two test files: `gb4e-expex.tex` and `linguex-expex.tex` +`expex-glossonly.tex` and `expex-glossonly.pdf` plus three test files: `gb4e-expex.tex`, `linguex-expex.tex`, and `covington-expex.tex`. This package is currently experimental. Use at your own risk. diff --git a/macros/latex/contrib/expex-glossonly/expex-glossonly.pdf b/macros/latex/contrib/expex-glossonly/expex-glossonly.pdf index df43f4d18f..22873f4f56 100644 Binary files a/macros/latex/contrib/expex-glossonly/expex-glossonly.pdf and b/macros/latex/contrib/expex-glossonly/expex-glossonly.pdf differ diff --git a/macros/latex/contrib/expex-glossonly/expex-glossonly.sty b/macros/latex/contrib/expex-glossonly/expex-glossonly.sty index b33b6b41c0..d881bfdf24 100644 --- a/macros/latex/contrib/expex-glossonly/expex-glossonly.sty +++ b/macros/latex/contrib/expex-glossonly/expex-glossonly.sty @@ -1,10 +1,10 @@ -\def\EPGL@version{0.6} -\def\EPGL@date{2023/08/15} +\def\EPGL@version{0.7} +\def\EPGL@date{2023/08/17} % expex-glossonly is a package which allows gb4e and linguex users to use the glossing macros % of the ExPex package, while still using the standard example and subexample numbering macros of % those respective packages. % -% Copyright 2016 by Alan Munn +% Copyright 2016-2023 by Alan Munn % % This package may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -23,13 +23,15 @@ % % This package is currently experimental. Use at your own risk. % -\ProvidesPackage{expex-glossonly}[\EPGL@date\ Compatibility package for using ExPex glosses with gb4e and linguex v. \EPGL@version ] -\DeclareOption*{\PackageWarning{expex-glossonly}{Unknown option `\CurrentOption`}} -\ProcessOptions +\ProvidesPackage{expex-glossonly}[\EPGL@date\ Compatibility package for using ExPex glosses with other example packages v. \EPGL@version ] \RequirePackage{calc} \RequirePackage{expex} -% First define a command to patch the ExPex main gloss command -% Need to find out if other gloss commands need to be patched. +\newif\ifEPGL@examplesloaded +\@ifpackageloaded{linguex}{\PackageError{expex-glossonly}{Please load linguex using the package option!}{Please load linguex using the package option!}}{} +\@ifpackageloaded{gb4e}{\PackageError{expex-glossonly}{Please load gb4e using the package option!}{Please load gb4e using the package option!}}{} +\@ifpackageloaded{covington}{\PackageError{expex-glossonly}{Please load covington using the package option!}{Please load covington using the package option!}}{} +% for now this is a separate macro in case it needs to be changed per package. +\newcommand\EPGL@setglossmargin{\setlength{\leftskip}{\@totalleftmargin}} \def\EPGL@patchexpexgloss{% \let\xe\relax \let\pex\relax @@ -64,34 +66,48 @@ \let\everylist=\empty \let\colorlist=\empty }} -% First check to see whether we are loaded first -% Since there is some overlap in commands, gb4e and linguex must be loaded second -\@ifpackageloaded{linguex}{\PackageError{expex-glossonly}{Please load expex-glossonly BEFORE linguex}{Please load expex-glossonly BEFORE linguex}}{} -\@ifpackageloaded{gb4e}{\PackageError{expex-glossonly}{Please load expex-glossonly BEFORE gb4e}{Please load expex-glossonly BEFORE gb4e}}{} -% Now only patch the command if the packages have been loaded -% This means that the package will do no harm if loaded by itself -\AtBeginDocument{% -\@ifpackageloaded{linguex}{ - \def\EPGL@setglossmargin{% - \ifnum\theExDepth=1% - \setlength{\leftskip}{\Exindent+\Exlabelsep+\Exlabelwidth+.5em} - \else - \setlength{\leftskip}{\Exindent+\Exlabelsep+\Exlabelwidth+\SubExleftmargin+.5em} - \fi} - \EPGL@patchexpexgloss - \PackageInfo{expex-glossonly}{Patching ExPex for use with linguex} - \typeout{Patching ExPex for use with linguex} +\DeclareKeys[expex-glossonly] +{ +gb4e.code = { + \RequirePackage{gb4e} + \EPGL@examplesloadedtrue + \EPGL@patchexpexgloss + \lingset{belowglpreambleskip=-0.5ex, aboveglftskip=-0.5ex,everygla=\eachwordone} + \PackageInfo{expex-glossonly}{Patching ExPex for use with gb4e} + \typeout{Patching ExPex for use with gb4e} + }, +gb4e-emulate.code = { + \RequirePackage{gb4e-emulate} + \EPGL@examplesloadedtrue + \EPGL@patchexpexgloss + \lingset{belowglpreambleskip=-0.5ex, aboveglftskip=-0.5ex,everygla=\eachwordone} + \PackageInfo{expex-glossonly}{Patching ExPex for use with gb4e} + \typeout{Patching ExPex for use with gb4e} +}, +linguex.code = { + \RequirePackage{linguex} + \EPGL@examplesloadedtrue + \EPGL@patchexpexgloss + \lingset{belowglpreambleskip=-0.5ex, aboveglftskip=-0.5ex,everygla=\eachwordone} + \PackageInfo{expex-glossonly}{Patching ExPex for use with linguex} + \typeout{Patching ExPex for use with linguex} +}, +covington.code = { + \PassOptionsToPackage{covington}{#1} + \let\ex\relax + \RequirePackage{covington} + \EPGL@examplesloadedtrue + \EPGL@patchexpexgloss + \newcommand*{\EPGL@glosslineone}{% + \@ifundefined{glosslineone@global}{\glosslineone}{\glosslineone@global}} + \lingset{belowglpreambleskip=-0.5ex, aboveglftskip=-0.5ex,everygla=\EPGL@glosslineone} + \PackageInfo{expex-glossonly}{Patching ExPex for use with covington} + \typeout{Patching ExPex for use with covington} } -{\@ifpackageloaded{gb4e}{ - \def\EPGL@setglossmargin{% - \ifnum\@xnumdepth=1% - \setlength{\leftskip}{\leftmargin+\widthof{\@exwidth}+1em} - \else - \setlength{\leftskip}{\leftmargin+\labelwidth+\labelsep+1.5em} - \fi} - \EPGL@patchexpexgloss - \PackageInfo{expex-glossonly}{Patching ExPex for use with gb4e} - \typeout{Patching ExPex for use with gb4e} -}{}} } +\DeclareUnknownKeyHandler[expex-glossonly]{\PackageError{expex-glossonly}{Please specify which example package you are using as a package option!}{Please specify which example package you are using as a package option!}} + +\ProcessKeyOptions[expex-glossonly] +\ifEPGL@examplesloaded\else\PackageWarning{expex-glossonly}{No example package specified! Assuming ExPex}\fi + \endinput \ No newline at end of file diff --git a/macros/latex/contrib/expex-glossonly/expex-glossonly.tex b/macros/latex/contrib/expex-glossonly/expex-glossonly.tex index 5fc2a2e9d7..cc64244625 100644 --- a/macros/latex/contrib/expex-glossonly/expex-glossonly.tex +++ b/macros/latex/contrib/expex-glossonly/expex-glossonly.tex @@ -1,22 +1,17 @@ -% !TEX TS-program = pdflatexmk -\def\EPGLversion{0.6} -\def\EPGLdate{August 15, 2023} +% !TEX TS-program = lualatexmk +\def\EPGLversion{0.7} +\def\EPGLdate{August 17, 2023} \documentclass[11pt]{article} \title{\textbf{The \textsf{expex-glossonly} package}} \author{\textbf{Alan Munn}\\Department of Linguistics and Languages\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}} \date{Version \EPGLversion\\\EPGLdate} -\usepackage[T1]{fontenc} \usepackage[margin=1in,includefoot]{geometry} \usepackage{titling} -\usepackage[utf8]{inputenc} \usepackage{array, booktabs, multicol, fancyhdr, xspace,tabularx} \usepackage{enumitem} \usepackage{fancyvrb,listings,url} \usepackage[sf,compact]{titlesec} -\usepackage[]{he-she} -\usepackage{gb4e} \usepackage[colorlinks=true]{hyperref} -\noautomath \DefineShortVerb{\|} @@ -44,6 +39,7 @@ breakindent=1em, xrightmargin=2.5em, captionpos=t, + frame=tl, language=TeX, } @@ -68,33 +64,132 @@ \maketitle \thispagestyle{empty} \renewcommand{\abstractname}{\sffamily Abstract} -\abstract{\noindent\begin{quote}This is an experimental package which is designed to let \pkg{gb4e} and \pkg{linguex} package users use the advanced glossing capabilities of the very powerful ExPex package.\end{quote}} +\abstract{\noindent\begin{quote}This is an experimental package which is designed to let \pkg{gb4e}, \pkg{linguex} and \pkg{covington} package users use the advanced glossing capabilities of the very powerful ExPex package.\end{quote}} \section{Introduction} -The ExPex package by John Frampton provides very fine-grained control over glossing and example formatting, including unlimited gloss lines and various ways of formatting multiline glosses. By contrast the \pkg{cgloss4e} glossing macros provided with both \pkg{gb4e} and \pkg{linguex}, although very capable at basic glossing, lack the degree of customization that is sometimes needed for more complex glossing. +The ExPex package by John Frampton provides very fine-grained control over glossing and example formatting, including unlimited gloss lines and various ways of formatting multiline glosses. By contrast the \pkg{cgloss4e} glossing macros provided with both \pkg{gb4e} and \pkg{linguex}, and to some extent, the glossing macros of \pkg{covington} although very capable at basic glossing, lack the degree of customization that is sometimes needed for more complex glossing. -On the other hand, for those users who have heavily invested in using either \pkg{gb4e} or \pkg{linguex}, shifting to ExPex can be quite daunting and burdensome, especially since the basic syntax of the examples is quite different. +On the other hand, for those users who have heavily invested in using \pkg{gb4e}, \pkg{linguex}, or \pkg{covington}, shifting to ExPex can be quite daunting and burdensome, especially since the basic syntax of the examples is quite different. -This package is an attempt to have the best of both worlds: it allows \pkg{gb4e} and \pkg{linguex} users to keep using those packages for basic example numbering and formatting, but also allows them to use the glossing macros that ExPex provides. +This package is an attempt to have the best of both worlds: it allows \pkg{gb4e}, \pkg{linguex}, or \pkg{covington} users to keep using those packages for basic example numbering and formatting, but also allows them to use the glossing macros that ExPex provides. \section{Package usage} -Usage of the package is simple: simply load it, and then load your favourite example numbering package. The \pkg{expex-glossonly} package must be loaded first. +Usage of the package is simple: simply load it instead of your usual example numbering package, and specify as a package option which numbering package you're using. So for example. Four example numbering packages are currently supported: \pkg{gb4e}, \pkg{linguex}, \pkg{covington}, and \pkg{gb4e-emulate}. The latter is an experimental reimplementation of \pkg{gb4e} using \pkg{enumitem} and is not currently released to CTAN, but available on GitHub. Package options for loading \pkg{covington} can be given by adding them to the |covington| package option. Since they are an argument of the |covington| key, the set of options must be enclosed in |{...}|. -\begin{multicols}{2} +\begin{table} +\centering +\caption{Package loading options} +\begin{tabular}{l} +\toprule +\begin{lstlisting}[frame=none] +\usepackage[gb4e]{expex-glossonly} +\end{lstlisting}\\ +\begin{lstlisting}[frame=none] +\usepackage[linguex]{expex-glossonly} +\end{lstlisting}\\ +\begin{lstlisting}[frame=none] +\usepackage[covington={}]{expex-glossonly} +\end{lstlisting}\\ +\begin{lstlisting}[frame=none] +\usepackage[gb4e-emulate]{expex-glossonly} +\end{lstlisting}\\ +\bottomrule +\end{tabular} +\end{table} + +The package checks for which example numbering package you have loaded and then patches the main glossing macro in ExPex to adjust to the horizontal spacing parameters of the particular example package you loaded. + +It disables some incompatible commands from ExPex (specifically any commands that would introduce a numbered or lettered example, such as |\ex|, |\pex|, |\xe|) so you should not use them. Since it it is assumed that you will not be using ExPex for numbering, only for glosses, and parts of the ExPex code that deal with example numbering should be assumed not to work. + +The package does \emph{not} change the existing glossing macros of the base numbering package. This means that using the package does \emph{not} require you to use ExPex glossing macros for all your glossing. You can continue to use the glossing macros provided by the base numbering package. What this package does is \emph{extend} the capabilities of the base numbering package to allow you to use ExPex glosses as well as the regularly provided glossing facilities of the base package. +\section{Examples} +Here are some sample documents using the supported packages: + +\subsection{\pkg{gb4e}} +\begin{quote} \begin{lstlisting} -\usepackage{expex-glossonly} -\usepackage{gb4e} +\documentclass{article} +\usepackage[gb4e]{expex-glossonly} +\usepackage{cgloss} +\begin{document} + +\begin{exe} +\ex +\begin{xlist} +\ex[*]{ This is a regular example.} +\ex[]{\label{foo} + \begingl + \gla\rightcomment{(Hungarian)}János háza// + \glb John house.his// + \glft `John's house'// + \endgl +} +\ex[]{\gll János háza\\ + John house\\\hfill(Hungarian) + \glt `John's house' + } +\end{xlist} +\end{exe} + +\end{document} \end{lstlisting} +\end{quote} +\clearpage +\subsection{\pkg{linguex}} +\begin{quote} \begin{lstlisting} -\usepackage{expex-glossonly} -\usepackage{linguex} +\documentclass{article} + +\usepackage[linguex]{expex-glossonly} + +\begin{document} + +\ex. +\a. + \begingl + \gla\rightcomment{(Hungarian)}János háza// + \glb John house.his// + \glft `John's house'// + \endgl +\bg. János háza\\ + John house.his\\ + \glt `John's house' + +\end{document} \end{lstlisting} -\end{multicols} +\end{quote} +\subsection{\pkg{covington}} +\begin{quote} +\begin{lstlisting} +\documentclass{article} +\usepackage[covington]{expex-glossonly} + +\begin{document} -The package checks for which example numbering package you have loaded (either \pkg{gb4e} or \pkg{linguex}) and then patches the main glossing macro in ExPex to adjust to the horizontal spacing parameters of the particular example package you loaded. +\begin{examples} +\item An example +\item Another example +\end{examples} +\begin{subexamples} +\item + \begingl + \gla\rightcomment{(Hungarian)}János háza// + \glb John house.his// + \glft `John's house'// + \endgl +\item \digloss{János háza}[(Hungarian)] + {John house.his} + {`John's house} +\end{subexamples} +\end{document} +\end{lstlisting} +\end{quote} -It does nothing explicitly to disable incompatible commands from ExPex (specifically any commands that would introduce a numbered or lettered example, such as |\ex|, |\pex|, |\a|, etc.) so you should not use them. Some, such as |\ex| are redefined by \pkg{gb4e} and therefore the ExPex version of it will fail to work. For this reason, you need to make sure to load the \pkg{expex-glossonly} package \emph{before} you load \pkg{gb4e} or \pkg{linguex} -\section{Bugs} -This is \emph{experimental} and has not been extensively tested. Use at your own risk. You're welcome to contact me with problems as they arise, however. +\section{Bugs and support} +This is \emph{experimental} and has not been extensively tested. Use at your own risk. You're welcome to raise issues at the \href{https://github.com/amunn/expex-glossonly}{GitHub repository}, however. +\section{Version history} +The initial version of the package (0.6) supported only \pkg{linguex} and \pkg{gb4e}. Version 0.7 changed the loading interface to provide support for \pkg{covington} and added support for \pkg{gb4e-emulate}. +\section{Acknowledgements} +As always, thanks to the members of the LaTeX development team and other users who are always happy to answer questions in the \href{https://tex.stackexchange.com}{TeX.se} chat room. Thanks especially to Ulrike Fischer who told me of the magical |\@totalleftmargin| length. Thanks also to Jürgen Spitzmüller for discussion of the \pkg{covington} support. \end{document} \ No newline at end of file diff --git a/macros/latex/contrib/expex-glossonly/testfiles/covington-expex.pdf b/macros/latex/contrib/expex-glossonly/testfiles/covington-expex.pdf new file mode 100644 index 0000000000..f86b9e3b68 Binary files /dev/null and b/macros/latex/contrib/expex-glossonly/testfiles/covington-expex.pdf differ diff --git a/macros/latex/contrib/expex-glossonly/testfiles/covington-expex.tex b/macros/latex/contrib/expex-glossonly/testfiles/covington-expex.tex new file mode 100644 index 0000000000..f3375ad736 --- /dev/null +++ b/macros/latex/contrib/expex-glossonly/testfiles/covington-expex.tex @@ -0,0 +1,20 @@ +\documentclass{article} +\usepackage[covington]{expex-glossonly} + +\begin{document} + +\begin{examples} +\item An example +\item Another example +\end{examples} +\begin{subexamples} +\item \begingl + \gla\rightcomment{(Hungarian)}János háza// + \glb John house.his// + \glft `John's house'// + \endgl +\item \digloss{János háza}[(Hungarian)] + {John house.his} + {`John's house} +\end{subexamples} +\end{document} diff --git a/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.pdf b/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.pdf index 40b160303e..104dae2f80 100644 Binary files a/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.pdf and b/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.pdf differ diff --git a/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.tex b/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.tex index 8cdeed2f5d..b6709fead5 100644 --- a/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.tex +++ b/macros/latex/contrib/expex-glossonly/testfiles/gb4e-expex.tex @@ -1,48 +1,24 @@ \documentclass[12pt,letterpaper]{article} - -\usepackage{expex-glossonly} -\usepackage{amssymb} -\usepackage{gb4e} -%\usepackage{cgloss} - - -\lingset{everygla={\leftmargin=2in}, belowglpreambleskip=-0.5ex, aboveglftskip=-0.5ex} % gloss formatting - - +\usepackage[gb4e]{expex-glossonly} +\usepackage{cgloss} \begin{document} \begin{exe} +\ex +\begin{xlist} \ex[*]{ This is a regular example.} -\ex[*]{\label{foo} +\ex[]{\label{foo} \begingl - \glpreamble This is a preamble sentence.// - \gla\rightcomment{\small\checkmark X}J\'anos h\'aza// - \glb\rightcomment{\small\checkmark X}John house.his// + \gla\rightcomment{(Hungarian)}János háza// + \glb John house.his// \glft `John's house'// \endgl } -\ex This is another example. +\ex[]{\gll János háza\\ + John house\\\hfill(Hungarian) + \glt `John's house' + } +\end{xlist} \end{exe} -\begin{exe} -\ex\label{bar} -\begin{xlist} -\ex \begingl - \gla\rightcomment{\small\checkmark X}J\'anos h\'aza// - \glb\rightcomment{\small\checkmark X}John house.his// - \glft `John's house'// - \endgl -\ex \begingl - \gla\rightcomment{\small\checkmark X}J\'anos h\'aza// - \glb\rightcomment{\small\checkmark X}John house.his// - \glft `John's house'// - \endgl -\end{xlist} -\ex -\begin{xlist} -\ex An example\setcounter{xnumi}{0} -\ex Another example. -\end{xlist} -\end{exe} - \end{document} \ No newline at end of file diff --git a/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.pdf b/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.pdf index b52da13d57..f7d8140075 100644 Binary files a/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.pdf and b/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.pdf differ diff --git a/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.tex b/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.tex index 368a35f8f1..0a63e88d75 100644 --- a/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.tex +++ b/macros/latex/contrib/expex-glossonly/testfiles/linguex-expex.tex @@ -1,33 +1,18 @@ \documentclass[12pt,letterpaper]{article} -\usepackage{expex-glossonly} -\usepackage{amssymb} -\usepackage{linguex} -\usepackage{cgloss} - -\lingset{everygla={\leftmargin=2in}, belowglpreambleskip=-0.5ex, aboveglftskip=-0.5ex} % gloss formatting -\makeatletter +\usepackage[linguex]{expex-glossonly} \begin{document} -\ex. \ag. The boy didn't kiss the girl \\ -D boy AUX.NEG kiss D girl \\ \hfill {\small\checkmark X} -\trans `The boy did not kiss the girl'. \hfill {\small\checkmark X} - \ex. \a. \begingl - \gla\rightcomment{\small\checkmark X}J\'anos h\'aza// - \glb\rightcomment{\small\checkmark X}John house.his// - \glft `John's house'// - \endgl -\b. This is another example. - -\ex.\begingl - \gla\rightcomment{\small\checkmark X}J\'anos h\'aza// - \glb\rightcomment{\small\checkmark X}John house.his// + \gla\rightcomment{(Hungarian)}J\'anos h\'aza// + \glb John house.his// \glft `John's house'// \endgl - +\bg. János háza\\ + John house.his\\ + \glt `John's house' \end{document} \ No newline at end of file diff --git a/macros/latex/contrib/hebrew-fonts/README.md b/macros/latex/contrib/hebrew-fonts/README.md new file mode 100644 index 0000000000..2750e0e227 --- /dev/null +++ b/macros/latex/contrib/hebrew-fonts/README.md @@ -0,0 +1,31 @@ +hebrew-fonts +============= + +Font encoding definition files with *LaTeX internal character +representation* (LICR) macros for letters and symbols from the Hebrew +script and input encoding files for hebrew chacharacters. + +The included LaTeX package defines a number of high-level commands +(all starting with |\text..| similar to the standard \LaTeXe{} +font-change commands. + +**Version**: 1.2a + +**Copyright**: © 1997 -- 2005 Boris Lavva, © 2023 Udi Fogiel + +This work may be distributed and/or modified under the conditions of the +[LaTeX Project Public License](http://www.latex-project.org/lppl.txt), +either version 1.3 of this license or any later version. + + +Usage +----- + +Usually, the font encoding definition files are loaded via +[Babel's ``hebrew`` option](https://ctan.org/pkg/babel-hebrew), +or the culmus package. + +Requires text fonts supporting the hebrew script. +With 8-bit TeX/pdfTeX, the culmus package is recomended. + +For questions, bug reports, or help, please contact udifoglle@gmail.com. diff --git a/macros/latex/contrib/hebrew-fonts/hebfontenc.fdd b/macros/latex/contrib/hebrew-fonts/hebfontenc.fdd new file mode 100644 index 0000000000..2fca7f278a --- /dev/null +++ b/macros/latex/contrib/hebrew-fonts/hebfontenc.fdd @@ -0,0 +1,1035 @@ +% \iffalse meta-comment +% +% Hebrew language font encodings and definitions. +% Copyright (C) 1997 -- 2005 Boris Lavva and Johannes Braams. +% +% Copyright (C) 2023 Udi Fogiel. +% All rights reserved. +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Udi Fogiel. +% +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +% +% \iffalse +%\ProvidesFile{lheenc.def} +%\ProvidesFile{lhecmr.fd} +%\ProvidesFile{lhecmss.fd} +%\ProvidesFile{lhecmtt.fd} +%\ProvidesFile{lheclas.fd} +%\ProvidesFile{lheshold.fd} +%\ProvidesFile{lheshscr.fd} +%\ProvidesFile{lheshstk.fd} +%\ProvidesFile{lhefr.fd} +%\ProvidesFile{lhecrml.fd} +%\ProvidesFile{lheredis.fd} +%\ProvidesFile{he8enc.def} +%\ProvidesFile{nhe8enc.def} +% The recoded Omega font (only Hebrew glyphs. Lacks other glyphs) +%\ProvidesFile{HE8OmegaHebrew.fd} +%\ProvidesPackage{hebfont} +%<*driver> +\ProvidesFile{hebfontenc.drv} +% +% \fi +% \ProvidesFile{hebfontenc.fdd} + [2023/08/17 v1.3a % +% \iffalse +% 7-bit Hebrew font encoding +% Hebrew default font +% Hebrew sans-serif font +% Hebrew typewriter font +% Hebrew classic font (by Joel M. Hoffman) +% Hebrew shalom old font (by Jonathan Brecher) +% Hebrew shalom script font (by Jonathan Brecher) +% Hebrew shalom stick font (by Jonathan Brecher) +% Hebrew frank-ruehl font +% Hebrew carmel font (by Dr. Samy Zafrany) +% Hebrew redis font (by Prof. Jacques J. Goldberg) +% 8-bit Hebrew font encoding +% 8-bit Hebrew font encoding +% Hebrew font from the Omega project (by ???) +% Hebrew font switching commands +% Driver file for hebfontenc.fdd file +% \fi +% Hebrew font encodings support + (test version: still liable to change)] +% +% \font\manual=logo10 +% \providecommand\MF{{\manual META}\-{\manual FONT}} +% \providecommand\PS{\textsc{PostScript}} +% \providecommand\dst{\textsc{docstrip}} +% \providecommand\LHE{\texttt{LHE}} +% \providecommand\HEH{\texttt{HE8}} +% \providecommand\NHE{\texttt{NHE8}} +% \providecommand\file[1]{\texttt{#1}} +% \providecommand\pkg[1]{\texttt{#1}} +% \GetFileInfo{hebfontenc.fdd} +% +% \changes{hebfdd-1.0a}{1998/01/01}{% +% Initial version. Supports only 7-bit LHE font encoding and all +% available Hebrew \TeX\ fonts (by Boris Lavva)} +% \changes{hebfdd-1.0b}{2001/08/16}{% +% fixed lhecmr.fd to use oldjaf10 for a slanted font +% available Hebrew \TeX\ fonts (by Tzafrir Cohen)} +% \changes{hebfdd-1.1a}{2001/08/16}{% +% Adding 8-bit HE8 fonts. Note that most of them cannot be distributed +% with heb\LaTeX\ (by Tzafrir Cohen)} +% \changes{hebfdd-1.2a}{2003/08/19}{% +% Adding configurations for the Culmus fonts, currently 0.90 +% (by Tzafrir Cohen)} +% \changes{hebfdd-1.2b}{2004/02/20}{Reinstated the test whether LHE or +% HE8 is to be used} +% +% \changes{hebrew-1.2c}{2005/05/18}{Typo's in the docstrip guards made +% HE8nachlieli.fd unusable} +% +% \changes{hebrew-1.3}{2023/08/16}{made file name in providesfile lowercase, +% moved the culmus definition files to the culmus package} +% +% \section{Hebrew font encodings}\label{sec:hebfdd} +% +% The file \file{\filename}\footnote{The files described in this +% section have version number \fileversion{} and were last revised +% on \filedate.} contains the Local Hebrew Encoding (\LHE) +% definition, the external font information needed to use the +% Hebrew 7-bit fonts (old code fonts) and \pkg{hebfont} package +% that provides Hebrew font switching commands. +% +% Using this file as an input, |lheenc.def| encoding definition +% file, all |.fd| files (font definition files) and font switching +% package for available Hebrew fonts are generated. We chose to use +% 7-bit encoding as default font encoding, because: +% \begin{enumerate} +% \item There are many 7-bit encoded Hebrew fonts available, more +% then for any other encoding. +% \item Available \TeX{} Hebrew fonts do not include latin +% alphabet, and we can safely map Hebrew glyphs to the +% \texttt{ASCII} positions (0 -- 127). +% \end{enumerate} +% +% Current definition of the \LHE{} encoding supports only Hebrew +% letters (|\hebalef|--|\hebtav|), but not Hebrew points, such as +% |\hebdagesh|, |\hebqamats|, |\hebpatah|, |\hebshindot|, etc. We +% are working now on such addition. +% +% \StopEventually{} +% +% \iffalse +% \section{A driver for this document} +% +% The next bit of code contains the documentation driver file for +% \TeX{}, i.e., the file that will produce the documentation you are +% currently reading. It will be extracted from this file by the \dst{} +% program. +% +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\title{Hebrew font encodings for use with \LaTeXe} +\author{Boris Lavva\and Udi Fogiel} +\date{Printed \today} +\begin{document} + \maketitle + \DocInput{hebfontenc.fdd} +\end{document} +% +% \end{macrocode} +% \fi +% +% \section{The {\normalfont\dst{}} modules} +% +% The following modules are used in the implementation to direct +% \dst{} in generating external files: +% \begin{center} +% \begin{tabular}{@{}ll} +% driver & produce a documentation driver file \\[4pt] +% HE8enc & produce the encoding definition for CodePage 1255 +% (\HEH)\\[4pt] +% HE8OmegaHebrew & Hebrew font from the Omega project (by ???)\\ +% HE8CourierShalom & Hebrew Shalom (Courier) font (by IBM)\\ +% HE8HelveticaNarkissTam &Hebrew NarkisTam (Helvetica) (by Zvi Narkis)\\ +% HE8TimesNarkissim & Hebrew Narkissim (Times) (by Zvi Narkis) \\ +% HE8mfdavid & Hebrew David font (by ???)\\ +% HE8mffrank & Hebrew Frank-Ruehl font (by ??)\\ +% HE8mffrankthick & Hebrew Frank-Ruehl (thick) font (by ??)\\ +% HE8mffrankthin & Hebrew Frank-Ruehl (thin) font (by ??)\\ +% HE8mfmiriam & Hebrew Miriam font (by ???)\\ +% HE8mfmiriamwide & Hebrew Miriam (wide) font (by ???)\\ +% HE8mfnarkistam & Hebrew Narkis Tam font (by ???)\\ +% LHEenc & produce the encoding definition for Local Hebrew +% Encoding (\LHE)\\[4pt] +% LHEcmr & make Hebrew default font in \LHE\\ +% LHEcmss & make Hebrew sans-serif font in \LHE\\ +% LHEcmtt & make Hebrew typewriter font in \LHE\\ +% LHEclas & make Hebrew classic font (by Joel M.~Hoffman) in \LHE\\ +% LHEshold & make Hebrew shalom old font (by Jonathan Brecher) +% in \LHE\\ +% LHEshscr & make Hebrew shalom script font (by Jonathan Brecher) +% in \LHE\\ +% LHEshstk & make Hebrew shalom stick font (by Jonathan Brecher) +% in \LHE\\ +% LHEfr & make Hebrew frank-ruehl font in \LHE\\ +% LHEcrml & make Hebrew carmel font (by Dr. Samy Zafrany) in \LHE\\ +% LHEredis & make Hebrew redis font (by Prof. Jacques J.~Goldberg) +% in \LHE\\[4pt] +% nowarn & option for font definition files, that used\\ +% & to produce ``silent'' font substitutions without +% giving warnings\\[4pt] +% hebfont & create Hebrew font switching commands package +% \end{tabular} +% \end{center} +% A typical \dst{} command file would then have entries like: +%\begin{verbatim} +%\generateFile{lhecmr.fd}{t}{\from{hebfontenc.fdd}{LHEcmr,nowarn}} +%\end{verbatim} +% +% \section{The \LHE encoding definition file} +% +% The Hebrew font encoding \LHE{} is based upon the old-code encoding +% also known as the Israeli Standard SI-960. Many Hebrew \TeX{} +% fonts from the Hebrew University of Jerusalem are encoded +% in this encoding. It only uses the lower 128 positions of the font +% table. As local encoding its name start with the letter `L'. +% +% First we define the Local Hebrew Encoding and specify a default +% for the font substitution process for the \LHE{} encoding. +% +% \begin{macrocode} +%<*LHEenc> +\DeclareFontEncoding{LHE}{}{} +\DeclareFontSubstitution{LHE}{cmr}{m}{n} +% +% \end{macrocode} +% Then we define a few commands in the \LHE{} encoding. +% \begin{macrocode} +%<*LHEenc> +\ProvideTextCommand{\textcopyright}{LHE}{\textcircled{\@latin{c}}} +\ProvideTextCommand{\textregistered}{LHE}{\textcircled{\scshape% + \@latin{r}}} +\ProvideTextCommand{\texttrademark}{LHE}{\textsuperscript{\@latin{TM}}} +% +% \end{macrocode} +% +% Because not everyone can input Hebrew input text directly from +% the keyboard we need to define control sequences for all the +% Hebrew glyphs in the fonts. In addition, we want to support +% many input encodings for Hebrew and to keep the language +% definition file (|hebrew.ldf|) independent of the +% encoding. Therefore, we exploit the standard \LaTeXe{} font +% encoding mechanism to define control sequences for all the Hebrew +% glyphs in the fonts in encoding-specific way. The language +% definition file uses only the control sequences and doesn't need +% to check the current font or input encoding. +% +% In the \LHE{} encoding (7-bit encoding) all the Hebrew glyphes +% reside in the \emph{lower} half of the font. Currently, only the +% Hebrew letters are supported. They use the same positions as the +% latin small letters in |ASCII| encoding and the position of |`|. +% +% The symbol |`| (glyph 96) is used by Hebrew letter \emph{Alef}, +% so we need to define its |lccode| to allow hyphenation. All other +% letters retain the same |lccode|s as their latin counterparts. +% \begin{macrocode} +%<+LHEenc>\lccode``=`` +% \end{macrocode} +% Hebrew letters occupy the positions 96--122 in \LHE{} encoding: +% \begin{macrocode} +%<*LHEenc> +\DeclareTextSymbol{\hebalef}{LHE}{96} +\DeclareTextSymbol{\hebbet}{LHE}{97} +\DeclareTextSymbol{\hebgimel}{LHE}{98} +\DeclareTextSymbol{\hebdalet}{LHE}{99} +\DeclareTextSymbol{\hebhe}{LHE}{100} +\DeclareTextSymbol{\hebvav}{LHE}{101} +\DeclareTextSymbol{\hebzayin}{LHE}{102} +\DeclareTextSymbol{\hebhet}{LHE}{103} +\DeclareTextSymbol{\hebtet}{LHE}{104} +\DeclareTextSymbol{\hebyod}{LHE}{105} +\DeclareTextSymbol{\hebfinalkaf}{LHE}{106} +\DeclareTextSymbol{\hebkaf}{LHE}{107} +\DeclareTextSymbol{\heblamed}{LHE}{108} +\DeclareTextSymbol{\hebfinalmem}{LHE}{109} +\DeclareTextSymbol{\hebmem}{LHE}{110} +\DeclareTextSymbol{\hebfinalnun}{LHE}{111} +\DeclareTextSymbol{\hebnun}{LHE}{112} +\DeclareTextSymbol{\hebsamekh}{LHE}{113} +\DeclareTextSymbol{\hebayin}{LHE}{114} +\DeclareTextSymbol{\hebfinalpe}{LHE}{115} +\DeclareTextSymbol{\hebpe}{LHE}{116} +\DeclareTextSymbol{\hebfinaltsadi}{LHE}{117} +\DeclareTextSymbol{\hebtsadi}{LHE}{118} +\DeclareTextSymbol{\hebqof}{LHE}{119} +\DeclareTextSymbol{\hebresh}{LHE}{120} +\DeclareTextSymbol{\hebshin}{LHE}{121} +\DeclareTextSymbol{\hebtav}{LHE}{122} +% +% \end{macrocode} +% Letter |\hebsin| is defined as a synonym of |\hebshin|: +% \begin{macrocode} +%<+LHEenc>\let\hebsin=\hebshin +% \end{macrocode} +% +% \section{The font definition files (in \LHE{} encoding)} +% +% \subsection{Hebrew default font} +% +% It uses \emph{Jerusalem} font for regular font, \emph{Old +% Jaffa} font for italic shape and small-caps, \emph{Dead Sea} +% font for bold face, and \emph{Tel-Aviv} for bold-italic +% \begin{macrocode} +%<*LHEcmr> +\DeclareFontFamily{LHE}{cmr}{\hyphenchar\font45} +\DeclareFontShape{LHE}{cmr}{m}{n} + {<-> jerus10 }{} +%%%%%%% Italicized shape +\DeclareFontShape{LHE}{cmr}{m}{it} + {<-> oldjaf10 }{} +\DeclareFontShape{LHE}{cmr}{m}{sl} + {<-> oldjaf10 }{} +\DeclareFontShape{LHE}{cmr}{m}{sc} + {<-> oldjaf10 }{} +%%%%%%% Bold extended series +\DeclareFontShape{LHE}{cmr}{bx}{n} + {<-> deads10 }{} +\DeclareFontShape{LHE}{cmr}{b}{n} + {<-> deads10 }{} +%%%%%%% Bold extended (Italic) series +\DeclareFontShape{LHE}{cmr}{bx}{sl} + {<-> telav10 }{} +\DeclareFontShape{LHE}{cmr}{bx}{it} + {<-> telav10 }{} +% +% \end{macrocode} +% +% \subsection{Hebrew sans-serif font} +% +% We use \emph{Tel Aviv} font for the Sans family. \emph{Old +% Jaffa} font is used for italic shape and \emph{Dead Sea} +% used for bold face. +% \begin{macrocode} +%<*LHEcmss> +\DeclareFontFamily{LHE}{cmss}{\hyphenchar\font45} +\DeclareFontShape{LHE}{cmss}{m}{n} + {<-> telav10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmss}{m}{sc} +%<-nowarn> {<->sub * cmss/m/n}{} +%<+nowarn> {<->ssub * cmss/m/n}{} +%%%%%%% Italicized shape +\DeclareFontShape{LHE}{cmss}{m}{it} + {<-> oldjaf10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmss}{m}{sl} +%<-nowarn> {<->sub * cmss/m/it}{} +%<+nowarn> {<->ssub * cmss/m/it}{} +%%%%%%% Bold extended series +\DeclareFontShape{LHE}{cmss}{bx}{n} + {<-> deads10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmss}{b}{n} +%<-nowarn> {<->sub * cmss/bx/n}{} +%<+nowarn> {<->ssub * cmss/bx/n}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmss}{bx}{sl} +%<-nowarn> {<->sub * cmss/bx/n}{} +%<+nowarn> {<->ssub * cmss/bx/n}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmss}{bx}{it} +%<-nowarn> {<->sub * cmss/bx/n}{} +%<+nowarn> {<->ssub * cmss/bx/n}{} +% +% \end{macrocode} +% +% \subsection{Hebrew typewriter font} +% +% We use \emph{Tel Aviv} font as the typewriter font. \emph{Old +% Jaffa} font is used for italic shape and \emph{Dead Sea} +% used for bold face. +% \begin{macrocode} +%<*LHEcmtt> +\DeclareFontFamily{LHE}{cmtt}{\hyphenchar \font\m@ne} +\DeclareFontShape{LHE}{cmtt}{m}{n} + {<-> telav10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmtt}{m}{sc} +%<-nowarn> {<->sub * cmtt/m/n}{} +%<+nowarn> {<->ssub * cmtt/m/n}{} +%%%%%%% Italicized shape +\DeclareFontShape{LHE}{cmtt}{m}{it} + {<-> oldjaf10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmtt}{m}{sl} +%<-nowarn> {<->sub * cmtt/m/it}{} +%<+nowarn> {<->ssub * cmtt/m/it}{} +%%%%%%% Bold extended series +\DeclareFontShape{LHE}{cmtt}{bx}{n} + {<-> deads10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{cmtt}{bx}{it} +%<-nowarn> {<->sub * cmtt/bx/n}{} +%<+nowarn> {<->ssub * cmtt/bx/n}{} +% +% \end{macrocode} +% +% \subsection{Hebrew classic font} +% +% \emph{Hclassic} and \emph{hcaption} fonts are distributed freely +% from |CTAN| sites and copyrighted by Joel M.~Hoffman, of 19 +% Hillcrest Lane, Rye, NY 10580 USA, e-mail: +% |72700.402@compuserve.com|. +% +% Hclassic is a modernized Classical Hebrew font (in the same way +% that Knuth's |cmr| family is a modernized Roman font --- but his +% fonts are much nicer). Hcaption is a slanted version of hclassic +% font. Both fonts contain all of the Hebrew consonants, +% the (rarely used) ligature \emph{alef-lamed} and two versions of +% the letter \emph{ayin} for use with and without +% vowels. Hclassic also contains all of the vowels found in Hebrew, +% a symbol for \emph{meteg}, and dots for use as a \emph{dagesh} +% and for differentiating \emph{shin} and \emph{sin} letters. +% +% Currently, only the Hebrew consonants (\emph{hebalef} -- \emph{hebtav}) +% from these fonts are supported by \LaTeXe{}, however one can use +% vowels and dots directly with \PlainTeX{} macros. We are working +% on generic vowels and dots support for \LaTeXe. +% +% \begin{macrocode} +%<*LHEclas> +\DeclareFontFamily{LHE}{clas}{} +\DeclareFontShape{LHE}{clas}{m}{n} + {<-> s * [0.83345] hclassic }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{clas}{m}{sc} +%<-nowarn> {<->sub * clas/m/n}{} +%<+nowarn> {<->ssub * clas/m/n}{} +%%%%%%% Slanted shape +\DeclareFontShape{LHE}{clas}{m}{sl} + {<-> s * [0.69389] hcaption }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{clas}{m}{it} +%<-nowarn> {<->sub * clas/m/sl}{} +%<+nowarn> {<->ssub * clas/m/sl}{} +% +% \end{macrocode} +% +% \subsection{Hebrew shalom fonts} +% +% All three shalom fonts (\emph{ShalomScript10}, +% \emph{ShalomStick10} and \emph{ShalomOldStyle10}) have been +% created by Jonathan Brecher, of 9 Skyview Road, Lexington, MA +% 02173-1112 USA, e-mail: |brecher@husc.harvard.edu|. +% +% All shalom fonts have been written in \PS{} via Fontographer on a +% Mac. The fonts have been converted to \MF{} by Rama Porrat +% (e-mail: |rama@cc.huji.ac.il|), using +% the utility typo, a font editor + converter between font formats +% (a commercial product). |ShalomScript10.mf| is the \MF{} +% equivalent of |ShalomScript.ps|, |ShalomStick10.mf| came from +% |ShalomStick.ps| and |ShalomOldStyle10.mf| originated in +% |ShalomOldStyle.ps|. +% +% The fonts differ in the letters' style. ShalomScript10 contains +% hand writing Hebrew letters; ShalomStick10 contains sans-serif +% letters, and ShalomOldStyle10 contains old style letters. All +% three fonts contain vowels and dots (nikud). While converting to +% \MF{}, letters and symbols within the fonts have been arranged +% so as to get a usable font for writing Hebrew documents in \TeX{} +% or \LaTeX{}, with as well as without vowels. +% +% Currently, only the Hebrew consonants (\emph{hebalef} -- \emph{hebtav}) +% from these fonts are supported by \LaTeXe{}, however one can use +% vowels and dots directly with \PlainTeX{} macros. We are working +% on generic vowels and dots support for \LaTeXe. +% +% \begin{macrocode} +%<*LHEshold> +\DeclareFontFamily{LHE}{shold}{} +\DeclareFontShape{LHE}{shold}{m}{n} + {<-> shold10 }{} +% +%<*LHEshscr> +\DeclareFontFamily{LHE}{shscr}{} +\DeclareFontShape{LHE}{shscr}{m}{n} + {<-> shscr10 }{} +% +%<*LHEshstk> +\DeclareFontFamily{LHE}{shstk}{} +\DeclareFontShape{LHE}{shstk}{m}{n} + {<-> shstk10 }{} +% +% \end{macrocode} +% +% \subsection{Hebrew frank-ruehl font} +% +% \emph{Frank Ruehl} font was written in \MF{} and includes three +% shapes: regular, bold extaneded and slanted. +% +% \begin{macrocode} +%<*LHEfr> +\DeclareFontFamily{LHE}{fr}{} +\DeclareFontShape{LHE}{fr}{m}{n} + {<-> fr }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{fr}{m}{sc} +%<-nowarn> {<->sub * fr/m/n}{} +%<+nowarn> {<->ssub * fr/m/n}{} +%%%%%%% Slanted shape +\DeclareFontShape{LHE}{fr}{m}{sl} + {<-> frsl }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{fr}{m}{it} +%<-nowarn> {<->sub * fr/m/sl}{} +%<+nowarn> {<->ssub * fr/m/sl}{} +%%%%%%% Bold extended series +\DeclareFontShape{LHE}{fr}{bx}{n} + {<-> frbx }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{fr}{b}{n} +%<-nowarn> {<->sub * fr/bx/n}{} +%<+nowarn> {<->ssub * fr/bx/n}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{fr}{bx}{sl} +%<-nowarn> {<->sub * fr/bx/n}{} +%<+nowarn> {<->ssub * fr/bx/n}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{fr}{bx}{it} +%<-nowarn> {<->sub * fr/bx/n}{} +%<+nowarn> {<->ssub * fr/bx/n}{} +% +% \end{macrocode} +% +% \subsection{Hebrew carmel font} +% +% \emph{Carmel} font includes regular and slanted shapes. It was +% created by Dr.~Samy Zafrany of the Technion, Haifa, Israel with +% the intention of making nice fonts for headers and emphasized +% text. +% +% \begin{macrocode} +%<*LHEcrml> +\DeclareFontFamily{LHE}{crml}{} +\DeclareFontShape{LHE}{crml}{m}{n} + {<-> crml10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{crml}{m}{sc} +%<-nowarn> {<->sub * crml/m/n}{} +%<+nowarn> {<->ssub * crml/m/n}{} +%%%%%%% Slanted shape +\DeclareFontShape{LHE}{crml}{m}{sl} + {<-> crmlsl10 }{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{crml}{m}{it} +%<-nowarn> {<->sub * crml/m/sl}{} +%<+nowarn> {<->ssub * crml/m/sl}{} +% +% \end{macrocode} +% +% \subsection{Hebrew redis font} +% +% \emph{Redis} font has been created by Prof.~Jacques J.~Goldberg +% of the Technion. Haifa, Israel. The font is available in regular, +% slanted and bold extanded shapes. This font contains a full set +% of Hebrew letters in a ``sans-serif vectorized'' style, and +% selected punctuation. +% +% \begin{macrocode} +%<*LHEredis> +\DeclareFontFamily{LHE}{redis}{} +\DeclareFontShape{LHE}{redis}{m}{n}{% + <5> <6> redis7 + <7> <8> <9> <10> <12> gen * redis + <10.95> redis10 + <14.4> redis12 + <17.28> <20.74> <24.88> redis17}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{redis}{m}{sc} +%<-nowarn> {<->sub * redis/m/n}{} +%<+nowarn> {<->ssub * redis/m/n}{} +%%%%%%% Slanted shape +\DeclareFontShape{LHE}{redis}{m}{sl}{% + <5> <6> <7> rediss8 + <8> <9> <10> <12> gen * rediss + <10.95> rediss10 + <14.4> <17.28> <20.74> <24.88> rediss12}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{redis}{m}{it} +%<-nowarn> {<->sub * redis/m/sl}{} +%<+nowarn> {<->ssub * redis/m/sl}{} +%%%%%%% Bold extended series +\DeclareFontShape{LHE}{redis}{bx}{n}{% + <5> <6> <7> <8> <9> <10> <10.95> <12> + <14.4> <17.28> <20.74> <24.88> redisb10}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{redis}{b}{n} +%<-nowarn> {<->sub * redis/bx/n}{} +%<+nowarn> {<->ssub * redis/bx/n}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{redis}{bx}{sl} +%<-nowarn> {<->sub * redis/bx/n}{} +%<+nowarn> {<->ssub * redis/bx/n}{} +%%%%%%% Font/shape undefined, therefore substituted +\DeclareFontShape{LHE}{redis}{bx}{it} +%<-nowarn> {<->sub * redis/bx/n}{} +%<+nowarn> {<->ssub * redis/bx/n}{} +% +% \end{macrocode} +% +% \section{The \HEH encoding definition file} +% +% The Hebrew font encodings \HEH{} and \NHE{} are based upon an extention by +% Microsoft to the ISO-8859-8 standard. This is an 8bit encoding. The +% extentions include hebrew points (``Nikud''). +% +% First we define the \NHE{} encoding; +% +% \begin{macrocode} +%<*NHE8enc> +\DeclareFontEncoding{NHE8}{}{} +\DeclareFontSubstitution{NHE8}{cmr}{m}{n} + +\DeclareTextSymbol{\quotesinglbase}{NHE8}{13} +\DeclareTextSymbol{\textquoteleft}{NHE8}{14} +\DeclareTextSymbol{\textquoteright}{NHE8}{15} +\DeclareTextSymbol{\textquotedblleft}{NHE8}{16} +\DeclareTextSymbol{\textquotedblright}{NHE8}{17} +\DeclareTextSymbol{\quotedblbase}{NHE8}{18} +\DeclareTextSymbol{\textquotedbl}{NHE8}{34} +\DeclareTextSymbol{\textdollar}{NHE8}{36} +\DeclareTextSymbol{\textless}{NHE8}{60} +\DeclareTextSymbol{\textgreater}{NHE8}{62} +\DeclareTextSymbol{\textbackslash}{NHE8}{92} +\DeclareTextSymbol{\textasciicircum}{NHE8}{94} +\DeclareTextSymbol{\textbraceleft}{NHE8}{123} +\DeclareTextSymbol{\textbraceright}{NHE8}{125} +\DeclareTextSymbol{\textasciitilde}{NHE8}{126} +\DeclareTextSymbol{\shekel}{NHE8}{165} +\DeclareTextSymbol{\pounds}{NHE8}{191} +\DeclareTextSymbol{\sheva}{NHE8}{192} +\DeclareTextSymbol{\hatafsegol}{NHE8}{193} +\DeclareTextSymbol{\hatafpatah}{NHE8}{194} +\DeclareTextSymbol{\hatafqamats}{NHE8}{195} +\DeclareTextSymbol{\hiriq}{NHE8}{196} +\DeclareTextSymbol{\tsere}{NHE8}{197} +\DeclareTextSymbol{\segol}{NHE8}{198} +\DeclareTextSymbol{\patah}{NHE8}{199} +\DeclareTextSymbol{\qamats}{NHE8}{200} +\DeclareTextSymbol{\holam}{NHE8}{201} +\DeclareTextSymbol{\qubuts}{NHE8}{203} +\DeclareTextSymbol{\dagesh}{NHE8}{204} +\DeclareTextSymbol{\meteg}{NHE8}{205} +\DeclareTextSymbol{\maqaf}{NHE8}{206} +\DeclareTextSymbol{\rafe}{NHE8}{207} +\DeclareTextSymbol{\paseq}{NHE8}{208} +\DeclareTextSymbol{\shindot}{NHE8}{209} +\DeclareTextSymbol{\sindot}{NHE8}{210} +\DeclareTextSymbol{\sofpasuq}{NHE8}{211} +\DeclareTextSymbol{\doublevav}{NHE8}{212} +\DeclareTextSymbol{\vavyod}{NHE8}{213} +\DeclareTextSymbol{\doubleyod}{NHE8}{214} +\DeclareTextSymbol{\hebalef}{NHE8}{224} +\DeclareTextSymbol{\hebbet}{NHE8}{225} +\DeclareTextSymbol{\hebgimel}{NHE8}{226} +\DeclareTextSymbol{\hebdalet}{NHE8}{227} +\DeclareTextSymbol{\hebhe}{NHE8}{228} +\DeclareTextSymbol{\hebvav}{NHE8}{229} +\DeclareTextSymbol{\hebzayin}{NHE8}{230} +\DeclareTextSymbol{\hebhet}{NHE8}{231} +\DeclareTextSymbol{\hebtet}{NHE8}{232} +\DeclareTextSymbol{\hebyod}{NHE8}{233} +\DeclareTextSymbol{\hebfinalkaf}{NHE8}{234} +\DeclareTextSymbol{\hebkaf}{NHE8}{235} +\DeclareTextSymbol{\heblamed}{NHE8}{236} +\DeclareTextSymbol{\hebfinalmem}{NHE8}{237} +\DeclareTextSymbol{\hebmem}{NHE8}{238} +\DeclareTextSymbol{\hebfinalnun}{NHE8}{239} +\DeclareTextSymbol{\hebnun}{NHE8}{240} +\DeclareTextSymbol{\hebsamekh}{NHE8}{241} +\DeclareTextSymbol{\hebayin}{NHE8}{242} +\DeclareTextSymbol{\hebfinalpe}{NHE8}{243} +\DeclareTextSymbol{\hebpe}{NHE8}{244} +\DeclareTextSymbol{\hebfinaltsadi}{NHE8}{245} +\DeclareTextSymbol{\hebtsadi}{NHE8}{246} +\DeclareTextSymbol{\hebqof}{NHE8}{247} +\DeclareTextSymbol{\hebresh}{NHE8}{248} +\DeclareTextSymbol{\hebshin}{NHE8}{249} +\DeclareTextSymbol{\hebtav}{NHE8}{250} +\let\hebsin=\hebshin +% +% \end{macrocode} +% +% Now the definition of \HEH; +% +% \begin{macrocode} +%<*HE8enc> +\DeclareFontEncoding{HE8}{}{} +\DeclareFontSubstitution{HE8}{cmr}{m}{n} +% +% \end{macrocode} +% Then we define a few commands in the \HEH{} encoding. +% \begin{macrocode} +%<*HE8enc> +\ProvideTextCommand{\textcopyright}{HE8}{\textcircled{\@latin{c}}} +\ProvideTextCommand{\textregistered}{HE8}{\textcircled{\scshape% + \@latin{r}}} +\ProvideTextCommand{\texttrademark}{HE8}{\textsuperscript{\@latin{TM}}} +% +% \end{macrocode} +% +% \subsection{CHECK HERE FOR HE8 UPDATES} +% +% Because not everyone can input Hebrew input text directly from +% the keyboard we need to define control sequences for all the +% Hebrew glyphs in the fonts. In addition, we want to support +% many input encodings for Hebrew and to keep the language +% definition file (|hebrew.ldf|) independent of the +% encoding. Therefore, we exploit the standard \LaTeXe{} font +% encoding mechanism to define control sequences for all the Hebrew +% glyphs in the fonts in encoding-specific way. The language +% definition file uses only the control sequences and doesn't need +% to check the current font or input encoding. +% +% % In the \LHE{} encoding (7-bit encoding) all the Hebrew glyphes +% % reside in the \emph{lower} half of the font. Currently, only the +% % Hebrew letters are supported. They use the same positions as the +% % latin small letters in |ASCII| encoding and the position of |`|. +% +% Some general symbols: +% \begin{macrocode} +%<*HE8enc> +\ProvideTextCommand{\textcopyright}{HE8}{\textcircled{\@latin{c}}} +\ProvideTextCommand{\textregistered}{HE8}{\textcircled{\scshape% + \@latin{r}}} +\ProvideTextCommand{\texttrademark}{HE8}{\textsuperscript{\@latin{TM}}} +% +% \end{macrocode} +% +% The hebrew points: +% \begin{macrocode} +%<*HE8enc> +\DeclareTextSymbol{\sheva}{HE8}{192} +\DeclareTextSymbol{\hatafsegol}{HE8}{193} +\DeclareTextSymbol{\hatafpatah}{HE8}{194} +\DeclareTextSymbol{\hatafqamats}{HE8}{195} +\DeclareTextSymbol{\hiriq}{HE8}{196} +\DeclareTextSymbol{\tsere}{HE8}{197} +\DeclareTextSymbol{\segol}{HE8}{198} +\DeclareTextSymbol{\patah}{HE8}{199} +\DeclareTextSymbol{\qamats}{HE8}{200} +\DeclareTextSymbol{\holam}{HE8}{201} +\DeclareTextSymbol{\qubuts}{HE8}{203} +\DeclareTextSymbol{\dagesh}{HE8}{204} +\DeclareTextSymbol{\meteg}{HE8}{205} +\DeclareTextSymbol{\maqaf}{HE8}{206} +\DeclareTextSymbol{\rafe}{HE8}{207} +\DeclareTextSymbol{\paseq}{HE8}{208} +\DeclareTextSymbol{\shindot}{HE8}{209} +\DeclareTextSymbol{\sindot}{HE8}{210} +\DeclareTextSymbol{\sofpasuq}{HE8}{211} +\DeclareTextSymbol{\doublevav}{HE8}{212} +\DeclareTextSymbol{\vavyod}{HE8}{213} +\DeclareTextSymbol{\doubleyod}{HE8}{214} +% +% \end{macrocode} +% +% Hebrew letters occupy the positions 224--250 in \HEH{} encoding [WHAT +% ABOUT OTHER MARKS]: +% \begin{macrocode} +%<*HE8enc> +\DeclareTextSymbol{\hebalef}{HE8}{224} +\DeclareTextSymbol{\hebbet}{HE8}{225} +\DeclareTextSymbol{\hebgimel}{HE8}{226} +\DeclareTextSymbol{\hebdalet}{HE8}{227} +\DeclareTextSymbol{\hebhe}{HE8}{228} +\DeclareTextSymbol{\hebvav}{HE8}{229} +\DeclareTextSymbol{\hebzayin}{HE8}{230} +\DeclareTextSymbol{\hebhet}{HE8}{231} +\DeclareTextSymbol{\hebtet}{HE8}{232} +\DeclareTextSymbol{\hebyod}{HE8}{233} +\DeclareTextSymbol{\hebfinalkaf}{HE8}{234} +\DeclareTextSymbol{\hebkaf}{HE8}{235} +\DeclareTextSymbol{\heblamed}{HE8}{236} +\DeclareTextSymbol{\hebfinalmem}{HE8}{237} +\DeclareTextSymbol{\hebmem}{HE8}{238} +\DeclareTextSymbol{\hebfinalnun}{HE8}{239} +\DeclareTextSymbol{\hebnun}{HE8}{240} +\DeclareTextSymbol{\hebsamekh}{HE8}{241} +\DeclareTextSymbol{\hebayin}{HE8}{242} +\DeclareTextSymbol{\hebfinalpe}{HE8}{243} +\DeclareTextSymbol{\hebpe}{HE8}{244} +\DeclareTextSymbol{\hebfinaltsadi}{HE8}{245} +\DeclareTextSymbol{\hebtsadi}{HE8}{246} +\DeclareTextSymbol{\hebqof}{HE8}{247} +\DeclareTextSymbol{\hebresh}{HE8}{248} +\DeclareTextSymbol{\hebshin}{HE8}{249} +\DeclareTextSymbol{\hebtav}{HE8}{250} +% +% \end{macrocode} +% Letter |\hebsin| is defined as a synonym of |\hebshin|: +% \begin{macrocode} +%<+HE8enc>\let\hebsin=\hebshin +% \end{macrocode} +% +% \section{The font definition files (in \HEH{} encoding)} +% +% more definition files can be found in the culmus package +% +% \subsection{8Bit OmegaHebrew font} +% +% \emph{OmegaHebrew} is a serif hebrew font created by the omega project +% [FILL IN CREDITS] +% [FILL IN GENERAL SHAPE DESCRIPTION] +% shapes: [FILL IN] +% +% \begin{macrocode} +%<*HE8OmegaHebrew> +\def\OmegaHebrewscale{0.9} +\DeclareFontFamily{HE8}{OmegaHebrew}{\hyphenchar\font45} +\DeclareFontShape{HE8}{OmegaHebrew}{m}{n}{<-> [\OmegaHebrewscale] OmegaHebrew }{} +% +% \end{macrocode} +% +% +% \subsection{Hebrew font switching commands} +% +% The \pkg{hebfont} package defines a number of high-level commands +% (all starting with |\text..| similar to the standard \LaTeXe{} +% font-change commands, for example |\textbf|) that have one +% argument and typeset this argument in the requested way. These +% commands are defined for all available Hebrew fonts defined above +% and change only font parameters but not direction. +% +% For example, to use Hebrew Classic font family, the following +% sequence of commands should be included in a \LaTeXe{} document: +% \begin{quote} +% |\sethebrew|\\ +% |\textclas{Hebrew text printed with Classic fonts}| +% \end{quote} +% or to use Hebrew with Classic fonts locally: +% \begin{quote} +% |\R{\textclas{Hebrew text printed with Classic fonts}}| +% \end{quote} +% +% \begin{table}[t] +% \begin{center} +% \begin{tabular}{lll} +% \textit{Command} & \textit{Corresponds to} & +% \textit{Font family} \\[4pt] +% |\textjm{..}| & |\rmfamily| & Jerusalem font \\ +% |\textds{..}| & |\bfseries| & Dead Sea font \\ +% |\textoj{..}| & |\itshape| & Old Jaffa font \\ +% & |\slshape| & \\ +% & |\emph| & \\ +% |\textta{..}| & |\sffamily| & Tel-Aviv font \\ +% & |\ttfamily| & \\[2pt] +% |\textcrml{..}| & |\fontfamily{crml}| & Carmel fonts \\[2pt] +% |\textfr{..}| & |\fontfamily{fr}| & Frank-Ruehl fonts \\[2pt] +% |\textredis{..}| & |\fontfamily{redis}| & Redis fonts \\[2pt] +% |\textclas{..}| & |\fontfamily{redis}| & Classic fonts \\[2pt] +% |\textshold{..}| & |\fontfamily{shold}| & Shalom Old Style font \\ +% |\textshscr{..}| & |\fontfamily{shscr}| & Shalom Script font \\ +% |\textshstk{..}| & |\fontfamily{shstk}| & Shalom Stick font +% \end{tabular} +% \end{center} +% \caption{Hebrew font-change commands with arguments} +% \label{tab:fntcmds} +% \begin{quote} +% The font change commands provided here all start with |\text..| +% to emphasize that they are for use in normal text and to be +% easily memorable. +% \end{quote} +% \end{table} +% +% We declare \LaTeXe{} font commands, e.g.\ |\textjm{|\ldots|}| +% for all available fonts. Table~\ref{tab:fntcmds} shows the +% meanings of all these new high-level commands. +% +% \begin{macro}{\textjm} +% Switches to \emph{Jerusalem} font which is default regular Hebrew +% font (``roman'' family). Commands |\textrm{|\ldots|}| and +% old-style |{\rm |\ldots|}| will produce the same result. +% \begin{macrocode} +%<*hebfont> +\def\ivritex@tmp{HE8} +\ifx\ivritex@tmp\HeblatexEncoding % + % compatibility with hebfonts: + \DeclareTextFontCommand{\textjm}{\rmfamily\selectfont} + \DeclareTextFontCommand{\textds}{\bfseries\selectfont} + \DeclareTextFontCommand{\textoj}{\itshape\selectfont} + \DeclareTextFontCommand{\textta}{\sffamily\selectfont} + + % an attempt to give some replacements to the original hebfonts: + % + \DeclareTextFontCommand{\textcrml}{\fontfamily{david}\selectfont} + \DeclareTextFontCommand{\textfr}{\fontfamily{frank}\selectfont} + \DeclareTextFontCommand{\textredis}{\fontfamily{aharoni}\selectfont} + \DeclareTextFontCommand{\textclas}{\fontfamily{drugulin}\selectfont} + \DeclareTextFontCommand{\textshold}{\fontfamily{frank}\selectfont} + \DeclareTextFontCommand{\textshscr}{\fontfamily{yad}\selectfont} + \DeclareTextFontCommand{\textshstk}{\fontfamily{aharoni}\selectfont} + % note that redis is larger than shstk + + + \DeclareTextFontCommand{\textaha}{\fontfamily{aharoni}\selectfont} + \DeclareTextFontCommand{\textdav}{\fontfamily{david}\selectfont} + \DeclareTextFontCommand{\textdru}{\fontfamily{drugulin}\selectfont} + \DeclareTextFontCommand{\textel} {\fontfamily{ellinia}\selectfont} + % \textfr is already declared above + \DeclareTextFontCommand{\textmir}{\fontfamily{miriam}\selectfont} + \DeclareTextFontCommand{\textna} {\fontfamily{nachlieli}\selectfont} + % is this necessary: + \DeclareTextFontCommand{\textyad} {\fontfamily{yad}\selectfont} + +\else% +\DeclareTextFontCommand{\textjm}{\rmfamily\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textds} +% Switches to \emph{Dead Sea} font which is default bold font in +% Hebrew. Commands |\textbf{|\ldots|}| and old-style +% |{\bf |\ldots|}| will produce the same result. +% \begin{macrocode} +\DeclareTextFontCommand{\textds}{\bfseries\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textoj} +% Switches to \emph{Old Jaffa} font which is default italic font in +% Hebrew. Commands |\textit{|\ldots|}|, |\textsl{|\ldots|}|, +% |\emph{|\ldots|}| and old-style |{\it |\ldots|}| or +% |{\em |\ldots|}| will produce the same result. +% \begin{macrocode} +\DeclareTextFontCommand{\textoj}{\itshape\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textta} +% Switches to \emph{Tel-Aviv} font which is default sans-serif font +% in Hebrew. Commands |\textsf{|\ldots|}|, |\texttt{|\ldots|}| and +% old-style |{\sf |\ldots|}| or |{\tt |\ldots|}| will produce the +% same result (because sans-serif is used as typewriter font when +% in Hebrew mode). +% \begin{macrocode} +\DeclareTextFontCommand{\textta}{\sffamily\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textcrml} +% Switches to \emph{Carmel} font. Regular and slanted variants of +% carmel font will be used.. +% \begin{macrocode} +\DeclareTextFontCommand{\textcrml}{\fontfamily{crml}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textfr} +% Switches to \emph{Frank-Ruehl} font family. Regular, bold and +% slanted frank ruehl fonts will be used. +% \begin{macrocode} +\DeclareTextFontCommand{\textfr}{\fontfamily{fr}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textredis} +% Switches to \emph{Redis} font family. Regular, bold and slanted +% redis fonts of various sizes will be used. +% \begin{macrocode} +\DeclareTextFontCommand{\textredis}{\fontfamily{redis}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textclas} +% Switches to \emph{Classic} font family. The normal font will be +% hclassic and slanted --- hcaption. +% \begin{macrocode} +\DeclareTextFontCommand{\textclas}{\fontfamily{clas}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textshold} +% Switches to \emph{Shalom Old Style} font. +% \begin{macrocode} +\DeclareTextFontCommand{\textshold}{\fontfamily{shold}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textshscr} +% Switches to \emph{Shalom Script} font. +% \begin{macrocode} +\DeclareTextFontCommand{\textshscr}{\fontfamily{shscr}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textshstk} +% Switches to \emph{Shalom Stick} font. +% \begin{macrocode} +\DeclareTextFontCommand{\textshstk}{\fontfamily{shstk}\selectfont} +\fi +% \end{macrocode} +% \end{macro} +% +% Finally, for backward compatibility with \LaTeX2.09. four old +% font commands, e.g.\ |{\jm |\ldots|}| are defined too (see +% Table~\ref{tab:oldcmds}). +% \begin{table}[t] +% \begin{center} +% \begin{tabular}{lll} +% \textit{Old font command} & \textit{Font name} & +% \textit{Comment}\\[4pt] +% |{\jm ..}| & Jerusalem & default regular (roman) font \\ +% |{\ds ..}| & Dead Sea & default bold font \\ +% |{\oj ..}| & Old Jaffa & default italic and slanted font \\ +% & & used also to emphasize text \\ +% |{\ta ..}| & Tel-Aviv & default sans-serif and typewriter font\\ +% \end{tabular} +% \end{center} +% \caption{Hebrew old font-change commands for compatibility mode} +% \label{tab:oldcmds} +% \end{table} +% \begin{macrocode} +\if@compatibility + \DeclareOldFontCommand{\jm}{\normalfont\rmfamily\selectfont}% + {\@nomath\jm} + \DeclareOldFontCommand{\ds}{\normalfont\bfseries\selectfont}% + {\@nomath\ds} + \DeclareOldFontCommand{\oj}{\normalfont\itshape\selectfont}% + {\@nomath\oj} + \DeclareOldFontCommand{\ta}{\normalfont\sffamily\selectfont}% + {\@nomath\ta} +\fi +% +% \end{macrocode} +% +% \Finale +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\endinput diff --git a/macros/latex/contrib/hebrew-fonts/hebfontenc.pdf b/macros/latex/contrib/hebrew-fonts/hebfontenc.pdf new file mode 100644 index 0000000000..0eb2dfc60a Binary files /dev/null and b/macros/latex/contrib/hebrew-fonts/hebfontenc.pdf differ diff --git a/macros/latex/contrib/hebrew-fonts/hebinp.dtx b/macros/latex/contrib/hebrew-fonts/hebinp.dtx new file mode 100644 index 0000000000..9b2525e24d --- /dev/null +++ b/macros/latex/contrib/hebrew-fonts/hebinp.dtx @@ -0,0 +1,607 @@ +% \iffalse meta-comment +% +% Hebrew language input encodings. +% Copyright (C) 1997 -- 2005 Boris Lavva and Johannes Braams. +% +% Copyright (C) 2023 Udi Fogiel. +% All rights reserved. +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Udi Fogiel. +% +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% \fi +% +% \iffalse +% \ProvidesFile{si960.def} +%<8859-8> \ProvidesFile{8859-8.def} +% \ProvidesFile{cp862.def} +% \ProvidesFile{cp1255.def} +% \ProvidesFile{nhe8.dfu} +%<*driver> +\ProvidesFile{hebinp.drv} +% +% \fi +% \ProvidesFile{hebinp.dtx} + [2023/08/17 v1.2a Hebrew input encoding file] +% +% \providecommand\dst{\textsc{docstrip}} +% \GetFileInfo{hebinp.dtx} +% +% \changes{hebinp~1.0a}{1997/12/07}{% +% Initial version. Provides 8859-8, cp862, cp1255, and old 7-bit +% input encodings (by Boris Lavva)} +% \changes{hebinp~1.1}{2001/02/27}{% +% Renamed hebrew letters: \cs{alef} to \cs{hebalef} etc. +% (by Tzafrir Cohen)} +% \changes{hebinp~1.1a}{2001/07/22}{% +% Renamed CP1255 nikud \cs{patah} to \cs{hebpatah etc}. +% Added the macro \cs{DisableNikud} - may not be a good idea +% (by Tzafrir Cohen)} +% +% \section{Hebrew input encodings}\label{sec:hebinp} +% +% Hebrew input encodings defined in file |hebinp.dtx|\footnote{The +% files described in this section have version number \fileversion\ +% and were last revised on \filedate.} should be used with |inputenc| +% \LaTeXe{} package. This package allows the user +% to specify an input encoding from this file (for example, ISO +% Hebrew/Latin 8859-8, IBM Hebrew codepage 862 or MS Windows +% Hebrew codepage 1255) by saying: +% \begin{quote} +% |\usepackage[|\emph{encoding name}|]{inputenc}| +% \end{quote} +% The encoding can also be selected in the document with: +% \begin{quote} +% |\inputencoding{|\emph{encoding name}|}| +% \end{quote} +% The only practical use of this command within a document is when +% using text from several documents to build up a composite work such +% as a volume of journal articles. Therefore this command will be +% used only in vertical mode. +% +% The encodings provided by this package are: +% \begin{itemize} +% \item |si960| 7-bit Hebrew encoding for the range 32--127. This +% encoding also known as ``old-code'' and defined by Israeli +% Standard SI-960. +% \item |8859-8| ISO 8859-8 Hebrew/Latin encoding commonly used in +% UNIX systems. This encoding also known as ``new-code'' and +% includes hebrew letters in positions starting from 224. +% \item |cp862| IBM 862 code page commonly used by DOS on +% IBM-compatible personal computers. This encoding also known as +% ``pc-code'' and includes hebrew letters in positions starting +% from 128. +% \item |cp1255| MS Windows 1255 (hebrew) code page which is similar to +% 8859-8. In addition to hebrew letters, this encoding contains +% also hebrew vowels and dots (nikud). +% \item |utf8| utf8 input is availiable for the +% NHE8 font encoding. +% \end{itemize} +% Each encoding has an associated |.def| file, for example +% |8859-8.def| which defines the behaviour of each input character, +% using the commands: +% \begin{quote} +% |\DeclareInputText{|\emph{slot}|}{|\emph{text}|}| \\ +% |\DeclareInputMath{|\emph{slot}|}{|\emph{math}|}| +% \end{quote} +% This defines the input character \emph{slot} to be the +% \emph{text} material or \emph{math} material respectively. +% For example, |8859-8.def| defines slots |"EA| (letter hebalef) +% and |"B5| ($\mu$) by saying: +%\begin{verbatim} +% \DeclareInputText{224}{\hebalef} +% \DeclareInputMath{181}{\mu} +%\end{verbatim} +% Note that the \emph{commands} should be robust, and should not be +% dependent on the output encoding. The same \emph{slot} should not +% have both a text and a math declaration for it. (This restriction +% may be removed in future releases of inputenc). +% +% The |.def| file may also define commands using the declarations:\\ +% |\providecommand| or |\ProvideTextCommandDefault|. +% For example, |8859-8.def| defines: +%\begin{verbatim} +% \ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}} +% \DeclareInputText{188}{\textonequarter} +%\end{verbatim} +% The use of the `provide' forms here will ensure that a +% better definition will not be over-written; their use is +% recommended since, in general, the best defintion depends on the +% fonts available. +% +% See the documentation in |inputenc.dtx| for details of how to +% declare input definitions for various encodings. +% +% \StopEventually{} +% +% \iffalse +% \subsection{A driver for this document} +% +% The next bit of code contains the documentation driver file for +% \TeX{}, i.e., the file that will produce the documentation you +% are currently reading. It will be extracted from this file by +% the \dst{} program. +% +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\title{Hebrew input encodings for use with \LaTeXe} +\author{Boris Lavva \and Udi Fogiel} +\date{Printed \today} +\begin{document} + \maketitle + \DocInput{hebinp.dtx} +\end{document} +% +% \end{macrocode} +% \fi +% +% \subsection{Default definitions for characters} +% +% First, we insert a |\makeatletter| at the beginning of all |.def| +% files to use |@| symbol in the macros' names. +% \begin{macrocode} +%<-driver>\makeatletter +% \end{macrocode} +% +% Some input characters map to internal functions which are not in +% either the |T1| or |OT1| font encoding. For this reason default +% definitions are provided in the encoding file: these will be +% used unless some other output encoding is used which supports +% those glyphs. In some cases this default defintion has to be +% simply an error message. +% +% Note that this works reasonably well only because the encoding +% files for both |OT1| and |T1| are loaded in the standard LaTeX +% format. +% +% \begin{macrocode} +%<*8859-8|cp862|cp1255> +\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}} +\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}} +\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}} +% +%<*8859-8|cp1255> +\ProvideTextCommandDefault{\textthreequarters}{\ensuremath{\frac34}} +% +%<*cp862|cp1255> +\ProvideTextCommandDefault{\textflorin}{\textit{f}} +% +%<*cp862> +\ProvideTextCommandDefault{\textpeseta}{Pt} +% +% \end{macrocode} +% +% The name |\textblacksquare| is derived from the AMS symbol name +% since Adobe seem not to want this symbol. The default +% definition, as a rule, makes no claim to being a good design. +% \begin{macrocode} +%<*cp862> +\ProvideTextCommandDefault{\textblacksquare} + {\vrule \@width .3em \@height .4em \@depth -.1em\relax} +% +% \end{macrocode} +% +% Some commands can't be faked, so we have them generate an error +% message. +% \begin{macrocode} +%<*8859-8|cp862|cp1255> +\ProvideTextCommandDefault{\textcent} + {\TextSymbolUnavailable\textcent} +\ProvideTextCommandDefault{\textyen} + {\TextSymbolUnavailable\textyen} +% +%<*8859-8> +\ProvideTextCommandDefault{\textcurrency} + {\TextSymbolUnavailable\textcurrency} +% +%<*cp1255> +\ProvideTextCommandDefault{\newsheqel} + {\TextSymbolUnavailable\newsheqel} +% +%<*8859-8|cp1255> +\ProvideTextCommandDefault{\textbrokenbar} + {\TextSymbolUnavailable\textbrokenbar} +% +%<*cp1255> +\ProvideTextCommandDefault{\textperthousand} + {\TextSymbolUnavailable\textperthousand} +% +% \end{macrocode} +% +% Characters that are supposed to be used only in math will be defined +% by |\providecommand| because \LaTeXe{} assumes that the font +% encoding for math fonts is static. +% \begin{macrocode} +%<*8859-8|cp1255> +\providecommand{\mathonesuperior}{{^1}} +\providecommand{\maththreesuperior}{{^3}} +% +%<*8859-8|cp862|cp1255> +\providecommand{\mathtwosuperior}{{^2}} +% +%<*cp862> +\providecommand{\mathordmasculine}{{^o}} +\providecommand{\mathordfeminine}{{^a}} +% +% \end{macrocode} +% +% \subsection{The SI-960 encoding} +% +% The SI-960 or ``old-code'' encoding only allows characters in the +% range 32--127, so we only need to provide an empty |si960.def| file. +% +% \subsection{The ISO 8859-8 encoding and the MS Windows cp1255 encoding} +% +% The |8859-8.def| encoding file defines the characters in the ISO +% 8859-8 encoding. +% +% The MS Windows Hebrew character set incorporates the Hebrew +% letter repertoire of ISO 8859-8, and uses the same code points +% (starting from 224). It has also some important additions in the +% 128--159 and 190--224 ranges. +% +% \begin{macrocode} +%<*cp1255> +\DeclareInputText{130}{\quotesinglbase} +\DeclareInputText{131}{\textflorin} +\DeclareInputText{132}{\quotedblbase} +\DeclareInputText{133}{\dots} +\DeclareInputText{134}{\dag} +\DeclareInputText{135}{\ddag} +\DeclareInputText{136}{\^{}} +\DeclareInputText{137}{\textperthousand} +\DeclareInputText{139}{\guilsinglleft} +\DeclareInputText{145}{\textquoteleft} +\DeclareInputText{146}{\textquoteright} +\DeclareInputText{147}{\textquotedblleft} +\DeclareInputText{148}{\textquotedblright} +\DeclareInputText{149}{\textbullet} +\DeclareInputText{150}{\textendash} +\DeclareInputText{151}{\textemdash} +\DeclareInputText{152}{\~{}} +\DeclareInputText{153}{\texttrademark} +\DeclareInputText{155}{\guilsinglright} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*8859-8|cp1255> +\DeclareInputText{160}{\nobreakspace} +\DeclareInputText{162}{\textcent} +\DeclareInputText{163}{\pounds} +%<+8859-8>\DeclareInputText{164}{\textcurrency} +%<+cp1255>\DeclareInputText{164}{\newsheqel} +\DeclareInputText{165}{\textyen} +\DeclareInputText{166}{\textbrokenbar} +\DeclareInputText{167}{\S} +\DeclareInputText{168}{\"{}} +\DeclareInputText{169}{\textcopyright} +%<+8859-8>\DeclareInputMath{170}{\times} +\DeclareInputText{171}{\guillemotleft} +\DeclareInputMath{172}{\lnot} +\DeclareInputText{173}{\-} +\DeclareInputText{174}{\textregistered} +\DeclareInputText{175}{\@tabacckludge={}} +\DeclareInputText{176}{\textdegree} +\DeclareInputMath{177}{\pm} +\DeclareInputMath{178}{\mathtwosuperior} +\DeclareInputMath{179}{\maththreesuperior} +\DeclareInputText{180}{\@tabacckludge'{}} +\DeclareInputMath{181}{\mu} +\DeclareInputText{182}{\P} +\DeclareInputText{183}{\textperiodcentered} +%<+8859-8>\DeclareInputText{184}{\c\ } +\DeclareInputMath{185}{\mathonesuperior} +%<+8859-8>\DeclareInputMath{186}{\div} +\DeclareInputText{187}{\guillemotright} +\DeclareInputText{188}{\textonequarter} +\DeclareInputText{189}{\textonehalf} +\DeclareInputText{190}{\textthreequarters} +% +% \end{macrocode} +% +% Hebrew vowels and dots (nikud) are included only to MS Windows cp1255 +% page and start from the position 192. +% \begin{macrocode} +%<*cp1255> +\DeclareInputText{192}{\hebsheva} +\DeclareInputText{193}{\hebhatafsegol} +\DeclareInputText{194}{\hebhatafpatah} +\DeclareInputText{195}{\hebhatafqamats} +\DeclareInputText{196}{\hebhiriq} +\DeclareInputText{197}{\hebtsere} +\DeclareInputText{198}{\hebsegol} +\DeclareInputText{199}{\hebpatah} +\DeclareInputText{200}{\hebqamats} +\DeclareInputText{201}{\hebholam} +\DeclareInputText{203}{\hebqubuts} +\DeclareInputText{204}{\hebdagesh} +\DeclareInputText{205}{\hebmeteg} +\DeclareInputText{206}{\hebmaqaf} +\DeclareInputText{207}{\hebrafe} +\DeclareInputText{208}{\hebpaseq} +\DeclareInputText{209}{\hebshindot} +\DeclareInputText{210}{\hebsindot} +\DeclareInputText{211}{\hebsofpasuq} +\DeclareInputText{212}{\hebdoublevav} +\DeclareInputText{213}{\hebvavyod} +\DeclareInputText{214}{\hebdoubleyod} +% +% \end{macrocode} +% +% Hebrew letters start from the position 224 in both encodings. +% \begin{macrocode} +%<*8859-8|cp1255> +\DeclareInputText{224}{\hebalef} +\DeclareInputText{225}{\hebbet} +\DeclareInputText{226}{\hebgimel} +\DeclareInputText{227}{\hebdalet} +\DeclareInputText{228}{\hebhe} +\DeclareInputText{229}{\hebvav} +\DeclareInputText{230}{\hebzayin} +\DeclareInputText{231}{\hebhet} +\DeclareInputText{232}{\hebtet} +\DeclareInputText{233}{\hebyod} +\DeclareInputText{234}{\hebfinalkaf} +\DeclareInputText{235}{\hebkaf} +\DeclareInputText{236}{\heblamed} +\DeclareInputText{237}{\hebfinalmem} +\DeclareInputText{238}{\hebmem} +\DeclareInputText{239}{\hebfinalnun} +\DeclareInputText{240}{\hebnun} +\DeclareInputText{241}{\hebsamekh} +\DeclareInputText{242}{\hebayin} +\DeclareInputText{243}{\hebfinalpe} +\DeclareInputText{244}{\hebpe} +\DeclareInputText{245}{\hebfinaltsadi} +\DeclareInputText{246}{\hebtsadi} +\DeclareInputText{247}{\hebqof} +\DeclareInputText{248}{\hebresh} +\DeclareInputText{249}{\hebshin} +\DeclareInputText{250}{\hebtav} +% +% \end{macrocode} +% +% Special symbols which define the direction of symbols explicitly. +% Currently, they are not used in \LaTeX. +% \begin{macrocode} +%<*cp1255> +\DeclareInputText{253}{\lefttorightmark} +\DeclareInputText{254}{\righttoleftmark} +% +% \end{macrocode} +% +% \subsection{The IBM code page 862} +% +% The |cp862.def| encoding file defines the characters in the IBM +% codepage 862 encoding. The DOS graphics `letters' and a few +% other positions are ignored (left undefined). +% +% Hebrew letters start from the position 128. +% \begin{macrocode} +%<*cp862> +\DeclareInputText{128}{\hebalef} +\DeclareInputText{129}{\hebbet} +\DeclareInputText{130}{\hebgimel} +\DeclareInputText{131}{\hebdalet} +\DeclareInputText{132}{\hebhe} +\DeclareInputText{133}{\hebvav} +\DeclareInputText{134}{\hebzayin} +\DeclareInputText{135}{\hebhet} +\DeclareInputText{136}{\hebtet} +\DeclareInputText{137}{\hebyod} +\DeclareInputText{138}{\hebfinalkaf} +\DeclareInputText{139}{\hebkaf} +\DeclareInputText{140}{\heblamed} +\DeclareInputText{141}{\hebfinalmem} +\DeclareInputText{142}{\hebmem} +\DeclareInputText{143}{\hebfinalnun} +\DeclareInputText{144}{\hebnun} +\DeclareInputText{145}{\hebsamekh} +\DeclareInputText{146}{\hebayin} +\DeclareInputText{147}{\hebfinalpe} +\DeclareInputText{148}{\hebpe} +\DeclareInputText{149}{\hebfinaltsadi} +\DeclareInputText{150}{\hebtsadi} +\DeclareInputText{151}{\hebqof} +\DeclareInputText{152}{\hebresh} +\DeclareInputText{153}{\hebshin} +\DeclareInputText{154}{\hebtav} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareInputText{155}{\textcent} +\DeclareInputText{156}{\pounds} +\DeclareInputText{157}{\textyen} +\DeclareInputText{158}{\textpeseta} +\DeclareInputText{159}{\textflorin} +\DeclareInputText{160}{\@tabacckludge'a} +\DeclareInputText{161}{\@tabacckludge'\i} +\DeclareInputText{162}{\@tabacckludge'o} +\DeclareInputText{163}{\@tabacckludge'u} +\DeclareInputText{164}{\~n} +\DeclareInputText{165}{\~N} +\DeclareInputMath{166}{\mathordfeminine} +\DeclareInputMath{167}{\mathordmasculine} +\DeclareInputText{168}{\textquestiondown} +\DeclareInputMath{170}{\lnot} +\DeclareInputText{171}{\textonehalf} +\DeclareInputText{172}{\textonequarter} +\DeclareInputText{173}{\textexclamdown} +\DeclareInputText{174}{\guillemotleft} +\DeclareInputText{175}{\guillemotright} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareInputMath{224}{\alpha} +\DeclareInputText{225}{\ss} +\DeclareInputMath{226}{\Gamma} +\DeclareInputMath{227}{\pi} +\DeclareInputMath{228}{\Sigma} +\DeclareInputMath{229}{\sigma} +\DeclareInputMath{230}{\mu} +\DeclareInputMath{231}{\tau} +\DeclareInputMath{232}{\Phi} +\DeclareInputMath{233}{\Theta} +\DeclareInputMath{234}{\Omega} +\DeclareInputMath{235}{\delta} +\DeclareInputMath{236}{\infty} +\DeclareInputMath{237}{\phi} +\DeclareInputMath{238}{\varepsilon} +\DeclareInputMath{239}{\cap} +\DeclareInputMath{240}{\equiv} +\DeclareInputMath{241}{\pm} +\DeclareInputMath{242}{\ge} +\DeclareInputMath{243}{\le} +\DeclareInputMath{246}{\div} +\DeclareInputMath{247}{\approx} +\DeclareInputText{248}{\textdegree} +\DeclareInputText{249}{\textperiodcentered} +\DeclareInputText{250}{\textbullet} +\DeclareInputMath{251}{\surd} +\DeclareInputMath{252}{\mathnsuperior} +\DeclareInputMath{253}{\mathtwosuperior} +\DeclareInputText{254}{\textblacksquare} +\DeclareInputText{255}{\nobreakspace} +% +% \end{macrocode} +% +% \begin{macro}{\DisableNikud} +% A utility macro to ignore any nikud character that may appear in the +% input. This allows you to ignore cp1255 nikud characters that happened to +% appear in the input. +% \end{macro} +% \begin{macrocode} +%<*8859-8> +\newcommand{\DisableNikud}{% + \DeclareInputText{192}{}% + \DeclareInputText{193}{}% + \DeclareInputText{194}{}% + \DeclareInputText{195}{}% + \DeclareInputText{196}{}% + \DeclareInputText{197}{}% + \DeclareInputText{198}{}% + \DeclareInputText{199}{}% + \DeclareInputText{200}{}% + \DeclareInputText{201}{}% + \DeclareInputText{203}{}% + \DeclareInputText{204}{}% + \DeclareInputText{205}{}% + \DeclareInputText{206}{}% + \DeclareInputText{207}{}% + \DeclareInputText{208}{}% + \DeclareInputText{209}{}% + \DeclareInputText{210}{}% + \DeclareInputText{211}{}% + \DeclareInputText{212}{}% + \DeclareInputText{213}{}% + \DeclareInputText{214}{}% +} +% +% \end{macrocode} +% +% \subsection{utf8 encoding} +% +% \begin{macrocode} +%<*utf8> +\DeclareUnicodeCharacter{20AA}{\shekel} + +%% Alphabet +\DeclareUnicodeCharacter{05D0}{\hebalef} +\DeclareUnicodeCharacter{05D1}{\hebbet} +\DeclareUnicodeCharacter{05D2}{\hebgimel} +\DeclareUnicodeCharacter{05D3}{\hebdalet} +\DeclareUnicodeCharacter{05D4}{\hebhe} +\DeclareUnicodeCharacter{05D5}{\hebvav} +\DeclareUnicodeCharacter{05D6}{\hebzayin} +\DeclareUnicodeCharacter{05D7}{\hebhet} +\DeclareUnicodeCharacter{05D8}{\hebtet} +\DeclareUnicodeCharacter{05D9}{\hebyod} +\DeclareUnicodeCharacter{05DA}{\hebfinalkaf} +\DeclareUnicodeCharacter{05DB}{\hebkaf} +\DeclareUnicodeCharacter{05DC}{\heblamed} +\DeclareUnicodeCharacter{05DD}{\hebfinalmem} +\DeclareUnicodeCharacter{05DE}{\hebmem} +\DeclareUnicodeCharacter{05DF}{\hebfinalnun} +\DeclareUnicodeCharacter{05E0}{\hebnun} +\DeclareUnicodeCharacter{05E1}{\hebsamekh} +\DeclareUnicodeCharacter{05E2}{\hebayin} +\DeclareUnicodeCharacter{05E3}{\hebfinalpe} +\DeclareUnicodeCharacter{05E4}{\hebpe} +\DeclareUnicodeCharacter{05E5}{\hebfinaltsadi} +\DeclareUnicodeCharacter{05E6}{\hebtsadi} +\DeclareUnicodeCharacter{05E7}{\hebqof} +\DeclareUnicodeCharacter{05E8}{\hebresh} +\DeclareUnicodeCharacter{05E9}{\hebshin} +\DeclareUnicodeCharacter{05EA}{\hebtav} + +%% niqqud +\DeclareUnicodeCharacter{05B0}{\sheva} +\DeclareUnicodeCharacter{05B1}{\hatafsegol} +\DeclareUnicodeCharacter{05B2}{\hatafpatah} +\DeclareUnicodeCharacter{05B3}{\hatafqamats} +\DeclareUnicodeCharacter{05B4}{\hiriq} +\DeclareUnicodeCharacter{05B5}{\tsere} +\DeclareUnicodeCharacter{05B6}{\segol} +\DeclareUnicodeCharacter{05B7}{\patah} +\DeclareUnicodeCharacter{05B8}{\qamats} +\DeclareUnicodeCharacter{05B9}{\holam} +\DeclareUnicodeCharacter{05BA}{\holam} +\DeclareUnicodeCharacter{05BB}{\qubuts} +\DeclareUnicodeCharacter{05BC}{\dagesh} +\DeclareUnicodeCharacter{05BD}{\meteg} +\DeclareUnicodeCharacter{05BE}{\maqaf} +\DeclareUnicodeCharacter{05BF}{\rafe} +\DeclareUnicodeCharacter{05C0}{\paseq} +\DeclareUnicodeCharacter{05C1}{\shindot} +\DeclareUnicodeCharacter{05C2}{\sindot} +\DeclareUnicodeCharacter{05C3}{\sofpasuq} + +%% ligatures +\DeclareUnicodeCharacter{05F0}{\doublevav} +\DeclareUnicodeCharacter{05F1}{\vavyod} +\DeclareUnicodeCharacter{05F2}{\doubleyod} + +\DeclareUnicodeCharacter{05F3}{\geresh} +\DeclareUnicodeCharacter{05F4}{\gershayim} +% +% \end{macrocode} +% +% Finally, we reset the category code of the |@| sign at the end of +% all |.def| files. +% \begin{macrocode} +%<-driver>\makeatother +% \end{macrocode} +% +% \Finale +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\endinput diff --git a/macros/latex/contrib/hebrew-fonts/hebinp.pdf b/macros/latex/contrib/hebrew-fonts/hebinp.pdf new file mode 100644 index 0000000000..eff7fff5a2 Binary files /dev/null and b/macros/latex/contrib/hebrew-fonts/hebinp.pdf differ diff --git a/macros/latex/contrib/hebrew-fonts/hebrew-fonts.ins b/macros/latex/contrib/hebrew-fonts/hebrew-fonts.ins new file mode 100644 index 0000000000..68660e0b3e --- /dev/null +++ b/macros/latex/contrib/hebrew-fonts/hebrew-fonts.ins @@ -0,0 +1,111 @@ +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% Hebrew language font and input encodings, and additional packages. +%% Copyright (C) 1997 -- 2005 Boris Lavva and Johannes Braams. +%% +%% Copyright (C) 2023 Udi Fogiel. +%% All rights reserved. +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, either version 1.3 of this license or +%% (at your option) any later version. The latest version of this +%% license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX version +%% 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Udi Fogiel +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\batchfile{hebrew-fonts.ins} +\def\filedate{2023/08/17} +\input docstrip.tex + +{\ifx\generate\undefined + \Msg{**********************************************} + \Msg{*} + \Msg{* This installation requires docstrip} + \Msg{* version 2.3c or later.} + \Msg{*} + \Msg{* An older version of docstrip has been input} + \Msg{*} + \Msg{**********************************************} + \errhelp{Move or rename old docstrip.tex.} + \errmessage{Old docstrip in input path} + \batchmode + \csname @@end\endcsname +\fi} + +\declarepreamble\mainpreamble + +This is a generated file. + +Hebrew language font and input encodings, and additional packages. +Copyright (C) 1997 -- 2005 Boris Lavva and Johannes Braams. + +Copyright (C) 2023 Udi Fogiel. + All rights reserved. + +It may be distributed and/or modified under the conditions of the +LaTeX Project Public License, either version 1.3 of this license or +(at your option) any later version. The latest version of this +license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX version +2003/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is Udi Fogiel + +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with +extension .ins) which are part of the distribution. +\endpreamble + +\keepsilent + +\askforoverwritefalse + +\usedir{tex/latex/hebrew-fonts} + + +\Msg{*** Generating hebrew font encoding files ***} +\usepreamble\mainpreamble +\generate{\file{lheenc.def}{\from{hebfontenc.fdd}{LHEenc}} + \file{lhecmr.fd}{\from{hebfontenc.fdd}{LHEcmr,nowarn}} + \file{lhecmss.fd}{\from{hebfontenc.fdd}{LHEcmss,nowarn}} + \file{lhecmtt.fd}{\from{hebfontenc.fdd}{LHEcmtt,nowarn}} + \file{lheclas.fd}{\from{hebfontenc.fdd}{LHEclas,nowarn}} + \file{he8enc.def}{\from{hebfontenc.fdd}{HE8enc}} + \file{nhe8enc.def}{\from{hebfontenc.fdd}{NHE8enc}} + \file{he8OmegaHebrew.fd}{\from{hebfontenc.fdd}{HE8OmegaHebrew,nowarn}} + \file{lheshold.fd}{\from{hebfontenc.fdd}{LHEshold,nowarn}} + \file{lheshscr.fd}{\from{hebfontenc.fdd}{LHEshscr,nowarn}} + \file{lheshstk.fd}{\from{hebfontenc.fdd}{LHEshstk,nowarn}} + \file{lhefr.fd}{\from{hebfontenc.fdd}{LHEfr,nowarn}} + \file{lhecrml.fd}{\from{hebfontenc.fdd}{LHEcrml,nowarn}} + \file{lheredis.fd}{\from{hebfontenc.fdd}{LHEredis,nowarn}} + \file{hebfont.sty}{\from{hebfontenc.fdd}{hebfont}} + } + +\Msg{*** Generating hebrew input encoding files ***} +\usepreamble\mainpreamble +\generate{\file{8859-8.def}{\from{hebinp.dtx}{8859-8}} + \file{cp1255.def}{\from{hebinp.dtx}{cp1255}} + \file{cp862.def}{\from{hebinp.dtx}{cp862}} + \file{si960.def}{\from{hebinp.dtx}{si960}} + \file{nhe8enc.dfu}{\from{hebinp.dtx}{utf8}} + } + +\endinput -- cgit v1.2.3