Trying to add support for Hebrew to this year's TeX Live (TeX Live 2016), as I
find I have to do each time a new release comes out, I have, after much
trial-and-error, succeeded in at least getting \language {hebrew} to be
accepted without complaint. However, looking at the incredibly voluminous
output which results from "TLMGR GUI Actions: Rebuild all formats", after
invoking "TLMGR generate language --rebuild-sys" from the command line, I
noticed that there was something (several things, really) about my
"hyph-he.tex" file that caused problems. These seemed to consist of
"non-letter" and "duplicate pattern" :
(c:/TeX/Live/texmf-local/tex/generic/hyph-utf8/patterns/hyph-he.tex
! Nonletter.
l.16 ×
1
! Duplicate pattern.
l.28 ×°1
! Duplicate pattern.
l.30 ײ1
! Nonletter.
l.31 ï¬
1
! Nonletter.
l.59 מּ
1
))
) )
so I simply removed the offending lines from the file. But I have a number of
questions :
1) Why do I have to use the TLMGR GUI to perform a "Rebuild all formats" when I
have already used the command-line and requested "generate language
--rebuild-sys" ?
2) Why are the diagnostics in crypto-speak and not in Unicode ? I can make no
sense of (e.g.,) "! Nonletter. l.59 מּ" whatsoever, nor can I correlate it
with line 59 of "hyph-he.tex"
3) Is it any way possible to suppress all the "non-error" messages in the TLMGR
GUI transcript so that one can see the errors at a glance, or at the very least
could all the errors be concatenated and appended ?
4) What is actually /wrong/ with my original "hyph-he.tex" (attached, as
"hyph-he-bad.tex")
5) Why is Hebrew not natively supported by TeX Live ? It is hardly a minority
language.
I also note that other ?errors? in hyph-he.tex are preventing PdfTeX/eplain
from being built :
> (c:/TeX/Live/texmf-local/tex/generic/hyph-utf8/patterns/hyph-he.tex
> ! Nonletter.
> l.2 ×
> 1
> ?
> ! Emergency stop.
> l.2 ×
> 1
> No pages of output.
Why, I wonder, is PdfTeX/eplain even /trying/ to load a patterns file expressed
in utf-8 ? My loadhyph-he.tex, which should prevent this, also attached.
Philip Taylor
\patterns {%
×1
×1
×1
×1
×1
×1
×1
×1
×1
×1
×1
×1
×1
×1
×1
× 1
ס1
×¢1
×£1
פ1
×¥1
צ1
×§1
ר1
ש1
ת1
×°1
×±1
ײ1
ï¬1
ï¬ 1
ﬡ1
ﬢ1
ﬣ1
ﬤ1
ﬥ1
ﬦ1
ﬧ1
ﬨ1
שׁ1
שׂ1
שּׁ1
ï¬1
אַ1
אָ1
אּ1
בּ1
גּ1
דּ1
הּ1
וּ1
זּ1
טּ1
יּ1
ךּ1
כּ1
לּ1
מּ1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
ï1
}
% filename: loadhyph-he.tex
% language: Hebrew
%
% Loader for hyphenation patterns, NOT generated by
% source/generic/hyph-utf8/generate-pattern-loaders.rb
% See also http://tug.org/tex-hyphen (or don't)
%
% Copyright 2008-2013 TeX Users Group.
% You may freely use, modify and/or distribute this file.
% I have. So it is no longer Copyright anybody.
% (But consider adapting the scripts if you need modifications.)
%
% Once it turns out that more than a simple definition is needed,
% these lines may be moved to a separate file.
%
\begingroup
% Test for pTeX
\ifx\kanjiskip\undefined
% Test for native UTF-8 (which gets only a single argument)
% That's Tau (as in Taco or ΤÎΧ, Tau-Epsilon-Chi), a 2-byte UTF-8 character
\def\testengine#1#2!{\def\secondarg{#2}}\testengine Τ!\relax
\ifx\secondarg\empty
% Unicode-aware engine (such as XeTeX or LuaTeX) only sees a single (2-byte) argument
\message{UTF-8 Armenian hyphenation patterns}
% Set \lccode for ZWNJ and ZWJ.
\lccode"200C="200C
\lccode"200D="200D
\input hyph-he.tex
\else
% 8-bit engine (such as TeX or pdfTeX)
\message{No Hebrew hyphenation patterns for 8-bit engines}
%\input zerohyph.tex
\fi\else
% pTeX
\message{No Hebrew hyphenation patterns for 8-bit engines}
%\input zerohyph.tex
\fi
\endgroup