summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-07-04 21:53:03 +0000
committerKarl Berry <karl@freefriends.org>2014-07-04 21:53:03 +0000
commitc64cd5d30ffc29a53e3967461bdaf4d58aee6ddf (patch)
tree7fa40c778797b690d9f1c403f10385a8b40b54a7 /Master/texmf-dist/source/generic
parent066e2167748018c36a7edd791aabb9c623aeb865 (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.rb62
-rw-r--r--Master/texmf-dist/source/generic/hyph-utf8/languages.rb94
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>&nbsp;</td>"
+ line_content = "&nbsp;"
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" => [