> After consulting with Maxim, I have decided to include, in a
> newer release of latex+heb for users, the old acceptable mf
> fonts, plus a number of font families converted from Windows,
> for users of tex/latex on PC's having Windows. I think this is
> the majority of latex users.
Rama,
I don't know what the majority is, but I don't see why it should
matter. It should be possible to have one package for Hebrew,
which can work with different fonts depending on what's available
to the user.
The big advantage of the old mf fonts is that they are *standard*,
as is the LHE encoding. The main disadvantages that I see are the
lack of support for vowel points and the absence of type1 versions.
A smaller disadvantage is the fact that the LHE encoding puts
Hebrew characters in the space of the lowercase Latin alphabet and
leaves the space of the uppercase Latin alphabet empty; this is not
a problem for typesetting, but it produces illegible output when
you make certain kinds of mistakes (e.g. forget the backslash
before a command name). For all the above reasons I think moving to
an 8-bit font encoding is useful.
I think it would be good if we could converge on a single 8-bit
font encoding, as this would make maintenance of the main babel
package simpler. Since the current Hebrew support converts the
various input encodings to commands, there's no longer a need to
maintain triple versions of the Hebrew glyphs in a font. (But note
that with the new HE8 encoding, documents in SI-960 "oldcode" are
no longer supported, since characters in the range 0--127 are not
mapped to commands. I think old documents can just continue using
the old LHE encoding; I doubt that new documents will be written
in the SI-960 encoding.)
I append my most recent proposal for the Hebrew 8-bit encoding;
it's the same one I sent to the list in my last update, but written
in a way that's easier for humans to read. I'd be happy if other
implementors considered this (or a future version) as a standard,
and implemented their fonts in accordance with this encoding. The
current state of Hebrew LaTeX, with at least three forks, is not
very easy to maintain, and would make it difficult to integrate
Hebrew support with the main babel distribution.
Please send me comments and suggestions for improvement.
-Ron.
P.S. Maxim,
The TeX encoding for the Culmus fonts would be easier
to maintain if the glyphs had meaningful names instead
of names like afii57668 or uniFB3A. This is not a major
problem, but perhaps something to consider for the stable
release :-)
Proposal for Hebrew 8-bit encoding:
% Positions "00-"7F approximately according to Cork Encoding
% Positions "C0-"D3 (vowel points and some Hebrew punctuation)
% approximately according to Microsoft Windows-1255 Code Page.
% Positions "E0-"FA (Hebrew letters) according to ISO-8859-9
% and Microsoft Windows-1255 Code Page.
% 0x00
/quotedbl /quotesingle /hyphen /quoteright
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/.notdef /quotesinglbase /.notdef /.notdef
% 0x10
/.notdef /quotedblright /quotedblbase /.notdef
/.notdef /endash /emdash /quotedash
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
% 0x20
/.notdef /exclam /gershayim /numbersign
/dollar /percent /ampersand /geresh
/parenleft /parenright /asterisk /plus
/comma /maqaf /period /slash
% 0x30
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /less /equal /greater /question
% 0x40
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
% 0x50
/P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0x60
/.notdef /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
% 0x70
/p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef
% 0x80
alef-mapiq bet-dagesh gimel-dagesh dalet-dagesh
he-mapiq vav-dagesh zayin-dagesh het-dagesh
tet-dagesh yod-dagesh kaf-sofit-dagesh kaf-dagesh
lamed-dagesh mem-sofit-dagesh mem-dagesh nun-sofit-dagesh
% 0x90
nun-dagesh samekh-dagesh ayin-dagesh fe-sofit-dagesh
pe-dagesh tsadi-sofit-dagesh tsadi-dagesh quf-dagesh
resh-dagesh shin-dagesh tav-dagesh holam-male
shin-w-dot sin-w-dot shin-dagesh-dot sin-dagesh-dot
% 0xA0 Note: segol, geresh and gershayim in this block are
% cantillation marks, not the vowels and punctuation
etnah segol shalshelet zaqef-qaton
zaqef-gadol tipha revia zarqa
pashta yethiv tevir geresh
geresh-muqdam gershayim qarnei-para telisha-gedola
% 0xB0
pazer munah mahapakh merkha
merkha-kefula darga qadma telisha-qetana
yerah-ben-yomo ole iluy dehi
tsinor masora-circle varika hebrew-plus
% 0xC0
sheva hataf-segol hataf-patah hataf-qamats
hiriq tsere segol patah
qamats holam /.notdef qubuts
dagesh meteg /.notdef rafe
% 0xD0
paseq shindot sindot sofpasuq
vav-vav vav-yod yod-yod alef-lamed
kaf-sofit-sheva kaf-sofit-qamats vav-holam bet-rafe
kaf-rafe pe-rafe sterling euro
% 0xE0
alef bet gimel dalet he vav zayin het
tet yod kaf-sofit kaf lamed mem-sofit mem nun-sofit
% 0xF0
nun samech ayin fe-sofit pe tsadi-sofit tsadi quf
resh shin tav alef-patah alef-qamats yod-yod-patah yod-hiriq newshekel
Ligatures:
-- = endash
--- = emdash
---- = quotedash
'' = gershayim
|' = quoteright
|'' |" = quotedblright
|, = quotesinglbase
|,, = quotedblbase
Any letter + dagesh = precomposed character
shin + dot = precomposed character
shin + dot + dagesh = precomposed character
shin + dagesh + dot = precomposed character
alef + patah/qamats = precomposed character
final-kaf + sheva/qamats = precomposed character
bet/kaf/pe + rafe = precomposed character
vav + holam = vav with holam haser
holam + vav = holam male