summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb')
-rw-r--r--Master/texmf-dist/source/generic/hyph-utf8/generate-tl-files.rb51
1 files changed, 19 insertions, 32 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 223b3f04579..7460658f020 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
@@ -3,18 +3,20 @@
# this file auto-generates tlpsrc files for hyphenation patterns - to be improved
-require_relative 'languages.rb'
-include Language::TeXLive
+require_relative 'lib/tex/hyphen'
+require_relative 'lib/tex/hyphen/texlive'
+include TeX::Hyphen
include TeXLive
#--------#
# TLPSRC #
#--------#
+print 'Generating .tlpsrc files for packages: '
Package.all.sort.each do |package|
tlpsrcname = File.join(PATH::TLPSRC, sprintf('hyphen-%s.tlpsrc', package.name.safe))
file_tlpsrc = File.open(tlpsrcname, 'w')
- printf "generating %s\n", tlpsrcname
+ print package.name.safe, ' '
file_tlpsrc.puts "category TLCore"
package.list_dependencies.each do |dependency|
@@ -23,23 +25,16 @@ Package.all.sort.each do |package|
# FIXME Still doesn’t work well for Latin
file_tlpsrc.printf "shortdesc %s.\n", package.description_s
- package.description_l.each do |line|
- file_tlpsrc.printf "longdesc %s\n", line
- end
+ package.description.split("\n").each do |line|
+ file_tlpsrc.printf "longdesc %s\n", line
+ end
package.languages.each do |language|
- if language.description_s && language.description_l then
- # file_tlpsrc.printf "shortdesc %s.\n", language.description_s
- # language.description_l.each do |line|
- # file_tlpsrc.printf "longdesc %s\n", line
- # end
- end
-
- file_tlpsrc.printf "execute AddHyphen \\\n\tname=%s%s \\\n", language.name.safe, language.list_synonyms
+ file_tlpsrc.printf "execute AddHyphen \\\n\tname=%s%s \\\n", language.babelname, language.list_synonyms
file_tlpsrc.printf "\t%s \\\n\t%s", language.list_hyphenmins, language.list_loader
if language.patterns_line + language.exceptions_line != ""
file_tlpsrc.printf " \\\n\t%s \\\n\t%s", language.patterns_line, language.exceptions_line
end
- if language.code == "mn-cyrl-x-lmc" then
+ if language.bcp47 == "mn-cyrl-x-lmc" then
file_tlpsrc.printf " \\\n\tluaspecial=\"disabled:only for 8bit montex with lmc encoding\""
end
# end-of-line
@@ -61,22 +56,14 @@ Package.all.sort.each do |package|
end
file_tlpsrc.close
end
+puts
-#--------------#
-# language.dat #
-#--------------#
-language_dat_filename = File.join PATH::LANGUAGE_DAT, 'language.dat'
-File.open(language_dat_filename, 'w') do |file_language_dat|
- printf "Generating %s\n", language_dat_filename
- Package.all.sort.each do |package|
- package.languages.each do |language|
- # main language name
- file_language_dat.printf "%s\t%s\n", language.name.safe, language.loadhyph
+#--------------------------#
+# language.dat and friends #
+#--------------------------#
+system sprintf "tlmgr generate --dest %s language.dat", File.join(PATH::LANGUAGE_DAT, 'language.dat')
+system sprintf "tlmgr generate --dest %s language.dat.lua", File.join(PATH::LANGUAGE_DAT, 'language.dat.lua')
- # synonyms
- language.synonyms.each do |synonym|
- file_language_dat.printf "=%s\n", synonym
- end
- end
- end
-end
+# Revert changes if only line with date was changed
+diff_lines = `git diff #{PATH::LANGUAGE_DAT}/language.dat* | egrep '^[+-](%|--) Generated' | wc -l`.strip
+`git checkout HEAD -- #{PATH::LANGUAGE_DAT}/language.dat*` if diff_lines == '4'