diff options
6 files changed, 550 insertions, 19 deletions
diff --git a/Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb b/Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb index e275a1d266a..3a8365f2fa5 100644 --- a/Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb +++ b/Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb @@ -19,7 +19,7 @@ languages = $l.list.sort{|a,b| a.name <=> b.name} language_grouping = { 'norwegian' => ['nb', 'nn'], - 'german' => ['de-1901', 'de-1996'], + 'german' => ['de-1901', 'de-1996', 'de-ch-1901'], 'mongolian' => ['mn-cyrl', 'mn-cyrl-x-2a'], 'greek' => ['el-monoton', 'el-polyton'], 'ancientgreek' => ['grc', 'grc-x-ibycus'], diff --git a/Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb b/Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb new file mode 100644 index 00000000000..0f5c202b379 --- /dev/null +++ b/Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb @@ -0,0 +1,149 @@ +#!/usr/bin/env ruby + +load 'languages.rb' + +# this file auto-generates loaders for hyphenation patterns - to be improved + +$package_name="hyph-utf8" +$ctan_url = "http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8" + +# TODO - make this a bit less hard-coded +$path_tex_generic="../../../tex/generic" + +$l = Languages.new +# TODO: should be singleton +languages = $l.list.sort{|a,b| a.name <=> b.name} + +language_grouping = { + 'norwegian' => ['nb', 'nn'], + 'german' => ['de-1901', 'de-1996','de-ch-1901'], + 'mongolian' => ['mn-cyrl', 'mn-cyrl-x-2a'], + 'greek' => ['el-monoton', 'el-polyton'], + 'ancientgreek' => ['grc', 'grc-x-ibycus'], + 'chinese' => ['zh-latn'], + # TODO - until someone tells what to do + #'serbian' => ['sr-latn', 'sr-cyrl'], + 'serbian' => ['sr-latn'], +} + +language_used_in_group = Hash.new +language_grouping.each_value do |group| + group.each do |code| + language_used_in_group[code] = true + end +end + +# a hash with language name as key and array of languages as the value +language_groups = Hash.new +# single languages first +languages.each do |language| + # temporary remove cyrilic serbian until someone explains what is needed + if language.code == 'sr-cyrl' then + languages.delete(language) + elsif language_used_in_group[language.code] == nil then + language_groups[language.name] = [language] + end +end +# then groups of languages +language_grouping.each do |name,group| + language_groups[name] = [] + group.each do |code| + language_groups[name].push($l[code]) + end +end + +language_groups.sort.each do |language_name,language_list| + first_line_printed = false + language_list.each do |language| + if not first_line_printed then + puts "<tr>\n\t<td><b>#{language_name.capitalize}</b></td>" + first_line_printed = true; + else + puts "<tr>\n\t<td> </td>" + end + + # synonyms + if language.synonyms != nil and language.synonyms.length > 0 then + synonyms=", #{language.synonyms.join(', ')}" + else + synonyms="" + end + puts "\t<td>#{language.name}#{synonyms}</td>" + +# if language.use_old_patterns == false then + if language.use_new_loader == true then + url_patterns = "#{$ctan_url}/patterns/hyph-#{language.code}.tex" + code = "<a href=\"#{url_patterns}\">#{language.code}</a>" + else + url_patterns = "" + code = language.code + end + + puts "\t<td>#{code}</td>" + + # lefthyphenmin/righthyphenmin + if language.hyphenmin == nil or language.hyphenmin.length == 0 then + lmin = '' + rmin = '' + elsif language.filename_old_patterns == "zerohyph.tex" then + lmin = '' + rmin = '' + else + lmin = language.hyphenmin[0] + rmin = language.hyphenmin[1] + end + puts "\t<td>(#{lmin},#{rmin})</td>" + # which file to use + if language.use_new_loader then + file = "loadhyph-#{language.code}.tex" + else + file = "#{language.filename_old_patterns}" + end + #puts "\t<td>#{file}</td>" + if language.encoding == nil then + encoding = "" + else + encoding = language.encoding.upcase + end + puts "\t<td>#{encoding}</td>" + puts "</tr>\n" + end + # if language_name != "russian" and language_name != "ukrainian" then + # language_list.each do |language| + # if language.use_old_patterns and language.filename_old_patterns != "zerohyph.tex" then + # $file_tlpsrc.puts "runpattern f texmf/tex/generic/hyphen/#{language.filename_old_patterns}" + # end + # end + # end + # if language_name == "greek" then + # $file_tlpsrc.puts "docpattern d texmf/doc/generic/elhyphen" + # elsif language_name == "hungarian" then + # $file_tlpsrc.puts "docpattern d texmf/doc/generic/huhyphen" + # elsif language_name == "german" then + # $file_tlpsrc.puts "runpattern f texmf/tex/generic/hyphen/dehyphtex.tex" + # $file_tlpsrc.puts "runpattern f texmf/tex/generic/hyphen/ghyphen.README" + # end + # $file_tlpsrc.close +end + +#--------------# +# language.dat # +#--------------# +$file_language_dat = File.open("#{$path_language_dat}/language.dat", "w") +language_groups.sort.each do |language_name,language_list| + language_list.each do |language| + if language.use_new_loader then + $file_language_dat.puts "#{language.name}\tloadhyph-#{language.code}.tex" + else + $file_language_dat.puts "#{language.name}\t#{language.filename_old_patterns}" + end + + # synonyms + if language.synonyms != nil then + language.synonyms.each do |synonym| + $file_language_dat.puts "=#{synonym}" + end + end + end +end +$file_language_dat.close diff --git a/Master/texmf-dist/source/generic/hyph-utf8/languages.rb b/Master/texmf-dist/source/generic/hyph-utf8/languages.rb index 6bfb3f5aac6..685255c3b0f 100644 --- a/Master/texmf-dist/source/generic/hyph-utf8/languages.rb +++ b/Master/texmf-dist/source/generic/hyph-utf8/languages.rb @@ -483,6 +483,18 @@ class Languages < Hash "exceptions" => false, "message" => "Italian Hyphenation Patterns", }, +# kurmanji +{ + "code" => "kmr", + "name" => "kurmanji", + "use_new_loader" => true, + "use_old_patterns" => false, + "filename_old_patterns" => "kmrhyph.tex", + "hyphenmin" => [2,2], + "encoding" => "ec", + "exceptions" => false, + "message" => "Kurmanji Hyphenation Patterns (v. 1.0 2009/06/29 JKn and MSh)", +}, # latin xu-lahyph.tex { "code" => "la", diff --git a/Master/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-kmr.tex b/Master/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-kmr.tex new file mode 100644 index 00000000000..54b40b586da --- /dev/null +++ b/Master/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-kmr.tex @@ -0,0 +1,27 @@ +% loadhyph-kmr.tex +% +% Autogenerated loader for hyphenation patterns for "kurmanji" +% by source/generic/hyph-utf8/generate-pattern-loaders.rb +% See also http://tug.org/tex-hyphen +% +% Copyright 2008 TeX Users Group. +% You may freely use, modify and/or distribute this file. +% (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 whether we received one or two arguments +\def\testengine#1#2!{\def\secondarg{#2}} +% That's Tau (as in Taco or ΤΕΧ, Tau-Epsilon-Chi), a 2-byte UTF-8 character +\testengine Τ!\relax +% Unicode-aware engine (such as XeTeX or LuaTeX) only sees a single (2-byte) argument +\ifx\secondarg\empty + \message{UTF-8 Kurmanji Hyphenation Patterns (v. 1.0 2009/06/29 JKn and MSh)} +\else + \message{EC Kurmanji Hyphenation Patterns (v. 1.0 2009/06/29 JKn and MSh)} + \input conv-utf8-ec.tex +\fi +\input hyph-kmr.tex +\endgroup diff --git a/Master/texmf-dist/tex/generic/hyph-utf8/patterns/hyph-es.tex b/Master/texmf-dist/tex/generic/hyph-utf8/patterns/hyph-es.tex index 4661cfcac68..e36cb727323 100644 --- a/Master/texmf-dist/tex/generic/hyph-utf8/patterns/hyph-es.tex +++ b/Master/texmf-dist/tex/generic/hyph-utf8/patterns/hyph-es.tex @@ -1,7 +1,7 @@ % DIVISI'ON DE PALABRAS % ~~~~~~~~~~~~~~~~~~~~~ -% hyph-es.tex 4.4 -% This files corresponds to eshyph.tex 4.4. +% hyph-es.tex 4.5 +% This files corresponds to eshyph.tex 4.5. % % (c) Javier Bezos 1993 1997. % (c) Javier Bezos and CervanTeX 2001-2009 @@ -15,7 +15,7 @@ % I would like to thanks Francesc Carmona for his permission % to steal parts of his work without restrictions. % -% 2009-05-19 +% 2009-08-01 % % _____________________________________________________________ % Javier Bezos | http://www.cervantex.es/ @@ -27,7 +27,7 @@ 1c 2c. 2cb 2cc 2cd 2cf 2cg c4h 2ch. 2cj 2ck c2l 2cl. 2cm 2cn 2cp 2cq c2r 2cr. 2cs 2ct 2cv 2cw 2cx 2cy 2cz 1d 2d. 2db 2dc 2dd 2df 2dg 2d1h 2dj 2dk 2dl 2dm 2dn 2dp 2dq d2r 2dr. 2ds 2dt 2dv 2dw 2dx 2dy 2dz 1f 2f. 2fb 2fc 2fd 2ff 2fg 2f1h 2fj 2fk f2l 2fl. 2fm 2fn 2fp 2fq f2r 2fr. 2fs 2ft 2fv 2fw 2fx 2fy 2fz -1g 2g. 2gb 2gc 2gd 2gf 2gg 2g1h 2gj 2gk 2gl 2gm 2gn 2gp 2gq g2r 2gr. 2gs 2gt 2gv 2gw 2gx 2gy 2gz +1g 2g. 2gb 2gc 2gd 2gf 2gg 2g1h 2gj 2gk g2l 2gl. 2gm 2gn 2gp 2gq g2r 2gr. 2gs 2gt 2gv 2gw 2gx 2gy 2gz 2h. 2hb 2hc 2hd 2hf 2hg 2h1h 2hj 2hk 2hl 2hm 2hn 2hp 2hq 2hr 2hs 2ht 2hv 2hw 2hx 2hy 2hz 1j 2j. 2jb 2jc 2jd 2jf 2jg 2j1h 2jj 2jk 2jl 2jm 2jn 2jp 2jq 2jr 2js 2jt 2jv 2jw 2jx 2jy 2jz 1k 2k. 2kb 2kc 2kd 2kf 2kg 2k1h 2kj 2kk k2l 2kl. 2km 2kn 2kp 2kq k2r 2kr. 2ks 2kt 2kv 2kw 2kx 2ky 2kz @@ -681,9 +681,7 @@ de2s3adorar de2s3adormec de2s3adorn de2s3advert -desa3fí de2s3aferr -desa3fi de2s3afic de2s3afil de2s3afin @@ -711,7 +709,7 @@ de2s3aline desa3liv de2s3alm de2s3almid -desa3loj +de2s3aloj de2s3alquil de2s3alter de2s3alumbr @@ -720,8 +718,10 @@ desa3mobl de2s3amold de2s3amort de2s3amuebl +de2s3ampa de2s3and de2s3angel +de3sangr de2s3anid de2s3anim de2s3aním @@ -734,6 +734,7 @@ de2s3aparec de2s3aparic de2s3apeg de2s3apercib +de2s3apes de2s3aplic de2s3apolill de2s3apoy @@ -904,8 +905,9 @@ de3s4integr de3s4inter de2s3intox de2s3inver -de3sisten de2s3impres +de3sisten +de3isti de2s3obedec de2s3oblig de2s3obstr @@ -946,6 +948,8 @@ ectro1a2 ectro1e2 ectro1i2 ectro1o2 ectro1u2 ectro1á2 ectro1é2 ectro1í2 ectro1ó2 ectro1ú2 .en2a2 .en2e2 .en2i2 .en2o2 .en2u2 .en2á2 .en2é2 .en2í2 .en2ó2 .en2ú2 +.ene3mist +.ene3míst .eno3jar .enu3mera .enu3merá @@ -1034,16 +1038,16 @@ homo1á2 homo1é2 homo1í2 homo1ó2 homo1ú2 icono1h icono1a2 icono1e2 icono1i2 icono1o2 icono1u2 icono1á2 icono1é2 icono1í2 icono1ó2 icono1ú2 -.in2a2 -.in2e2 -.in2i2 -.in2o2 -.in2u2 -.in2á2 -.in2é2 -.in2í2 -.in2ó2 -.in2ú2 +.i2n2a2 +.i2n2e2 +.i2n2i2 +.i2n2o2 +.i2n2u2 +.i2n2á2 +.i2n2é2 +.i2n2í2 +.i2n2ó2 +.i2n2ú2 .in3abord .in3abarc .in3acent diff --git a/Master/texmf-dist/tex/generic/hyph-utf8/patterns/hyph-kmr.tex b/Master/texmf-dist/tex/generic/hyph-utf8/patterns/hyph-kmr.tex new file mode 100644 index 00000000000..8cc9b1e0873 --- /dev/null +++ b/Master/texmf-dist/tex/generic/hyph-utf8/patterns/hyph-kmr.tex @@ -0,0 +1,339 @@ +% hyph-kmr.tex +% +% Hyphenation patterns for Kurmanji (Northern Kurdish) +% +% (as spoken in Turkey and by the Kurdish diaspora in Europe). +% The patterns are generated by patgen from a word list of approx. 2500 +% hyphenated words provided by Medeni Shemdê +% +% Copyright 2009 Jörg Knappen and Medeni Shemdê +% +% These patterns are free software under the LaTeX Project Public Licence +% (LPPL) version 1.3 +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of patterns is Jörg Knappen, +% maintaners of UTF-8 version are authors of hyph-utf8 package. +% +% For more unformation see +% +% http://tug.org/tex-hyphen +% +% The patterns were generated by Jörg Knappen with patgen using +% a list of 2.5k hyphenated Kurmanji words provided by Medeni Shemdê. +% +% For 8-bit engines the T1 (Cork) encoding is needed +% for the special letters occurring in the Kurmanji alphabet. +% +% \message{Kurmanji hyphenation patterns kmrhyph v. 1.0 2009/06/29 JKn and MSh} +% +\patterns{ +.ka6ra +a1 +al4a +6amît. +4an +ar5a6nî +3av +4avay +2ay +1b +b4a +2bb +2bl +2br +2bs +2bx +1c +2cb +2c2k +2cl +1ç +2çk +1d +da6vêji +2db +dbû6na +2dd +dda4 +2dg +2dr +2dt +d4yo +4dyû +e1 +ea2 +e4dy +ee2 +eê2 +e4fr +el4a +erdes6 +er6desta +e4tr +2ez +ê1 +ê2a +êla4v +1f +fl4 +f4lî +4flû +f4ro +2fs +2fş +2ft +2fx +1g +2gb +2gh +2gk +g2l +2gn +2gr +2gs +2gt +1h +2hb +2hd +2hk +2hm +2hn +2hr +2hs +2ht +i1 +ii2 +il4a +i4nêr +ire4h +i2s +î1 +î2a +2îd +îe4t +î2j +îl3 +î4pl +îsti6ye +1j +6ja6va. +2jh +2jk +2jm +2jn +2jt +1k +2kb +2kç +2kk +2kl +2km +2kn +2kr +2ks +2kt +2kv +2kw +2kx +2ky +1l +6lamîtê +2lb +2lc +2lç +2ld +l4e +2lf +2lg +2lh +2lk +2ll +2lm +2ln +2lp +2lq +2ls +2lt +2lv +2lw +2lx +2ly +2lz +1m +ma4î +2mb +2md +2mf +4mîtê +2mm +2mp2 +2mr +2ms +2mw +2my +2mz +1n +n4a +2nb +2nc +2nç +2nd +nê4re +2nf +2ng +2nh +2nk +nki4 +2nn +2np +2ns +2nş +2nt +2nv +2nx +2ny +2n2z +2o +of2 +o2h +o2s +o2w +1p +2ps +2pt +1q +2qp +2qş +1r +r4a +raî4 +2rb +2rc +2rç +2rd +2rf +r4fi4 +2rg +2rh +2rj +2rk +2rl +2rm +2rn +2rp +2rq +2rr +2rs +2rt +2rv +2rw +2rx +2ry +2rz +1s +3sa +2sb +3se +2sg +3sî +2sk +2sp +2sr +2ss +2st +sta4v +st4r +3su +3sû +2sy +1ş +4şa4v +2şb +2şd +şê4l +2şg +2şh +2şk +2şm +2şn +2şp +2şt2 +2şv +2şx +1t +4tav +2tg +tge4 +2tk +2tl +2tm +2tn +tnî4 +2tp +t4ra +t4rû +2t3s2 +2tt +2tx +2ty +u1 +ue2 +u2i +u2k +urandi6 +u2ş +1v +2vb +2vç +2vd +2vg +2vh +2vk +2vn +2vr +2vs +2vş +2vy +1w +2wc +2wd +2wh +2wk +2wl +2wn +2wr +2ws +2wş +2wt +1x +x4a +2xç +2xl +2xn +2xt +x4tr +x2w +1y +2yb +2yd +yda4 +2yl +2yn +2yr +2ys +2yt +2yv +2yw +1z +2zb +2zd +z3e4z +2zk +2zm +2zr +2zt +2zy +2zz +} |