On 4/29/2013 10:50 PM, Arthur Tu wrote:
On 4/30/2013 12:47 AM, Ken Brown wrote:
On 4/28/2013 12:56 PM, Arthur Tu wrote:
After lualatex command, file
"~/.cache/texmf/luatex-cache/generic/names/otfl-names.lua" was
generated.

Entry like this for example
   {
    ["familyname"]="SimSun",
    ["filename"]={ "c:/windows/fonts/simsun.ttc", 0 },
    ["fontname"]="SimSun",
    ["fullname"]="SimSun",
    ["names"]={
     ["family"]="SimSun",
     ["fullname"]="SimSun",
     ["psname"]="SimSun",
     ["subfamily"]="Regular",
    },
    ["size"]={},
    ["slant"]=0,
    ["weight"]=400,
    ["width"]=5,
   },

when I used \setmainfont{SimSun}, error occured that SimSun font not
found.
When i used \setmainjfont[Path=/cygdrive/c/windows/fonts/]{simsun.ttc}
A typo here.
\setmainjfont Should be \setmainfont. \setmainjfont only works when
luatex-ja package is available.
and specify the path in *unix-style, it works.

So i think this is another mixed path style problem in cygwin.
Even though the fonts in system dir are listed in otfl-names.lua, they
can't be accessed because their pathes are in windows-style.

I'm on vacation right now, but I'll look into this in mid-May when I
return.

I'm still on vacation but had a chance to look at this. The problem is the Cygwin-specific code in /usr/share/texmf-dist/tex/luatex/luaotfload/otfl-font-nms.lua.orig otfl-font-nms.lua. If you remove that code (see the attached patch) and regenerate ~/.cache/texmf/luatex-cache/generic/names/otfl-names.lua, I think the problem will be solved.

Ken

--- otfl-font-nms.lua.orig      2012-12-21 18:12:14.000000000 -0500
+++ otfl-font-nms.lua   2013-05-07 13:33:36.478763100 -0400
@@ -393,7 +393,7 @@
         - reading symlinks under non-Win32
         - using kpse.readable_file on Win32
     ]]
-    if os.type == "windows" or os.type == "msdos" or os.name == "cygwin" then
+    if os.type == "windows" or os.type == "msdos" then
         path = path:gsub('\\', '/')
         path = path:lower()
         path = path:gsub('^/cygdrive/(%a)/', '%1:/')
@@ -600,7 +600,7 @@
             "/System/Library/Fonts",
             "/Network/Library/Fonts",
         }
-    elseif os.type == "windows" or os.type == "msdos" or os.name == "cygwin" 
then
+    elseif os.type == "windows" or os.type == "msdos" then
         local windir = os.getenv("WINDIR")
         return { file.join(windir, 'Fonts') }
     else

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to