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

Reply via email to