summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorMojca Miklavec <mojca.miklavec@gmail.com>2011-06-11 00:32:38 +0000
committerMojca Miklavec <mojca.miklavec@gmail.com>2011-06-11 00:32:38 +0000
commitb439631e2c3a99a345993513013a2ace563bdd3b (patch)
tree876f2f14d92e8ca45d1f3b288a911870c406261f /Master/texmf-dist/source
parent95f2ee5a2b2d9c18b748c222ea64eacb33f2e959 (diff)
An attempt to import the latest version of hyph-utf8 (#558)
LuaTeX: * add support for loading multiple pattern files in LuaTeX TeX Live: * remove copthyph.tex from texmf: it is now part of hyph-utf8 * update language.ptx and language.def for pTeX * update some descriptions in tlpsrc files (not finished) * change lefthyphenmin from 2 to 1 for Afrikaans (not sure when it was set to 2) hyph-utf8: * load patterns for Latin and Cyrillic scripts for Serbian simultaneously * new version of German hyphenation patterns * support both U+0027 and U+2019 as apostrophe in Unicode engines git-svn-id: svn://tug.org/texlive/trunk@22909 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/generic/hyph-utf8/generate-pattern-loaders.rb38
-rwxr-xr-xMaster/texmf-dist/source/generic/hyph-utf8/generate-plain-patterns.rb36
-rwxr-xr-xMaster/texmf-dist/source/generic/hyph-utf8/generate-ptex-patterns.rb4
-rw-r--r--Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb45
-rw-r--r--Master/texmf-dist/source/generic/hyph-utf8/languages.rb579
-rw-r--r--Master/texmf-dist/source/generic/hyph-utf8/languages/gl/README50
-rw-r--r--Master/texmf-dist/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua16
-rw-r--r--Master/texmf-dist/source/luatex/hyph-utf8/luatex-hyphen.dtx17
8 files changed, 566 insertions, 219 deletions
diff --git a/Master/texmf-dist/source/generic/hyph-utf8/generate-pattern-loaders.rb b/Master/texmf-dist/source/generic/hyph-utf8/generate-pattern-loaders.rb
index 9ea3ca061f8..12d40429359 100644
--- a/Master/texmf-dist/source/generic/hyph-utf8/generate-pattern-loaders.rb
+++ b/Master/texmf-dist/source/generic/hyph-utf8/generate-pattern-loaders.rb
@@ -70,9 +70,12 @@ text_engine_ptex_no = [" #{comment_engine_ptex}",
" \\message{No #{language.message} - only for Unicode engines}",
" %\\input zerohyph.tex"]
text_patterns = " \\input hyph-#{language.code}.tex"
-text_patterns_ptex = " \\input phyph-#{language.code}.tex"
+text_patterns_ptex = " \\input hyph-#{language.code}.#{language.encoding}.tex"
text_patterns_old = " \\input #{language.filename_old_patterns}"
text_patterns_conv = " \\input conv-utf8-#{language.encoding}.tex"
+text_patterns_utf8 = text_patterns
+
+text_patterns_quote = " \\input hyph-quote-#{language.code}.tex"
###########
# lccodes #
@@ -86,9 +89,19 @@ if language.code == 'af' or language.code == 'pt' or language.code == 'tk' or la
lccodes_common.push("\\lccode`\\-=`\\-")
end
+if language.code == 'sh-latn' or language.code == 'sh-cyrl' then
+ text_patterns_utf8 = [" \\input hyph-sh-latn.tex",
+ " \\input hyph-sh-cyrl.tex"]
+ text_engine_utf8 = [" #{comment_engine_utf8}",
+ " \\message{UTF-8 Serbian hyphenation patterns}",
+ " % We load both scripts at the same time to simplify usage"]
+end
+
if language.use_new_loader then
if language.code == 'sh-latn' then
filename = "#{$path_loadhyph}/loadhyph-sr-latn.tex"
+ elsif language.code == 'sh-cyrl' then
+ filename = "#{$path_loadhyph}/loadhyph-sr-cyrl.tex"
else
filename = "#{$path_loadhyph}/loadhyph-#{language.code}.tex"
end
@@ -137,6 +150,18 @@ end
#######################
# GROUP nr. 2 - ASCII #
#######################
+ elsif language.code == "it" then
+ file.puts(text_if_native_utf)
+ file.puts(text_engine_utf8)
+ file.puts(text_patterns)
+ file.puts(text_patterns_quote)
+ file.puts('\else')
+ file.puts(text_engine_8bit)
+ file.puts(text_patterns)
+ file.puts('\fi\else')
+ file.puts(text_engine_ptex)
+ file.puts(text_patterns)
+ file.puts('\fi')
# for ASCII encoding, we don't load any special support files, but simply load everything
elsif language.encoding == "ascii" then
file.puts(text_engine_ascii)
@@ -152,10 +177,8 @@ end
file.puts(" \\lccode`'=`'\\lccode`’=`’\\lccode`ʼ=`ʼ\\lccode`᾽=`᾽\\lccode`᾿=`᾿")
end
file.puts(text_patterns)
- # russian and ukrainian exceptions - hacks with dashes
- if language.code == 'ru' or language.code == 'uk' then
- file.puts(' % Additional patterns with hyphen/dash: a hack to prevent breaking after hyphen, but not before.')
- file.puts(" \\input exhyph-#{language.code}.tex")
+ if language.code == 'uk' then
+ file.puts(text_patterns_quote)
end
file.puts('\else')
file.puts(text_engine_8bit)
@@ -182,7 +205,10 @@ end
else
file.puts(text_if_native_utf)
file.puts(text_engine_utf8)
- file.puts(text_patterns)
+ file.puts(text_patterns_utf8)
+ if language.code == 'af' or language.code == 'it' or language.code == 'fr' or language.code == 'uk' or language.code == 'zh-latn' then
+ file.puts(text_patterns_quote)
+ end
file.puts('\else')
file.puts(text_engine_8bit)
file.puts(text_patterns_conv)
diff --git a/Master/texmf-dist/source/generic/hyph-utf8/generate-plain-patterns.rb b/Master/texmf-dist/source/generic/hyph-utf8/generate-plain-patterns.rb
index 8627427ad90..7c60c10cc7a 100755
--- a/Master/texmf-dist/source/generic/hyph-utf8/generate-plain-patterns.rb
+++ b/Master/texmf-dist/source/generic/hyph-utf8/generate-plain-patterns.rb
@@ -11,6 +11,7 @@ load 'languages.rb'
$path_root=File.expand_path("../../..")
$path_plain="#{$path_root}/tex/generic/hyph-utf8/patterns/txt"
+$path_quote="#{$path_root}/tex/generic/hyph-utf8/patterns/quote"
$path_TL=File.expand_path("../../../../TL")
$path_language_dat_lua="#{$path_root}/tex/luatex/hyph-utf8/config"
@@ -27,19 +28,11 @@ language_codes = Hash.new
languages.each do |language|
language_codes[language.code] = language.code
end
-# language_codes['de-1901'] = 'de-1901'
-# language_codes['de-1996'] = 'de-1996'
-# language_codes['de-ch-1901'] = 'de-CH-1901'
-# language_codes['en-gb'] = 'en-GB'
-# language_codes['en-us'] = 'en-US'
-# language_codes['zh-latn'] = 'zh-Latn'
-# language_codes['el-monoton'] = 'el-monoton'
-# language_codes['el-polyton'] = 'el-polyton'
-# language_codes['mn-cyrl'] = 'mn'
+
language_codes['mn-cyrl-x-lmc'] = nil
-language_codes['sh-latn'] = 'sr-latn'
-language_codes['sh-cyrl'] = nil
-# language_codes['sr-cyrl'] = 'sr-Cyrl'
+# language_codes['sh-latn'] = nil
+# language_codes['sh-cyrl'] = nil
+# language_codes['sr-cyrl'] = nil
# $file_language_dat_lua = File.open("#{$path_language_dat_lua}/language.dat.lua", "w")
# $file_language_dat_lua.puts "return {\n"
@@ -70,6 +63,7 @@ languages.sort{|x,y| x.code <=> y.code }.each do |language|
patterns = language.get_patterns
exceptions = language.get_exceptions
+ patterns_quote = Array.new
if code == 'nn' or code == 'nb'
patterns = ""
@@ -80,7 +74,14 @@ languages.sort{|x,y| x.code <=> y.code }.each do |language|
# patterns
patterns.each do |pattern|
- $file_pat.puts pattern.gsub(/'/,"’")
+ $file_pat.puts pattern
+ if pattern =~ /'/ then
+ if code != "grc" and code != "el-monoton" and code != "el-polyton" then
+ pattern_with_quote = pattern.gsub(/'/,"’")
+ $file_pat.puts pattern_with_quote
+ patterns_quote.push(pattern_with_quote)
+ end
+ end
end
# exceptions
if exceptions != ""
@@ -90,6 +91,9 @@ languages.sort{|x,y| x.code <=> y.code }.each do |language|
characters_indexes.each do |c|
ch = [c].pack('U')
$file_let.puts ch + Unicode.upcase(ch)
+ if ch == "'" and code != "grc" and code != "el-monoton" and code != "el-polyton" then
+ $file_let.puts "’’"
+ end
end
# licence and readme
$file_inf.puts "#{language.message}\n\n(more info about the licence to be added later)\n\n"
@@ -100,6 +104,12 @@ languages.sort{|x,y| x.code <=> y.code }.each do |language|
$file_let.close
$file_inf.close
+ if patterns_quote.length > 0
+ f = File.open("#{$path_quote}/hyph-quote-#{code}.tex", 'w')
+ f.puts "\\bgroup\n\\lccode`\\’=`\\’\n\\patterns{\n#{patterns_quote.join("\n")}\n}\n\\egroup\n"
+ f.close
+ end
+
# $file_language_dat_lua.puts "\t[\"#{language.name}\"]={"
# $file_language_dat_lua.puts "\t\tloader=\"loadhyph-#{language.code}.tex\","
# $file_language_dat_lua.puts "\t\tcode=\"#{code}\","
diff --git a/Master/texmf-dist/source/generic/hyph-utf8/generate-ptex-patterns.rb b/Master/texmf-dist/source/generic/hyph-utf8/generate-ptex-patterns.rb
index 53cfb23b08e..48befd6f011 100755
--- a/Master/texmf-dist/source/generic/hyph-utf8/generate-ptex-patterns.rb
+++ b/Master/texmf-dist/source/generic/hyph-utf8/generate-ptex-patterns.rb
@@ -32,7 +32,7 @@ languages.each do |language|
end
# language_codes['mn-cyrl-x-lmc'] = nil
# language_codes['sh-latn'] = 'sr-latn'
-language_codes['sh-cyrl'] = nil
+# language_codes['sh-cyrl'] = nil
# e = Encoding.new("ec")
# puts e.convert_string_to_escaped_characters("moja čaša")
@@ -61,7 +61,7 @@ languages.sort{|x,y| x.code <=> y.code }.each do |language|
if include_language
puts ">> generating #{code} (#{language.name})"
- file_ptex = File.open("#{$path_ptex}/phyph-#{code}.tex", "w")
+ file_ptex = File.open("#{$path_ptex}/hyph-#{code}.#{language.encoding}.tex", "w")
patterns = language.get_patterns
exceptions = language.get_exceptions
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 b738686b012..f3f19863968 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
@@ -28,9 +28,7 @@ language_grouping = {
'ancientgreek' => ['grc', 'grc-x-ibycus'],
'chinese' => ['zh-latn'],
'indic' => ['as', 'bn', 'gu', 'hi', 'kn', 'ml', 'mr', 'or', 'pa', 'ta', 'te'],
- # TODO - until someone tells what to do; but this is wrong anyway
- #'serbian' => ['sr-latn', 'sr-cyrl'],
- 'serbian' => ['sh-latn'],
+ 'serbian' => ['sh-latn', 'sh-cyrl'],
}
language_used_in_group = Hash.new
@@ -53,6 +51,8 @@ languages.each do |language|
if language.code == 'sh-latn' then
language.code = 'sr-latn'
+ elsif language.code == 'sh-cyrl' then
+ language.code = 'sr-cyrl'
end
end
@@ -94,6 +94,10 @@ language_groups.sort.each do |language_name,language_list|
$file_tlpsrc.puts "depend ukrhyph"
end
language_list.each do |language|
+ if language.description_s != nil then
+ $file_tlpsrc.puts "shortdesc #{language.description_s}"
+ $file_tlpsrc.puts "longdesc #{language.description_l.join("\nlongdesc ")}"
+ end
name = "name=#{language.name}"
# synonyms
@@ -121,23 +125,29 @@ language_groups.sort.each do |language_name,language_list|
if language.use_new_loader then
file = "file=loadhyph-#{language.code}.tex"
# we skip the mongolian language
- if language.code == "mn-cyrl-x-lmc" then
- file = "luaspecial=\"disabled:only for 8bit montex with lmc encoding\""
- else
- filename_pat = "hyph-#{language.code}.pat.txt"
- filename_hyp = "hyph-#{language.code}.hyp.txt"
-
- # check for existance of patterns and exceptions
- if !File::exists?( "#{$path_txt}/#{filename_pat}" ) then
- puts "some problem with #{$path_txt}/#{filename_pat}!!!"
- end
- if !File::exists?( "#{$path_txt}/#{filename_hyp}" ) then
- puts "some problem with #{$path_txt}/#{filename_hyp}!!!"
+ if language.code != "mn-cyrl-x-lmc" then
+ if language.code == "sr-latn" or language.code == "sr-cyrl" then
+ filename_pat = "hyph-sh-latn.pat.txt,hyph-sh-cyrl.pat.txt"
+ filename_hyp = "hyph-sh-latn.hyp.txt,hyph-sh-cyrl.hyp.txt"
+ else
+ filename_pat = "hyph-#{language.code}.pat.txt"
+ filename_hyp = "hyph-#{language.code}.hyp.txt"
+
+ # check for existance of patterns and exceptions
+ if !File::exists?( "#{$path_txt}/#{filename_pat}" ) then
+ puts "some problem with #{$path_txt}/#{filename_pat}!!!"
+ end
+ if !File::exists?( "#{$path_txt}/#{filename_hyp}" ) then
+ puts "some problem with #{$path_txt}/#{filename_hyp}!!!"
+ end
end
file_patterns = "file_patterns=#{filename_pat}"
if File::size?( "#{$path_txt}/#{filename_hyp}" ) != nil then
file_exceptions = "file_exceptions=#{filename_hyp}"
+ # TODO: nasty workaround
+ elsif language.code == "sr-latn" or language.code == "sr-cyrl" then
+ file_exceptions = "file_exceptions=#{filename_hyp}"
else
file_exceptions = "file_exceptions="
# puts "> #{filename_hyp} is empty"
@@ -158,13 +168,16 @@ language_groups.sort.each do |language_name,language_list|
if file_patterns + file_exceptions != ""
$file_tlpsrc.print " \\\n\t#{file_patterns} \\\n\t#{file_exceptions}"
end
+ if language.code == "mn-cyrl-x-lmc" then
+ $file_tlpsrc.print " \\\n\tluaspecial=\"disabled:only for 8bit montex with lmc encoding\""
+ end
# end-of-line
$file_tlpsrc.puts
end
if language_name != "russian" and language_name != "ukrainian" then
$file_tlpsrc.puts
language_list.each do |language|
- if language.use_old_patterns and language.filename_old_patterns != "zerohyph.tex" then
+ if language.use_old_patterns and language.filename_old_patterns != "zerohyph.tex" and language.filename_old_patterns != "copthyph.tex" then
$file_tlpsrc.puts "runpattern f texmf/tex/generic/hyphen/#{language.filename_old_patterns}"
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 5287e25f4ed..4064edb2618 100644
--- a/Master/texmf-dist/source/generic/hyph-utf8/languages.rb
+++ b/Master/texmf-dist/source/generic/hyph-utf8/languages.rb
@@ -1,4 +1,19 @@
+class Author
+ def intialize(name,surname,email,contacted1,contacted2)
+ @name = name
+ @surname = surname
+ @email = email
+ # this mostly means if email has been recently checked
+ @contacted1 = contacted1
+ # this means if we made more cooperation with author,
+ # exchanging patches etc.
+ @contacted2 = contacted2
+ end
+
+ attr_reader :name, :surname, :email
+end
+
class Language
def initialize(language_hash)
@use_new_loader = language_hash["use_new_loader"]
@@ -13,6 +28,9 @@ class Language
@encoding = language_hash["encoding"]
@exceptions = language_hash["exceptions"]
@message = language_hash["message"]
+
+ @description_s = language_hash["description_s"]
+ @description_l = language_hash["description_l"]
if @synonyms==nil then @synonyms = [] end
end
@@ -47,21 +65,7 @@ class Language
gsub(/\s+/m,"\n").
gsub(/^\s*/m,'').
gsub(/\s*$/m,'').
- gsub(/'/,"’").
split("\n")
- # Russian and Ukrainian have some extra patterns with dashes
- # we may combine these patterns with the main file anyway
- if @code == 'ru' or @code == 'uk' then
- filename = "../../../tex/generic/hyph-utf8/patterns/tex-special/exhyph-#{@code}.tex"
- lines = IO.readlines(filename, '.').join("")
- @patterns.concat(lines.gsub(/%.*/,'').
- gsub(/.*\\patterns\s*\{(.*?)\}.*/m,'\1').
- gsub(/\s+/m,"\n").
- gsub(/^\s*/m,'').
- gsub(/\s*$/m,'').
- gsub(/'/,"’").
- split("\n"))
- end
if @code == 'eo' then
@patterns = lines.gsub(/%.*/,'').
@@ -100,32 +104,44 @@ class Language
# return @lc_characters
# end
- attr_reader :use_new_loader, :use_old_patterns, :use_old_patterns_comment, :filename_old_patterns, :code, :name, :synonyms, :hyphenmin, :encoding, :exceptions, :message
+ 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
# this hack is needed for Serbian
attr_writer :code
end
authors = {
- "peter_heslin" => {
- "name" => "Peter",
- "surname" => "Heslin",
- "tried_to_contact" => false,
- },
- "dimitrios_filippou" => {
- "name" => "Dimitrios",
- "surname" => "Filippou",
- "email" => "dfilipp{at}hotmail{dot}com",
- "contact" => true,
- "cooperate" => true,
- },
- "claudio_beccari" => {
- "name" => "Claudio",
- "email" => "claudio{dot}beccari{at}polito{dot}it",
- }
-
+ "peter_heslin" => ["Peter", "Heslin", "", 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],
+ "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],
+ "chris_swanepoel" => ["Chris", "Swanepoel", "cj{at}swanepoel{dot}net", true, true],
+ "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],
+ "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
+ "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],
+ "brian_wilson" => ["Brian", "Wilson", "bountonw{at}gmail{dot}com", true, true],
+ "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],
+ "yves_codet" => ["Yves", "Codet", "ycodet{at}club-internet{dot}fr", true, true],
+ "rune_kleveland" => ["Rune", "Kleveland", nil, false, false],
+ "ole_michael_selberg" => ["Ole Michael", "Selberg", nil, false, false],
+ "dorjgotov_batmunkh" => ["Dorjgotov", "Batmunkh", "bataak{at}gmail{dot}com", true, true],
+ "nazar_annagurban" => ["Nazar", "Annagurban", "nazartm{at}gmail{dot}com", false, false],
}
+
# "use_new_loader"
# => true - create a new file and use that one
# => false - use "filename_old_patterns" in language.dat
@@ -151,7 +167,7 @@ class Languages < Hash
# --------------------------------------
# languages with no hyphenation patterns
# --------------------------------------
-# arabic zerohyph.tex
+# arabic
{
"code" => "ar",
"name" => "arabic",
@@ -162,8 +178,14 @@ class Languages < Hash
"encoding" => nil,
"exceptions" => false,
"message" => nil,
+
+ # TODO
+ "description_s" => "(No) Arabic hyphenation patterns",
+ "description_l" => [
+ "Prevent hyphenation in Arabic.",
+ ],
},
-# farsi zerohyph.tex
+# farsi
# =persian
{
"code" => "fa",
@@ -175,6 +197,12 @@ class Languages < Hash
"encoding" => nil,
"exceptions" => false,
"message" => nil,
+
+ # TODO
+ "description_s" => "(No) Persian hyphenation patterns",
+ "description_l" => [
+ "Prevent hyphenation in Persian.",
+ ],
},
# -------------------------------
# special patterns, not converted
@@ -189,9 +217,9 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => nil,
"exceptions" => false,
- "message" => "Ancient Greek Hyphenation Patterns for Ibycus encoding (v3.0)",
+ "message" => "Ancient Greek hyphenation patterns for Ibycus encoding (v3.0)",
- "authors" => ["peter_heslin"],
+ # "authors" => ["peter_heslin"],
},
# ----------------------------
# languages using old patterns
@@ -211,10 +239,10 @@ class Languages < Hash
"hyphenmin" => [1,1], # polyglosia
"encoding" => nil,
"exceptions" => true,
-# "message" => "Polytonic Greek Hyphenation Patterns",
+# "message" => "Polytonic Greek hyphenation patterns",
"message" => "Hyphenation patterns for multi-accent (polytonic) Modern Greek",
- "authors" => ["dimitrios_filippou"],
+ # "authors" => ["dimitrios_filippou"],
},
# monogreek xu-grmhyph4.tex
{
@@ -227,12 +255,12 @@ class Languages < Hash
"hyphenmin" => [1,1], # polyglosia
"encoding" => nil,
"exceptions" => true,
-# "message" => "Monotonic Greek Hyphenation Patterns",
+# "message" => "Monotonic Greek hyphenation patterns",
"message" => "Hyphenation patterns for uni-accent (monotonic) Modern Greek",
- "authors" => ["dimitrios_filippou"],
+ # "authors" => ["dimitrios_filippou"],
},
-# ancientgreek xu-grahyph4.tex
+# ancientgreek
{
"code" => "grc",
"name" => "ancientgreek",
@@ -244,10 +272,20 @@ class Languages < Hash
"encoding" => nil,
"exceptions" => false,
"message" => "Hyphenation patterns for Ancient Greek",
-
- "authors" => ["dimitrios_filippou"],
-},
-# coptic xu-copthyph.tex
+
+ "version" => "5.0",
+ "last_modified" => "2008-05-27",
+ "type" => "rules",
+ "authors" => ["dimitrios_filippou"],
+ "licence" => "LPPL",
+ "description_s" => "Ancient Greek hyphenation patterns",
+ # TODO: please help me rewrite this
+ "description_l" => [
+ "Hyphenation patterns for Ancient Greek language in UTF-8 encoding",
+ "as well as in ASCII-based LGR encoding of babel for 8-bit engines.",
+ ],
+},
+# coptic
{
"code" => "cop",
"name" => "coptic",
@@ -258,9 +296,20 @@ class Languages < Hash
"hyphenmin" => [1,1], # polyglosia TODO: no documentation found
"encoding" => nil,
"exceptions" => false,
- "message" => "Coptic Hyphenation Patterns",
-
- "authors" => ["claudio_beccari"],
+ "message" => "Coptic hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "2004-10-03",
+ "type" => "rules",
+ "authors" => [ "claudio_beccari" ],
+ "licence" => "LPPL", # TODO: check; catalogue says so
+ "description_s" => "Coptic hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Coptic language in UTF-8 encoding",
+ "as well as in ASCII-based encoding for 8-bit engines.",
+ "The latter can only be used with special Coptic fonts (like CBcoptic).",
+ "The patterns are considered experimental.",
+ ],
},
# german xu-dehypht.tex
{
@@ -273,7 +322,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "German Hyphenation Patterns (Traditional Orthography)",
+ "message" => "German hyphenation patterns (traditional orthography)",
},
# ngerman xu-dehyphn.tex
{
@@ -286,7 +335,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "German Hyphenation Patterns (Reformed Orthography)",
+ "message" => "German hyphenation patterns (reformed orthography)",
},
# swissgerman
{
@@ -297,7 +346,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "Swiss-German Hyphenation Patterns (Traditional Orthography)",
+ "message" => "Swiss-German hyphenation patterns (traditional orthography)",
},
# russian xu-ruhyphen.tex
{
@@ -310,7 +359,7 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "t2a",
"exceptions" => false,
- "message" => "Russian Hyphenation Patterns",
+ "message" => "Russian hyphenation patterns",
},
# ukrainian xu-ukrhyph.tex
{
@@ -323,7 +372,7 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "t2a",
"exceptions" => false,
- "message" => "Ukrainian Hyphenation Patterns",
+ "message" => "Ukrainian hyphenation patterns",
},
# ----------------------------
# languages using new patterns
@@ -338,9 +387,23 @@ class Languages < Hash
"hyphenmin" => [1,2], # in babel: 2,2
"encoding" => "ec",
"exceptions" => true,
- "message" => "Afrikaans Hyphenation Patterns",
-},
-# catalan cahyph.tex
+ "message" => "Afrikaans hyphenation patterns",
+
+ "version" => "0.9",
+ "last_modified" => "2010-10-18",
+ "type" => "dictionary",
+ "authors" => [ "tilla_fick", "chris_swanepoel" ],
+ "email" => [ "hyphen{at}rekenaar{dot}net" ],
+ "licence" => "LPPL",
+ "description_s" => "Afrikaans hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Afrikaans language in T1/EC and UTF-8 encoding.",
+ "(OpenOffice includes older patterns created by a different author,",
+ "but the patterns packaged with TeX are considered superior in quality.)",
+ "Word list used to generate patterns with opatgen might be released in future.",
+ ],
+},
+# catalan
{
"code" => "ca",
"name" => "catalan",
@@ -350,9 +413,19 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => true,
- "message" => "Catalan Hyphenation Patterns",
-},
-# czech xu-czhyph.tex
+ "message" => "Catalan hyphenation patterns",
+
+ "version" => "1.11",
+ "last_modified" => "2003-07-15",
+ "type" => "rules", # not only rules, also patgen, but it is a good approximation
+ "authors" => [ "goncal_badenes" ],
+ "licence" => "LPPL",
+ "description_s" => "Catalan hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Catalan language in T1/EC and UTF-8 encoding.",
+ ],
+},
+# czech
{
"code" => "cs",
"name" => "czech",
@@ -367,9 +440,26 @@ class Languages < Hash
"hyphenmin" => [2,3],
"encoding" => "ec",
"exceptions" => true,
- "message" => "Czech Hyphenation Patterns (Pavel Sevecek, v3, 1995)",
-},
-# slovak xu-skhyph.tex
+ "message" => "Czech hyphenation patterns (Pavel Sevecek, v3, 1995)",
+
+ "version" => "3",
+ # guessing based on CTAN/macros/cstex/base/csplain.tar.gz:
+ # 1998-12-17 (patterns)
+ # 1995-08-23 (exceptions)
+ # but patterns claim 1995
+ "last_modified" => "1995", # todo: no date
+ "type" => "dictionary",
+ "authors" => [ "pavel_sevecek" ],
+ "licence" => "GPL",
+ "description_s" => "Czech hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Czech language in T1/EC and UTF-8 encoding.",
+ "Original patterns 'czhyphen' are still distributed in 'csplain' package",
+ "and loaded with ISO Latin 2 encoding (IL2).",
+ # however hyph-utf8 could also be used for that
+ ],
+},
+# slovak
{
"code" => "sk",
"name" => "slovak",
@@ -381,9 +471,22 @@ class Languages < Hash
"hyphenmin" => [2,3],
"encoding" => "ec",
"exceptions" => true,
- "message" => "Slovak Hyphenation Patterns (Jana Chlebikova, 1992)",
-},
-# welsh cyhyph.tex
+ "message" => "Slovak hyphenation patterns (Jana Chlebikova, 1992)",
+
+ "version" => "2",
+ "last_modified" => "1992-04-24",
+ "type" => "dictionary",
+ "authors" => [ "jana_chlebikova" ],
+ "licence" => "GPL",
+ "description_s" => "Slovak hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Slovak language in T1/EC and UTF-8 encoding.",
+ "Original patterns 'skhyphen' are still distributed in 'csplain' package",
+ "and loaded with ISO Latin 2 encoding (IL2).",
+ # however hyph-utf8 could also be used for that
+ ],
+},
+# welsh
{
"code" => "cy",
"name" => "welsh",
@@ -393,9 +496,19 @@ class Languages < Hash
"hyphenmin" => [2,3],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Welsh Hyphenation Patterns",
-},
-# danish dkhyph.tex
+ "message" => "Welsh hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "1996",
+ "type" => "dictionary",
+ "authors" => [ "yannis_haralambous" ],
+ "licence" => "LPPL",
+ "description_s" => "Welsh hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Welsh language in T1/EC and UTF-8 encoding.",
+ ],
+},
+# danish
{
"code" => "da",
"name" => "danish",
@@ -406,10 +519,19 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "Danish Hyphenation Patterns",
-},
-# esperanto xu-eohyph.tex
-# TODO
+ "message" => "Danish hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "2011-01-11",
+ "type" => "dictionary",
+ "authors" => [ "frank_jensen" ],
+ "licence" => "LPPL",
+ "description_s" => "Danish hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Danish language in T1/EC and UTF-8 encoding.",
+ ],
+},
+# esperanto
{
"code" => "eo",
"name" => "esperanto",
@@ -419,9 +541,22 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "il3", # TODO
"exceptions" => false,
- "message" => "Esperanto Hyphenation Patterns",
-},
-# spanish xu-eshyph.tex
+ "message" => "Esperanto hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "1999-08-10",
+ "type" => "rules",
+ "authors" => [ "sergei_pokrovsky" ],
+ "licence" => "LPPL",
+ "description_s" => "Esperanto hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Esperanto language in UTF-8 and ISO Latin 3 (IL3) encoding.",
+ "Note that TeX distributions usually don't ship any suitable fonts in that encoding,",
+ "so unless you create your own font support or want to use MlTeX,",
+ "using native UTF-8 engines is highly recommended.",
+ ],
+},
+# spanish
# =espanol
{
"code" => "es",
@@ -432,9 +567,19 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Spanish Hyphenation Patterns",
-},
-# basque xu-bahyph.tex
+ "message" => "Spanish hyphenation patterns",
+
+ "version" => "4.6",
+ "last_modified" => "2010-05-18",
+ "type" => "dictionary",
+ "authors" => [ "javier_bezos" ],
+ "licence" => "LPPL",
+ "description_s" => "Spanish hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Spanish language in T1/EC and UTF-8 encoding.",
+ ],
+},
+# basque
{
"code" => "eu",
"name" => "basque",
@@ -444,7 +589,18 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "Basque Hyphenation Patterns",
+ "message" => "Basque hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "2008-06-26",
+ "type" => "rules",
+ "authors" => [ "juan_aguirregabiria" ],
+ "licence" => "other-free", # "public-check",
+ "description_s" => "Basque hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Basque language in T1/EC and UTF-8 encoding.",
+ "Generating scripts for these rule-based patterns is included in hyph-utf8."
+ ],
},
# french xu-frhyph.tex
# =patois
@@ -470,9 +626,9 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Galician Hyphenation Patterns",
+ "message" => "Galician hyphenation patterns",
},
-# estonian xu-ethyph.tex
+# estonian
{
"code" => "et",
"name" => "estonian",
@@ -482,7 +638,17 @@ class Languages < Hash
"hyphenmin" => [2,3], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "Estonian Hyphenation Patterns",
+ "message" => "Estonian hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "2004-04-13",
+ "type" => "dictionary",
+ "authors" => [ "een_saar" ],
+ "licence" => "LPPL",
+ "description_s" => "Estonian hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Estonian language in T1/EC and UTF-8 encoding.",
+ ],
},
# finnish fihyph.tex
{
@@ -494,9 +660,9 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Finnish Hyphenation Patterns",
+ "message" => "Finnish hyphenation patterns",
},
-# croatian xu-hrhyph.tex
+# croatian
{
"code" => "hr",
"name" => "croatian",
@@ -506,7 +672,17 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Croatian Hyphenation Patterns",
+ "message" => "Croatian hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "1996-03-19",
+ "type" => "dictionary",
+ "authors" => [ "igor_marinovic" ],
+ "licence" => "LPPL",
+ "description_s" => "Croatian hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Croatian language in T1/EC and UTF-8 encoding.",
+ ],
},
# hungarian xu-huhyphn.tex
{
@@ -518,7 +694,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # polyglosia
"encoding" => "ec",
"exceptions" => false,
- "message" => "Hungarian Hyphenation Patterns (v20031107)",
+ "message" => "Hungarian hyphenation patterns (v20031107)",
},
# armenian
# Sahak Petrosyan <sahak at mit dot edu>
@@ -531,7 +707,7 @@ class Languages < Hash
"hyphenmin" => [1,2], # taken from Hyphenator.js; check the value
"encoding" => nil,
"exceptions" => false,
- "message" => "Armenian Hyphenation Patterns",
+ "message" => "Armenian hyphenation patterns",
},
# interlingua iahyphen.tex
{
@@ -543,7 +719,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ascii",
"exceptions" => true,
- "message" => "Hyphenation Patterns for Interlingua",
+ "message" => "Hyphenation patterns for Interlingua",
},
# indonesian inhyph.tex
{
@@ -555,7 +731,7 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ascii",
"exceptions" => true,
- "message" => "Indonesian Hyphenation Patterns",
+ "message" => "Indonesian hyphenation patterns",
},
# icelandic icehyph.tex
{
@@ -567,7 +743,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "Icelandic Hyphenation Patterns",
+ "message" => "Icelandic hyphenation patterns",
},
# irish gahyph.tex
{
@@ -579,7 +755,7 @@ class Languages < Hash
"hyphenmin" => [2,3], # babel
"encoding" => "ec",
"exceptions" => true,
- "message" => "Irish Hyphenation Patterns",
+ "message" => "Irish hyphenation patterns",
},
# italian ithyph.tex
{
@@ -591,7 +767,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ascii",
"exceptions" => false,
- "message" => "Italian Hyphenation Patterns",
+ "message" => "Italian hyphenation patterns",
},
# kurmanji
{
@@ -603,9 +779,9 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Kurmanji Hyphenation Patterns (v. 1.0 2009/06/29 JKn and MSh)",
+ "message" => "Kurmanji hyphenation patterns (v. 1.0 2009/06/29 JKn and MSh)",
},
-# latin xu-lahyph.tex
+# latin
{
"code" => "la",
"name" => "latin",
@@ -616,7 +792,22 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "Latin Hyphenation Patterns",
+ "message" => "Latin hyphenation patterns",
+
+ "version" => "3.2",
+ "last_modified" => "2010-06-01",
+ "type" => "dictionary",
+ "authors" => [ "claudio_beccari" ],
+ "licence" => "LPPL",
+ "description_s" => "Latin hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Latin language in T1/EC and UTF-8 encoding,",
+ "mainly in modern spelling (u when u is needed and v when v is needed),",
+ "medieval spelling with the ligatures \\ae and \\oe and the (uncial)",
+ "lowercase 'v' written as a 'u' is also supported. Apparently",
+ "there is no conflict between the patterns of modern Latin and",
+ "those of medieval Latin.",
+ ],
},
# lithuanian
{
@@ -627,7 +818,7 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "l7x",
"exceptions" => false,
- "message" => "Lithuanian Hyphenation Patterns",
+ "message" => "Lithuanian hyphenation patterns",
},
# latvian
{
@@ -638,7 +829,7 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "l7x",
"exceptions" => false,
- "message" => "Latvian Hyphenation Patterns",
+ "message" => "Latvian hyphenation patterns",
},
# dutch nehyph96.tex
{
@@ -652,12 +843,8 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => true,
- "message" => "Dutch Hyphenation Patterns",
+ "message" => "Dutch hyphenation patterns",
},
-# norsk xu-nohyphbx.tex
-# =norwegian
-# nynorsk nnhyph.tex
-# bokmal nbhyph.tex
# polish xu-plhyph.tex
{
"code" => "pl",
@@ -669,7 +856,7 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "qx",
"exceptions" => true,
- "message" => "Polish Hyphenation Patterns",
+ "message" => "Polish hyphenation patterns",
},
# portuguese pthyph.tex
# =portuges
@@ -682,7 +869,7 @@ class Languages < Hash
"hyphenmin" => [2,3], # babel
"encoding" => "ec",
"exceptions" => true,
- "message" => "Portuguese Hyphenation Patterns",
+ "message" => "Portuguese hyphenation patterns",
},
# pinyin xu-pyhyph.tex
{
@@ -706,9 +893,9 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Romanian Hyphenation Patterns", # : `rohyphen' 1.1 <29.10.1996>
+ "message" => "Romanian hyphenation patterns", # : `rohyphen' 1.1 <29.10.1996>
},
-# slovenian xu-sihyph.tex
+# slovenian
# =slovene
{
"code" => "sl",
@@ -719,7 +906,17 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Slovenian Hyphenation Patterns",
+ "message" => "Slovenian hyphenation patterns",
+
+ "version" => "2.3",
+ "last_modified" => "1997-15-04",
+ "type" => "dictionary",
+ "authors" => [ "matjaz_vrecko" ],
+ "licence" => "LPPL",
+ "description_s" => "Slovenian hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Slovenian language in T1/EC and UTF-8 encoding.",
+ ],
},
# uppersorbian xu-sorhyph.tex
{
@@ -731,7 +928,7 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => true,
- "message" => "Upper Sorbian Hyphenation Patterns (E. Werner)",
+ "message" => "Upper Sorbian hyphenation patterns (E. Werner)",
# \message{Hyphenation patterns for Upper Sorbian, E. Werner}
# \message{Completely new revision 1997, March 22}
},
@@ -757,9 +954,19 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "ec",
"exceptions" => false,
- "message" => "Turkmen Hyphenation Patterns",
-},
-# turkish xu-tkhyph.tex
+ "message" => "Turkmen hyphenation patterns",
+
+ "version" => "0.1",
+ "last_modified" => "2010-03-16",
+ "type" => "rules",
+ "authors" => [ "nazar_annagurban" ],
+ "licence" => "public",
+ "description_s" => "Turkmen hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Turkmen language in T1/EC and UTF-8 encoding.",
+ ],
+},
+# turkish
{
"code" => "tr",
"name" => "turkish",
@@ -769,10 +976,9 @@ class Languages < Hash
"hyphenmin" => [2,2], # polyglosia
"encoding" => "ec",
"exceptions" => false,
- "message" => "Turkish Hyphenation Patterns",
+ "message" => "Turkish hyphenation patterns",
},
# ukenglish ukhyphen.tex
-# TODO - should we rename it or not?
{
"code" => "en-gb",
"name" => "ukenglish", "synonyms" => ["british", "UKenglish"],
@@ -782,7 +988,7 @@ class Languages < Hash
"hyphenmin" => [2,3], # confirmed, same as what Knuth says
"encoding" => "ascii",
"exceptions" => true,
- "message" => "Hyphenation Patterns for British English",
+ "message" => "Hyphenation patterns for British English",
},
# US english
{
@@ -794,7 +1000,7 @@ class Languages < Hash
"hyphenmin" => [2,3], # confirmed, same as what Knuth says
"encoding" => "ascii",
"exceptions" => true,
- "message" => "Hyphenation Patterns for American English",
+ "message" => "Hyphenation patterns for American English",
},
# US english
# {
@@ -806,10 +1012,10 @@ class Languages < Hash
# "hyphenmin" => [2,3], # confirmed, same as what Knuth says
# "encoding" => "ascii",
# "exceptions" => true,
-# "message" => "Hyphenation Patterns for American English",
+# "message" => "Hyphenation patterns for American English",
# },
# TODO: FIXME!!!
-# serbian xu-srhyphc.tex
+# serbian
{
"code" => "sh-latn",
"name" => "serbian",
@@ -824,14 +1030,30 @@ class Languages < Hash
"encoding" => "ec",
"exceptions" => true,
"message" => "Serbian hyphenation patterns in Latin script",
+
+ # only for serbian
+ "version" => "2.02",
+ "last_modified" => "2008-06-22",
+ "type" => "dictionary",
+ "authors" => [ "dejan_muhamedagic" ],
+ "licence" => "LPPL",
+ # for both scripts
+ "description_s" => "Serbian hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Serbian language in UTF-8 and 8-bit variant.",
+ "For 8-bit TeX the patterns are available separately as 'serbian' in",
+ "T1/EC encoding for Latin script and 'serbianc' in T2A encoding for",
+ "Cyrillic script. UTF-8 engines should only use 'serbian'",
+ "which has patterns in both scripts combined.",
+ ],
},
# serbianc
{
- "code" => "sr-cyrl",
+ "code" => "sh-cyrl",
"name" => "serbianc",
"use_new_loader" => true,
"use_old_patterns" => false,
- "filename_old_patterns" => "srhyphc.tex",
+ # "filename_old_patterns" => "srhyphc.tex",
"hyphenmin" => [2,2],
"encoding" => "t2a",
"exceptions" => true,
@@ -847,7 +1069,21 @@ class Languages < Hash
"hyphenmin" => [2,2],
"encoding" => "t2a",
"exceptions" => false,
- "message" => "(New) Mongolian Hyphenation Patterns",
+ "message" => "(New) Mongolian hyphenation patterns",
+
+ # only for this one
+ "version" => "1.2",
+ "last_modified" => "2010-04-03",
+ "type" => "dictionary",
+ "authors" => [ "dorjgotov_batmunkh" ],
+ "licence" => "LPPL",
+ # for both
+ "description_s" => "Mongolian hyphenation patterns in Cyrillic script",
+ "description_l" => [
+ "Hyphenation patterns for Mongolian language in T2A, LMC and UTF-8 encoding.",
+ "LMC encoding is used in MonTeX. The package includes two sets of patterns",
+ "that will hopefully be merged in future.",
+ ],
},
# mongolianlmc xu-mnhyph.tex (used to be mongolian)
{
@@ -871,7 +1107,17 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "t2a",
"exceptions" => false,
- "message" => "Bulgarian Hyphenation Patterns",
+ "message" => "Bulgarian hyphenation patterns",
+
+ "version" => "1.7",
+ "last_modified" => "2008-06",
+ "type" => "pattern",
+ "authors" => [ "" ],
+ "licence" => "LPPL",
+ "description_s" => "Bulgarian hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Bulgarian language in T2A and UTF-8 encoding.",
+ ],
},
# sanskrit
{
@@ -882,9 +1128,21 @@ class Languages < Hash
"hyphenmin" => [1,5], # polyglosia
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Sanskrit Hyphenation Patterns (v0.2, 2008/1/3)",
-},
-# norwegian nohyph.tex
+ "message" => "Sanskrit hyphenation patterns (v0.4, 2010/02/26)",
+
+ "version" => "0.4",
+ "last_modified" => "2010-02-26",
+ "type" => "rules",
+ "authors" => ["yves_codet"],
+ "licence" => nil,
+ "description_s" => "Sanskrit hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Sanskrit and Prakrit in transliteration,",
+ "and in Devanagari, Bengali, Kannada, Malayalam and Telugu scripts",
+ "for Unicode engines.",
+ ],
+},
+# norwegian
{
"code" => "no",
"name" => "norwegian", # TODO: fixme
@@ -893,9 +1151,9 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => false,
- "message" => "Norwegian Hyphenation Patterns",
+ "message" => "Norwegian hyphenation patterns",
},
-# norsk xu-nohyphbx.tex
+# norsk
{
"code" => "nb",
"name" => "bokmal", "synonyms" => ["norwegian", "norsk"],
@@ -904,9 +1162,19 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => true,
- "message" => "Norwegian Bokmal Hyphenation Patterns",
-},
-# nynorsk nnhyph.tex
+ "message" => "Norwegian Bokmal hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "2007-02-07",
+ "type" => "dictionary",
+ "authors" => [ "rune_kleveland", "ole_michael_selberg" ],
+ "licence" => "free", # TODO
+ "description_s" => "Norwegian Bokmal and Nynorsk hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Norwegian Bokmal and Nynorsk in T1/EC and UTF-8 encoding.",
+ ],
+},
+# nynorsk
{
"code" => "nn",
"name" => "nynorsk",
@@ -915,7 +1183,7 @@ class Languages < Hash
"hyphenmin" => [2,2], # babel
"encoding" => "ec",
"exceptions" => true,
- "message" => "Norwegian Nynorsk Hyphenation Patterns",
+ "message" => "Norwegian Nynorsk hyphenation patterns",
},
#####
# assamese
@@ -927,7 +1195,20 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Assameze Hyphenation Patterns",
+ "message" => "Assameze hyphenation patterns",
+
+ # this is true for all Indic patterns
+ "version" => "0.5.3",
+ "last_modified" => "2010-05-01",
+ "type" => "rules",
+ "authors" => ["santhosh_thottingal"],
+ "licence" => "LGPL",
+ "description_s" => "Indic hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Assameze, Bengali, Gujarati, Hindi,",
+ "Kannada, Malayalam, Marathi, Oriya, Panjabi, Tamil and Telugu",
+ "for Unicode engines.",
+ ],
},
# bengali
{
@@ -938,7 +1219,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Bengali Hyphenation Patterns",
+ "message" => "Bengali hyphenation patterns",
},
# gujarati
{
@@ -949,7 +1230,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Gujarati Hyphenation Patterns",
+ "message" => "Gujarati hyphenation patterns",
},
# hindi
{
@@ -960,7 +1241,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Hindi Hyphenation Patterns",
+ "message" => "Hindi hyphenation patterns",
},
# kannada
{
@@ -971,7 +1252,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Kannada Hyphenation Patterns",
+ "message" => "Kannada hyphenation patterns",
},
# malayalam
{
@@ -982,7 +1263,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Malayalam Hyphenation Patterns",
+ "message" => "Malayalam hyphenation patterns",
},
# marathi
{
@@ -993,7 +1274,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Marathi Hyphenation Patterns",
+ "message" => "Marathi hyphenation patterns",
},
# oriya
{
@@ -1004,7 +1285,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Oriya Hyphenation Patterns",
+ "message" => "Oriya hyphenation patterns",
},
# panjabi
{
@@ -1015,7 +1296,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Panjabi Hyphenation Patterns",
+ "message" => "Panjabi hyphenation patterns",
},
# tamil
{
@@ -1026,7 +1307,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Tamil Hyphenation Patterns",
+ "message" => "Tamil hyphenation patterns",
},
# telugu
{
@@ -1037,7 +1318,7 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Telugu Hyphenation Patterns",
+ "message" => "Telugu hyphenation patterns",
},
# lao
{
@@ -1048,7 +1329,19 @@ class Languages < Hash
"hyphenmin" => [1,1], # TODO
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Lao Hyphenation Patterns",
+ "message" => "Lao hyphenation patterns",
+
+ "version" => nil,
+ "last_modified" => "2010-05-19",
+ "type" => "rules",
+ "authors" => [ "brian_wilson", "arthur_reutenauer", "mojca_miklavec" ],
+ "licence" => nil, # TODO
+ "description_s" => "Lao hyphenation patterns",
+ "description_l" => [
+ "Hyphenation patterns for Lao language for Unicode engines.",
+ "Current version is experimental and gives bad results.",
+ "Please wait for a new version.",
+ ],
},
# pan-Ethiopic
{
@@ -1059,7 +1352,7 @@ class Languages < Hash
"hyphenmin" => [1,1],
"encoding" => nil, # no patterns for 8-bit TeX
"exceptions" => false,
- "message" => "Pan-Ethiopic Hyphenation Patterns",
+ "message" => "Pan-Ethiopic hyphenation patterns",
},
# dumylang -> dumyhyph.tex
# nohyphenation -> zerohyph.tex
diff --git a/Master/texmf-dist/source/generic/hyph-utf8/languages/gl/README b/Master/texmf-dist/source/generic/hyph-utf8/languages/gl/README
index 6154587b019..95e00612c7b 100644
--- a/Master/texmf-dist/source/generic/hyph-utf8/languages/gl/README
+++ b/Master/texmf-dist/source/generic/hyph-utf8/languages/gl/README
@@ -1,25 +1,25 @@
-This directory contains seven files + README, licensed all but one under lppl 1.3:
-
-glpatter-utf8.tex:
- The source file, version 2.4. When processed under the program
- mkpatter ---by typing 'tex -ini -8bit glpatter-utf8.tex' (without the quotes)
- at the command line, provided you have the utility
- mkpattern installed--- it generates the file hyph-utf8-gl.tex.
-
-(hyph-gl.tex):
- The generated file containing the patterns in UTF-8 (belongs to TEXMF/tex).
-
-
-glhyextr.tex: ##This file is in the public domain##
- A configuration file, to include additional patterns other
- than the ones in glpatter-utf8.tex. It is not \input by glpatter-utf8.tex
- (iin contrast with the single-byte encoded version glpatter.tex)
- as modern tools allow the addition of patterns at run time.
-
-glhybiox.tex, glhymed.tex, glhyquim.tex, glhytec.tex & glhyxeog.tex:
- Files with aditional patterns drawn from serveral fields of
- the language, so that you may input them from glhyextr.tex.
-
-The files for specific patterns are very incomplete and feedback is welcome.
-
---Javier A. Mgica
+This directory contains seven files + README, licensed all but one under lppl 1.3:
+
+glpatter-utf8.tex:
+ The source file, version 2.4. When processed under the program
+ mkpatter ---by typing 'tex -ini -8bit glpatter-utf8.tex' (without the quotes)
+ at the command line, provided you have the utility
+ mkpattern installed--- it generates the file hyph-utf8-gl.tex.
+
+(hyph-gl.tex):
+ The generated file containing the patterns in UTF-8 (belongs to TEXMF/tex).
+
+
+glhyextr.tex: ##This file is in the public domain##
+ A configuration file, to include additional patterns other
+ than the ones in glpatter-utf8.tex. It is not \input by glpatter-utf8.tex
+ (iin contrast with the single-byte encoded version glpatter.tex)
+ as modern tools allow the addition of patterns at run time.
+
+glhybiox.tex, glhymed.tex, glhyquim.tex, glhytec.tex & glhyxeog.tex:
+ Files with aditional patterns drawn from serveral fields of
+ the language, so that you may input them from glhyextr.tex.
+
+The files for specific patterns are very incomplete and feedback is welcome.
+
+--Javier A. Mgica
diff --git a/Master/texmf-dist/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua b/Master/texmf-dist/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua
index a5fa334f22c..607c7270bbb 100644
--- a/Master/texmf-dist/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua
+++ b/Master/texmf-dist/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua
@@ -1,10 +1,10 @@
#!/usr/bin/env texlua
-- Extract Ethiopic syllables from the Unicode Character Database.
--- Arthur Reutenauer, London, 2011-01-09 & 10, for the hyph-utf8 project
+-- Arthur Reutenauer, London, 2011, for the hyph-utf8 project
-- http://tug.org/tex-hyphen
-- Copyright (c) TeX Users Group, 2011.
--- You may freely use, modify and / or redistribute this file.
+-- You may freely use, copy, modify and / or redistribute this file.
-- Use with TeXLua.
@@ -53,9 +53,13 @@ local pattfile = assert(io.open("hyph-mul-ethi.tex", "w"))
pattfile:write[[
% Experimental pattern file for languages written using the Ethiopic script.
-% Arthur Reutenauer, London, 2011-01-09 & 10, for the hyph-utf8 project.
+% Arthur Reutenauer, London, 2011, for the hyph-utf8 project.
% Copyright (c) TeX Users Group, 2011.
-% You may freely use, modify and / or redistribute this file.
+% You may freely use, copy, modify and / or redistribute this file.
+%
+% This is a generated file. If you wish to edit it, consider adapting the
+% generating programme
+% (svn://tug.org/texhyphen/trunk/hyph-utf8/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua).
%
% The BCP 47 language tag for that file is "mul-ethi" to reflect the fact that
% it can be used by multiple languages (and a single script, Ethiopic). It is,
@@ -64,10 +68,6 @@ pattfile:write[[
% do for the moment is to simply allow break on either sides of Ethiopic
% syllables, and to forbid it before some punctuation marks particular to
% the Ethiopic script (which we thus make letters for this purpose).
-%
-% This is a generated file. If you wish to edit it, consider adapting the
-% generating programme
-% (svn://tug.org/texhyphen/trunk/hyph-utf8/source/generic/hyph-utf8/languages/ethiopic/make-patterns.lua.
]]
diff --git a/Master/texmf-dist/source/luatex/hyph-utf8/luatex-hyphen.dtx b/Master/texmf-dist/source/luatex/hyph-utf8/luatex-hyphen.dtx
index bca95daf0c7..c5a5af933a0 100644
--- a/Master/texmf-dist/source/luatex/hyph-utf8/luatex-hyphen.dtx
+++ b/Master/texmf-dist/source/luatex/hyph-utf8/luatex-hyphen.dtx
@@ -192,9 +192,11 @@ This work is under the CC0 license.
% \begin{itemize}
% \item For most languages:
% \begin{quote}
-% \verb+patterns = <string> filename for patterns+\\
-% \verb+hyphenation = <string> filename for exceptions+\\
+% \verb+patterns = <string> filenames for patterns+\\
+% \verb+hyphenation = <string> filenames for exceptions+\\
% \end{quote}
+% Each string contains a coma-separated list of file names (whitespace
+% before or after the coma is not accepted).
% The files given by \verb+patterns+ (resp. \verb+hypenation+) must be
% plain text files encoded in utf8, with only patterns (resp.
% exceptions) and not even comments: their content will be used
@@ -217,8 +219,8 @@ This work is under the CC0 license.
% \item Optional fields may be added. For example:
% \begin{quote}
% \verb+loader = <string> name of the TeX loader+\\
-% \verb+lefthyphenmin = <number> value for \letfhyphenmin+\\
-% \verb+righthyphenmin = <number> value for \letfhyphenmin+
+% \verb+lefthyphenmin = <number> value for \lefthyphenmin+\\
+% \verb+righthyphenmin = <number> value for \righthyphenmin+
% \end{quote}
% Those fields are present in \texttt{language.dat.lua} as generated bu
% \texttt{tlmgr}, for example, but they \emph{are not} used by the present
@@ -280,6 +282,7 @@ local dbfile = kpse.find_file(dbname)
if not dbfile then
err("file not found: "..dbname)
else
+ wlog('using data file: %s', dbfile)
language_dat = dofile(dbfile)
end
% \end{macrocode}
@@ -342,13 +345,15 @@ function loadlanguage(lname, id)
% \begin{macrocode}
wlog(msg, '', cname, id)
for _, item in ipairs{'patterns', 'hyphenation'} do
- local file = ldata[item]
- if file ~= nil and file ~= '' then
+ local filelist = ldata[item]
+ if filelist ~= nil and filelist ~= '' then
+ for _, file in ipairs(filelist:explode(',')) do
local file = kpse.find_file(file) or err("file not found: %s", file)
local fh = io.open(file, 'r')
local data = fh:read('*a') or err("file not readable: %s", f)
fh:close()
lang[item](lang.new(id), data)
+ end
else
if item == 'hyphenation' then item = item..' exceptions' end
wlog("info: no %s for this language", item)