diff options
author | Karl Berry <karl@freefriends.org> | 2014-07-04 21:53:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-07-04 21:53:03 +0000 |
commit | c64cd5d30ffc29a53e3967461bdaf4d58aee6ddf (patch) | |
tree | 7fa40c778797b690d9f1c403f10385a8b40b54a7 /Master/texmf-dist/source/generic | |
parent | 066e2167748018c36a7edd791aabb9c623aeb865 (diff) |
hyph-utf8 for classical-latin
git-svn-id: svn://tug.org/texlive/trunk@34520 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/generic')
-rw-r--r-- | Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb | 62 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/hyph-utf8/languages.rb | 94 |
2 files changed, 126 insertions, 30 deletions
diff --git a/Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb b/Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb index c2fcbd7f657..490342c3bcc 100644 --- a/Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb +++ b/Master/texmf-dist/source/generic/hyph-utf8/generate-webpage.rb @@ -10,20 +10,36 @@ $ctan_url = "http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph # TODO - make this a bit less hard-coded $path_tex_generic="../../../tex/generic" +language_default = Language.new({ + "code" => "(default)", + "name" => "english", "synonyms" => ["usenglish", "USenglish", "american"], + "hyphenmin" => [2,3], + "encoding" => "ascii", + "type" => "dictionary", + "authors" => [ "donald_knuth" ], + "licence" => "", +}) + $l = Languages.new +# add english to the list +$l["default"] = language_default # TODO: should be singleton languages = $l.list.sort{|a,b| a.name <=> b.name} +$a = Authors.new + language_grouping = { + 'english' => ['default', 'en-gb', 'en-us'], + 'latin' => ['la', 'la-x-classic'], 'norwegian' => ['nb', 'nn'], 'german' => ['de-1901', 'de-1996','de-ch-1901'], - 'mongolian' => ['mn-cyrl', 'mn-cyrl-x-2a'], + 'mongolian' => ['mn-cyrl', 'mn-cyrl-x-lmc'], 'greek' => ['el-monoton', 'el-polyton'], 'ancientgreek' => ['grc', 'grc-x-ibycus'], 'chinese' => ['zh-latn-pinyin'], # TODO - until someone tells what to do #'serbian' => ['sr-latn', 'sr-cyrl'], - 'serbian' => ['sh-latn'], + 'serbian' => ['sh-latn', 'sh-cyrl'], } language_used_in_group = Hash.new @@ -33,6 +49,9 @@ language_grouping.each_value do |group| end end +space_leading = " " +space_tr = " " + # a hash with language name as key and array of languages as the value language_groups = Hash.new # single languages first @@ -40,8 +59,6 @@ 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.code == 'sh-latn' then - language.code = 'sr-latn' elsif language_used_in_group[language.code] == nil then language_groups[language.name] = [language] end @@ -58,12 +75,16 @@ language_groups.sort.each do |language_name,language_list| first_line_printed = false language_list.each do |language| if language != nil then + puts "#{space_leading}<tr>" + + line_content = "" if not first_line_printed then - puts "<tr>\n\t<td><b>#{language_name.capitalize}</b></td>" + line_content = "<b>#{language_name.capitalize}</b>" first_line_printed = true; else - puts "<tr>\n\t<td> </td>" + line_content = " " end + puts "#{space_leading}#{space_tr}<td>#{line_content}</td>" # synonyms if language.synonyms != nil and language.synonyms.length > 0 then @@ -71,7 +92,7 @@ language_groups.sort.each do |language_name,language_list| else synonyms="" end - puts "\t<td>#{language.name}#{synonyms}</td>" + puts "#{space_leading}#{space_tr}<td>#{language.name}#{synonyms}</td>" # if language.use_old_patterns == false then if language.use_new_loader == true then @@ -82,7 +103,7 @@ language_groups.sort.each do |language_name,language_list| code = language.code end - puts "\t<td>#{code}</td>" + puts "#{space_leading}#{space_tr}<td>#{code}</td>" # lefthyphenmin/righthyphenmin if language.hyphenmin == nil or language.hyphenmin.length == 0 then @@ -95,7 +116,7 @@ language_groups.sort.each do |language_name,language_list| lmin = language.hyphenmin[0] rmin = language.hyphenmin[1] end - puts "\t<td>(#{lmin},#{rmin})</td>" + puts "#{space_leading}#{space_tr}<td>(#{lmin},#{rmin})</td>" # which file to use if language.use_new_loader then file = "loadhyph-#{language.code}.tex" @@ -108,8 +129,27 @@ language_groups.sort.each do |language_name,language_list| else encoding = language.encoding.upcase end - puts "\t<td>#{encoding}</td>" - puts "</tr>\n" + puts "#{space_leading}#{space_tr}<td>#{encoding}</td>" + + # licence + licence = language.licence + puts "#{space_leading}#{space_tr}<td>#{licence}</td>" + + authors = [] + if language.authors != nil then + language.authors.each do |a| + author = $a[a] + if author != nil then + authors.push("#{author.name} #{author.surname}") + else + puts "author is nil!!!" + end + end + end + puts "#{space_leading}#{space_tr}<td>#{authors.join('<br/>')}</td>" + + # finish the language definition + puts "#{space_leading}</tr>\n" end end end diff --git a/Master/texmf-dist/source/generic/hyph-utf8/languages.rb b/Master/texmf-dist/source/generic/hyph-utf8/languages.rb index d53bfadd26b..8f9bed23feb 100644 --- a/Master/texmf-dist/source/generic/hyph-utf8/languages.rb +++ b/Master/texmf-dist/source/generic/hyph-utf8/languages.rb @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- class Author - def intialize(name,surname,email,contacted1,contacted2) + def initialize(name,surname,email,contacted1,contacted2) @name = name @surname = surname @email = email @@ -33,7 +33,10 @@ class Language @description_s = language_hash["description_s"] @description_l = language_hash["description_l"] @version = language_hash["version"] - + + @licence = language_hash["licence"] + @authors = language_hash["authors"] + if @synonyms==nil then @synonyms = [] end end @@ -109,15 +112,21 @@ class Language attr_reader :use_new_loader, :use_old_patterns, :use_old_patterns_comment, :filename_old_patterns attr_reader :code, :name, :synonyms, :hyphenmin, :encoding, :exceptions, :message attr_reader :description_s, :description_l, :version + attr_reader :licence, :authors # this hack is needed for Serbian attr_writer :code end - -authors = { +class Authors < Hash + @@list = [] + + def initialize + authors = { +#authors = { + "donald_knuth" => ["Donald", "Knuth", nil, false, false], "peter_heslin" => ["Peter", "Heslin", nil, false, false], - "dimitrios_filippou" => ["Dimitrios", "Filippou", "dfilipp{at}hotmail{dot}com", true, true], - "claudio_beccari" => ["Claudio", "Beccari","claudio{dot}beccari{at}polito{dot}it", true, true], + "dimitrios_filippou" => ["Dimitrios", "Filippou", "dimitrios{dot}filippou{at}riotinto{dot}com", true, true], + "claudio_beccari" => ["Claudio", "Beccari","claudio{dot}beccari{at}gmail{dot}com", true, true], "juan_aguirregabiria" => ["Juan M.", "Aguirregabiria", "juanmari{dot}aguirregabiria{at}ehu.es", true, true], "igor_marinovic" => ["Igor", "Marinović", "marinowski{at}gmail.com", true, true], "tilla_fick" => ["Tilla", "Fick", "fick{dot}tilla{at}gmail{dot}com", true, true], @@ -125,10 +134,11 @@ authors = { "matjaz_vrecko" => ["Matjaž", "Vrečko", "matjaz{at}mg-soft{dot}si", true, true], "goncal_badenes" => ["Gonçal", "Badenes", "g{dot}badenes{at}ieee.org", false, false], "pavel_sevecek" => ["Pavel", "Ševeček", "pavel{at}lingea{dot}cz", false, false], + # email doesn't work "jana_chlebikova" => ["Jana", "Chlebíková", "chlebikj{at}dcs{dot}fmph{dot}uniba{dot}sk", false, false], "yannis_haralambous" => ["Yannis", "Haralambous", "yannis{dot}haralambous{at}telecom-bretagne{dot}eu", true, false], "frank_jensen" => ["Frank", "Jensen", "frank{dot}jensen{at}hugin{dot}com", true, true], - "sergei_pokrovsky" => ["Sergei B.", "Pokrovsky", "pok{at}iis{dot}nsk{dot}su", false, false], # not sure where B. belongs + "sergei_pokrovsky" => ["Sergei", "Pokrovsky", "sergio{dot}pokrovskij{at}gmail{dot}com", true, true], "javier_bezos" => ["Javier", "Bezos", "jbezos{at}tex-tipografia{dot}com", true, true], "een_saar" => ["Enn", "Saar", "saar{at}aai{dot}ee", false, false], "dejan_muhamedagic" => ["Dejan", "Muhamedagić", "dejan{at}hello-penguin{dot}com", true, true], @@ -136,42 +146,53 @@ authors = { "arthur_reutenauer" => ["Arthur", "Reutenauer", "arthur{dot}reutenauer{at}normalesup{dot}org", true, true], "mojca_miklavec" => ["Mojca", "Miklavec", "mojca{dot}miklavec{dot}lists{at}gmail{dot}com", true, true], "santhosh_thottingal" => ["Santhosh", "Thottingal", "santhosh{dot}thottingal{at}gmail{dot}com>", true, true], + # email doesn't work "yves_codet" => ["Yves", "Codet", "ycodet{at}club-internet{dot}fr", true, true], "rune_kleveland" => ["Rune", "Kleveland", nil, false, false], + # email doesn't work "ole_michael_selberg" => ["Ole Michael", "Selberg", "o{dot}m{dot}selberg{at}c2i{dot}net", true, true], "dorjgotov_batmunkh" => ["Dorjgotov", "Batmunkh", "bataak{at}gmail{dot}com", true, true], "nazar_annagurban" => ["Nazar", "Annagurban", "nazartm{at}gmail{dot}com", false, false], "jan_michael_rynning" => ["Jan Michael", "Rynning", nil, false, false], "eduard_werner" => ["Eduard", "Werner", "edi{dot}werner{at}gmx{dot}de", false, false], "werner_lemberg" => ["Werner", "Lemberg", "wl{at}gnu{dot}org", true, true], + # email doesn't work "pedro_j_de_rezende" => ["Pedro J.", "de Rezende", "rezende{at}ddc{dot}unicamp{dot}br", false, false], "j_joao_dias_almeida" => ["J. Joao", "Dias Almeida", "jj{at}di{dot}uminho{dot}pt"], - "piet_tutelaers" => ["Piet", "Tutelaers", "P{dot}T{dot}H{dot}Tutelaers{at}tue{dot}nl", false, false], + # email doesn't work + "piet_tutelaers" => ["Piet", "Tutelaers", "p{dot}t{dot}h{dot}tutelaers{at}tue{dot}nl", false, false], "vytas_statulevicius" => ["Vytas", "Statulevičius", "vytas{at}vtex{dot}nl", false, false], - "sigitas_tolusis" => ["Sigitas", "Tolusis", "sigitas{at}vtex{dot}lt", false, false], + "sigitas_tolusis" => ["Sigitas", "Tolušis", "sigitas{at}vtex{dot}lt", false, false], "janis_vilims" => ["Janis", "Vilims", "jvilims{at}apollo{dot}lv", false, false], - "joerg_knappen" => ["Jörg", "Knappen", "knappen{at}vkpmzd{dot}kph{dot}uni-mainz{dot}de", false, false], # TODO From id patterns; obviously there must be some more recent address for him - "medeni_semde" => ["Medeni", "Shemdê", nil, false, false], + "joerg_knappen" => ["Jörg", "Knappen", "jknappen{at}web{dot}de", true, true], + "medeni_shemde" => ["Medeni", "Shemdê", nil, false, false], "terry_mart" => ["Terry", "Mart", "mart{at}kph{dot}uni-mainz{dot}de", false, false], + # email doesn't work "jorgen_pind" => ["Jorgen", "Pind", "jorgen{at}lexis{dot}hi{dot}is", false, false], "marteinn_sverrisson" => ["Marteinn", "Sverrisson", nil, false, false], - "kristinn_gylfason" => ["Kristinn", "Gylfason", "kristgy{at}ieee{dot}org"], + # email doesn't work + "kristinn_gylfason" => ["Kristinn", "Gylfason", "kristgy{at}ieee{dot}org", false, false], + # email doesn't work "kevin_p_scannell" => ["Kevin P.", "Scannell", "scanell{at}slu{dot}edu", false, false], + # email doesn't work "peter_kleiweg" => ["Peter", "Kleiweg", "p{dot}c{dot}c{dot}kleiweg{at}rug{dot}nl", false, false], "hanna_kolodziejska" => ["Hanna", "Kołodziejska", nil, false, false], "boguslaw_jackowski" => ["Bogusław", "Jackowski", nil, true, true], "marek_rycko" => ["Marek", "Ryćko", nil, false, false], "vladimir_volovich" => ["Vladimir", "Volovich", nil, true, true], # TODO add e-mail address "alexander_i_lebedev" => ["Alexander I.", "Lebedev", "swan{at}scon155{dot}phys{dot}msu{dot}su", false, false], # Not sure were 'I' belongs + # first email doesn't work "maksym_polyakov" => ["Maksym", "Polyakov", "polyama{at}auburn{dot}edu", false, false], # Second e-mail address in ukrhypmp.tex: mpoliak@i.com.ua "adrian_rezus" => ["Adrian", "Rezus", "adriaan{at}\{sci,cs\}{dot}kun{dot}nl", false, false], + # email doesn't work "sahak_petrosyan" => ["Sahak", "Petrosyan", "sahak{at}mit{dot}edu", true, true], # I think "true, true" is right. Arthur - "dominik_wujastyk" => ["Dominik", "Wujastyk", nil, false, false], # TODO Dominik is quite active on the XeTeX list, make contact with him + "dominik_wujastyk" => ["Dominik", "Wujastyk", "wujastyk{at}gmail{dot}com", false, false], "graham_toal" => ["Graham", "Toal", nil, false, false], "donald_e_knuth" => ["Donald E.", "Knuth", nil, false, false], # Don doesn't use e-mail ;-) "gerard_d_c_kuiken" => ["Gerard D.C.", "Kuiken", nil, false, false], "pierre_mackay" => ["P. A.", "MacKay", nil, true, true], "h_turgut_uyar" => ["H. Turgut", "Uyar", "uyar{at}itu{dot}edu{tr}", true, true], + # email doesn't work "s_ekin_kocabas" => ["S. Ekin", "Kocabas", "kocabas{at}stanford{dot}edu", true, true], "bence_nagy" => ["Bence", "Nagy", "nagybence{at}tipogral{dot}hu", true, true], "kauko_saarinen" => ["Kauko", "Saarinen", nil, false, false], @@ -179,9 +200,20 @@ authors = { "rene_bastian" => ["René", "Bastian", nil, false, false], # TODO make contact "daniel_flipo" => ["Daniel", "Flipo", nil, false, false], # TODO make contact "bernard_gaulle" => ["Bernard", "Gaulle", nil, false, false], # Deceased... - "theppitak_karoonboonyanan" => ["Theppitak", "Karoonboonyanan" "thep{at}linux{dot}thai{dot}net", true, true], + "theppitak_karoonboonyanan" => ["Theppitak", "Karoonboonyanan", "thep{at}linux{dot}thai{dot}net", true, true], "levan_shoshiashvili" => ["Levan", "Shoshiashvili", "shoshia{at}hotmail{dot}com", true, true], + # email doesn't work + "javier_mugica" => ["Javier", "Múgica", "javier{at}digi21{dot}eu", true, true], + "georgi_boshnakov" => ["Georgi", "Boshnakov", "georgi{dot}boshnakov{at}manchester{dot}ac{dot}uk", true, true], } +# + authors.each do |a| + author = Author.new(a[1][0], a[1][1], a[1][2], a[1][3], a[1][4]) + @@list.push(author) + self[a[0]] = author + end + end +end # "use_new_loader" @@ -1189,16 +1221,15 @@ class Languages < Hash "name" => "latin", "use_new_loader" => true, "use_old_patterns" => false, - "use_old_patterns_comment" => "Old patterns support both EC & OT1 encodings at the same time.", "filename_old_patterns" => "lahyph.tex", "hyphenmin" => [2,2], # babel "encoding" => "ec", "exceptions" => false, "message" => "Latin hyphenation patterns", - "version" => "3.2", - "last_modified" => "2010-06-01", - "type" => "dictionary", + "version" => "3.2a", + "last_modified" => "2014-06-04", # patterns (behaviour) last modified on 2010-06-01 + "type" => "rules", "authors" => [ "claudio_beccari" ], "licence" => "LPPL", "description_s" => "Latin hyphenation patterns", @@ -1212,6 +1243,31 @@ class Languages < Hash "those of medieval Latin.", ], }, +# classiclatin +{ + "code" => "la-x-classic", + "name" => "classiclatin", + "use_new_loader" => true, + "use_old_patterns" => false, + "filename_old_patterns" => nil, + "hyphenmin" => [2,2], + "encoding" => "ec", + "exceptions" => false, + "message" => "Classical Latin hyphenation patterns", + + "version" => "1.0", + "last_modified" => "2014-05-27", + "type" => "rules", + "authors" => [ "claudio_beccari" ], + "licence" => "LPPL", + "description_s" => "Classical Latin hyphenation patterns", + "description_l" => [ + #......................................................................# + "Hyphenation patterns for the Classical Latin in T1/EC and UTF-8", + "encodings. Classical Latin hyphenation patterns are different from", + "those of 'plain' Latin, the latter being more adapted to modern Latin.", + ], +}, # lithuanian { "code" => "lt", @@ -1686,7 +1742,7 @@ class Languages < Hash "version" => "1.7", "last_modified" => "2008-06", "type" => "pattern", - "authors" => [ "" ], + "authors" => [ "georgi_boshnakov" ], "licence" => "LPPL", "description_s" => "Bulgarian hyphenation patterns", "description_l" => [ |