Opened 8 years ago

Closed 8 years ago

#49279 closed defect (fixed)

ghostscript-fonts-hiragino 9.16 fails to build on OS X 10.11 El Capitan

Reported by: ksze (Kal Sze) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: elcapitan Cc: kazu-yamamoto (Kazu Yamamoto), kobayos, kurthindenburg (Kurt Hindenburg)
Port: ghostscript-fonts-hiragino

Description

Apparently some system fonts have been removed from OS X 10.11.

OS X 10.11.0 El Capitan

Xcode 7.0.1

MacPorts 2.3.4

Attachments (3)

main.log (58.6 KB) - added by ksze (Kal Sze) 8 years ago.
Build log
Portfile.patch (8.5 KB) - added by kobayos 8 years ago.
Portfile2.patch (8.7 KB) - added by kobayos 8 years ago.

Download all attachments as: .zip

Change History (15)

Changed 8 years ago by ksze (Kal Sze)

Attachment: main.log added

Build log

comment:1 Changed 8 years ago by kazu-yamamoto (Kazu Yamamoto)

Cc: kazu@… added

Cc Me!

comment:2 Changed 8 years ago by kobayos

According to following links, ghostscript does not support otc font file that is adopted for Hiragino fonts in El Capitan. Therefore, there is no way to display Japanese characters by using the Hiragino fonts.

https://oku.edu.mie-u.ac.jp/~okumura/texwiki/ (In Japanese)

http://doratex.hatenablog.jp/entry/20151008/1444310306 (In Japanese)

Should we ask to open a new port that uses the other free Japanese fonts such as ipa fonts to display Japanese characters?

Even in the case, I prefer to keep this port because Hiragino fonts may be available in ghostscript by purchasing the Hiragino font package. In this case, locations where the hiragino fonts in otf format is copied may be designated somewhere to avoid conflicts with the Hiragino fonts in the system.

comment:3 Changed 8 years ago by kobayos

I contacted apple support by phone to confirm legality of use of Hiragino fonts that are involved in Yosemite in El Capitan. According to the support, there is no problem to use the fonts in El Capitan.

Therefore, I would like to change the portfile to make the symbolic links of the font files from an appropriate location where the font files would be copied to the location in the texmf tree under El Capitan. And further, I would change the portfile to display a message to guide people who have older OS for copying the font files to the designated location if the font files do not exist at the location.

Are there any recommendation on the location?

Last edited 8 years ago by kobayos (previous) (diff)

comment:4 Changed 8 years ago by kobayos

Cc: kobayos@… added

Cc Me!

comment:5 Changed 8 years ago by kazu-yamamoto (Kazu Yamamoto)

Good news! Thank you for your nice work.

Changed 8 years ago by kobayos

Attachment: Portfile.patch added

comment:6 Changed 8 years ago by kobayos

Please find the patch file for the portfile. This patch assumes that the hiragino font files in otf format are copied to "/opt/local/share/fonts/HiraginoOTF". If the font files exist there, the symbolic links are correctly generated in the texmf tree.

If there are any better locations to copy these files, please let me know it.

I checked the portfile in El Capitan and Japanese characters are correctly displayed.

Last edited 8 years ago by kobayos (previous) (diff)

comment:7 Changed 8 years ago by mf2k (Frank Schima)

Thank you.

This patch assumes the default Macports install directory of /opt/local. Instead it needs to reference the global variable $prefix.

comment:8 in reply to:  7 Changed 8 years ago by kobayos

Thank you.

Although I tried to do it, the global variable ${prefix} was not expanded to "/opt/local" if I just replace "/opt/local" to ${prefix} in the portfile. It still remain as a text of "${prefix}" and error occurred.

I was wondering that it is because the "/opt/local" is in the double quotes. Did I make mistakes in the portfile? I am very happy If someone tells me correct ways. I could not find any documents that introduce it in detail.

Replying to mf2k@…:

Thank you.

This patch assumes the default Macports install directory of /opt/local. Instead it needs to reference the global variable $prefix.

comment:9 Changed 8 years ago by kurthindenburg (Kurt Hindenburg)

Cc: khindenburg@… added

Cc Me!

comment:10 Changed 8 years ago by kurthindenburg (Kurt Hindenburg)

as pointed out use ${prefix} instead of /opt/local and then below use:

     foreach {fontfile fontname fontset aliases} ${FontList} {
+        # expand ${prefix}
+        set fontfile [subst -nocommands ${fontfile}]
         if {![file exists ${fontfile}]} {

I don't have any of these fonts installed so I can't really test. If you're sure it works, I can commit it for you.

Changed 8 years ago by kobayos

Attachment: Portfile2.patch added

comment:11 in reply to:  10 Changed 8 years ago by kobayos

Thank you for your advice.

I modified the port file by following your instruction and checked it on El Capitan and Yosemite. I confirmed it works fine on the both system. However, I am not able to check it on the other system because I don't have the systems.

Replying to khindenburg@…:

as pointed out use ${prefix} instead of /opt/local and then below use:

     foreach {fontfile fontname fontset aliases} ${FontList} {
+        # expand ${prefix}
+        set fontfile [subst -nocommands ${fontfile}]
         if {![file exists ${fontfile}]} {

I don't have any of these fonts installed so I can't really test. If you're sure it works, I can commit it for you.

comment:12 Changed 8 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: newclosed

thanks r147875

Note: See TracTickets for help on using tickets.