texlive[50993] Master/texmf-dist: luavlna (16apr19)

commits+karl at tug.org commits+karl at tug.org
Sun May 5 00:48:20 CEST 2019


Revision: 50993
          http://tug.org/svn/texlive?view=revision&revision=50993
Author:   karl
Date:     2019-05-05 00:48:20 +0200 (Sun, 05 May 2019)
Log Message:
-----------
luavlna (16apr19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/luatex/luavlna/README.md
    trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna-doc.pdf
    trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna-doc.tex
    trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna.tex
    trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-csplain-langs.lua
    trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-langno.lua
    trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna.lua

Modified: trunk/Master/texmf-dist/doc/luatex/luavlna/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luavlna/README.md	2019-05-04 22:48:07 UTC (rev 50992)
+++ trunk/Master/texmf-dist/doc/luatex/luavlna/README.md	2019-05-04 22:48:20 UTC (rev 50993)
@@ -1,4 +1,4 @@
-# Luavlna, version v0.1b, 2018-05-31
+# Luavlna, version v0.1c, 2019-04-16
 
 # Introduction
 

Modified: trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna-doc.tex	2019-05-04 22:48:07 UTC (rev 50992)
+++ trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna-doc.tex	2019-05-04 22:48:20 UTC (rev 50993)
@@ -227,7 +227,7 @@
 \subsection{Recognized languages}
 \subsubsection{Lua\TeX\ and Lua\LaTeX}
 
-File \verb|language.dat| is processed to load language names, aliases and assigned numbers. These language names are the same as supported by \verb|babel| package.
+File \verb|language.dat| is processed to load language names, aliases and assigned numbers. These language names are the same as names supported by the \verb|babel| package.
 
 \begin{quotation}
   \small\noindent
@@ -248,10 +248,7 @@
 
 \subsubsection{CSplain}
 
-Different method is used. File \verb|hyphen.lan| is included in CSplain, where 
-language numbers are assigned to ISO-639-1 or ISO-639-2 language codes. 
-These language codes were then normalized to names used vy \verb|babel|, or 
-standard English language names.
+Different method is used with the CSplain format. The \verb|lua-hyphen.lan| file is parsed for the language codes.
 
 \begin{quotation}
   \small\noindent

Modified: trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna.tex
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna.tex	2019-05-04 22:48:07 UTC (rev 50992)
+++ trunk/Master/texmf-dist/doc/luatex/luavlna/luavlna.tex	2019-05-04 22:48:20 UTC (rev 50993)
@@ -1,17 +1,13 @@
-% detect LaTeX and use the correct method for luatexbase inclusion
-\ifx\RequirePackage\undefined
-  \input{luatexbase.sty}%
-\else
-  \RequirePackage{luatexbase}
-\fi
-
-\newluatexattribute\preventsinglestatus
 % Modify pre_linebreak_filter callback so the spaces can be inserted
 \directlua{%         
 luavlna = require "luavlna" 
 langno  = require "luavlna-langno"
-luatexbase.add_to_callback("pre_linebreak_filter", luavlna.preventsingle," ")
 
+require "ltluatex"
+luatexbase.add_to_callback("pre_linebreak_filter", luavlna.preventsingle,"LuaVlna")
+% -- define the attribute number
+luavlna.preventsingleid = math.random(2^16)
+
 local languages = langno.load_languages()
 local get_lang_id = function(lang)
   local langid = lang 
@@ -78,6 +74,9 @@
 	\directlua{set_main_language("#1")}
 } 
 
+%\newluatexattribute\preventsinglestatus
+\attributedef\preventsinglestatus=\directlua{tex.print(luavlna.preventsingleid)} % just a random number
+
 \def\preventsingleon{%
 	\preventsinglestatus=2
 }

Modified: trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-csplain-langs.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-csplain-langs.lua	2019-05-04 22:48:07 UTC (rev 50992)
+++ trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-csplain-langs.lua	2019-05-04 22:48:20 UTC (rev 50993)
@@ -1,59 +1,21 @@
-return {
-["spanish; castilian"]={26, 126},
-["magyar; hungarian"]={30, 130},
-["english; usenglish; american"]={100},
-["icelandic"]={42, 142},
-["basque"]={33, 133},
-["coptic"]={205},
-["catalan; valencian"]={204},
-["welsh"]={24, 124},
-["irish"]={34, 134},
-["armenian"]={210},
-["chinese"]={41, 141},
-["danish"]={25, 125},
-["turkish"]={31, 131},
-["interlingua "]={103},
-["slovak"]={6, 16, 116},
-["english; ukenglish; british"]={101},
-["ukrainian"]={209},
-["turkmen"]={47, 147},
-["sanskrit"]={207},
-["hindi"]={212},
-["lao"]={214},
-["finnish"]={29, 129},
-["assamese"]={211},
-["greek; polutonikogreek"]={203},
-["czech"]={5, 15, 115},
-["tamil"]={221},
-["italian"]={102},
-["french; francais; canadien; acadian"]={22, 122},
-["telugu"]={222},
-["croatian"]={40, 140},
-["panjabi; punjabi"]={220},
-["oriya"]={219},
-["russian"]={208},
-["malayalam"]={217},
-["marathi"]={218},
-["uppersorbian"]={43, 143},
-["portuges; portuguese; brazilian; brazil"]={38, 138},
-["galician"]={45, 145},
-["latvian"]={215},
-["afrikaans"]={44, 144},
-["lithuanian"]={216},
-["slovenian;slovene"]={28, 128},
-["mongolian"]={206},
-["greek; polutonikogreek"]={202},
-["latin"]={48, 148},
-["indonesian; indon; bahasai; bahasam; malay; meyalu"]={104},
-["polish"]={23, 123},
-["bokmål"]={35, 135},
-["dutch; flemish"]={37, 137},
-["greek; polutonikogreek"]={201},
-["norsk; nynorsk; norwegian"]={36, 136},
-["kannada"]={213},
-["estonian"]={32, 132},
-["english; usenglish; american; ukenglish; british; canadian; australian; newzealand"]={0},
-["romanian; moldavian; moldovan"]={39, 139},
-["german; germanb; ngerman; naustrian"]={21, 121},
-["kurdish"]={46, 146},
-}
+local languages = {}
+local function parse_language_lan(content)
+  for name,  id in content:gmatch("preplang%s+.-%s+(.-)%s+.-%s(.-)%s+") do
+    -- skip invalid languages
+    if not name:match("%#") then
+      languages[name] = id
+    end
+  end
+end
+
+local langfile = kpse.find_file("lua-hyphen.lan")
+if langfile then
+  local f = io.open(langfile, "r")
+  local content = f:read("*all")
+  parse_language_lan(content)
+  f:close()
+end
+
+
+return languages
+

Modified: trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-langno.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-langno.lua	2019-05-04 22:48:07 UTC (rev 50992)
+++ trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna-langno.lua	2019-05-04 22:48:20 UTC (rev 50993)
@@ -67,7 +67,6 @@
 	local numlang = {}
 	for k, v in pairs(l) do
 		local first = k:gsub(" *;.*","")
-		--print(first)
 		langnum[first] = v
 		for _,i in ipairs(v) do
 			numlang[i] = first
@@ -85,7 +84,7 @@
 drivers["default"] = load_lang_dat
 drivers["csplain"] = load_csplain
 drivers["pdfcsplain"] = load_csplain
-drivers["luaplain"] = load_csplain
+drivers["luacsplain"] = load_csplain
 
 local load_languages = function(name)
   local name = name or format

Modified: trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna.lua	2019-05-04 22:48:07 UTC (rev 50992)
+++ trunk/Master/texmf-dist/tex/luatex/luavlna/luavlna.lua	2019-05-04 22:48:20 UTC (rev 50993)
@@ -47,15 +47,12 @@
 -- must be table in the {char = true, char2=true} form
 local set_singlechars= function(lang,c)
   --print("Set single chars lua")
-  print(type(lang), lang)
   if type(lang) == "table" then
     for _,l in pairs(lang) do
-      print("language: ",l)
       singlechars[l] = c
     end
   else
     local lang = tonumber(lang)
-    print("language: ",lang)
     -- for k,_ in pairs(c) do print(k) end
     singlechars[lang] = c
   end
@@ -231,7 +228,8 @@
   while head do
     local id = head.id 
     local nextn = head.next
-    local skip = node.has_attribute(head, luatexbase.attributes.preventsinglestatus) 
+    -- local skip = node.has_attribute(head, luatexbase.attributes.preventsinglestatus) 
+    local skip = node.has_attribute(head, M.preventsingleid)
     if id == math_id then
       if head.subtype == 0 then
         word = ""



More information about the tex-live-commits mailing list