source: trunk/dports/print/ghostscript-fonts-hiragino/Portfile @ 112516

Last change on this file since 112516 was 112516, checked in by takanori@…, 6 years ago

ghostscript-fonts-hiragino:

  • variant '+no_alias' should be changed to -alias (Ticket #39383)
  • experimental support for Yu fonts (Mavericks only)
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 14.4 KB
Line 
1# $Id: Portfile 112516 2013-10-25 06:40:32Z takanori@macports.org $
2
3PortSystem      1.0
4
5name            ghostscript-fonts-hiragino
6version         9.10
7revision        1
8categories      print japanese chinese
9maintainers     takanori openmaintainer
10description     Hiragino font for ghostscript ${version}
11long_description \
12                ${description}
13license         Permissive
14platforms       macosx
15supported_archs noarch
16homepage
17master_sites
18distfiles
19
20depends_lib     port:ghostscript
21
22use_configure   no
23
24build {}
25
26destroot {
27    if {${os.platform} == "darwin" && ${os.major} <= 8} {
28        # for Tiger or older
29        set FontList {"/System/Library/Fonts/ヒラギノ角ゴ Pro W3.otf"  HiraKakuPro-W3     Adobe-Japan1 {GothicBBB-Medium A-OTF-GothicBBBPro-Medium}
30                      "/System/Library/Fonts/ヒラギノ角ゴ Pro W6.otf"  HiraKakuPro-W6     Adobe-Japan1 {FutoGoB101-Bold  A-OTF-FutoGoB101Pro-Bold}
31                      "/System/Library/Fonts/ヒラギノ角ゴ Std W8.otf"  HiraKakuStd-W8     Adobe-Japan1 {}
32                      "/System/Library/Fonts/ヒラギノ丸ゴ Pro W4.otf"  HiraMaruPro-W4     Adobe-Japan1 {Jun101-Light     A-OTF-Jun101Pro-Light}
33                      "/System/Library/Fonts/ヒラギノ明朝 Pro W3.otf"  HiraMinPro-W3      Adobe-Japan1 {Ryumin-Light     A-OTF-RyuminPro-Light}
34                      "/System/Library/Fonts/ヒラギノ明朝 Pro W6.otf"  HiraMinPro-W6      Adobe-Japan1 {FutoMinA101-Bold A-OTF-FutoMinA101Pro-Bold}}
35    } else {
36        set FontList {"/Library/Fonts/ヒラギノ角ゴ Pro W3.otf"         HiraKakuPro-W3     Adobe-Japan1 {GothicBBB-Medium A-OTF-GothicBBBPro-Medium}
37                      "/Library/Fonts/ヒラギノ角ゴ Pro W6.otf"         HiraKakuPro-W6     Adobe-Japan1 {FutoGoB101-Bold  A-OTF-FutoGoB101Pro-Bold}
38                      "/Library/Fonts/ヒラギノ角ゴ Std W8.otf"         HiraKakuStd-W8     Adobe-Japan1 {}
39                      "/Library/Fonts/ヒラギノ丸ゴ Pro W4.otf"         HiraMaruPro-W4     Adobe-Japan1 {Jun101-Light     A-OTF-Jun101Pro-Light}
40                      "/Library/Fonts/ヒラギノ明朝 Pro W3.otf"         HiraMinPro-W3      Adobe-Japan1 {Ryumin-Light     A-OTF-RyuminPro-Light}
41                      "/Library/Fonts/ヒラギノ明朝 Pro W6.otf"         HiraMinPro-W6      Adobe-Japan1 {FutoMinA101-Bold A-OTF-FutoMinA101Pro-Bold}
42                      "/System/Library/Fonts/ヒラギノ角ゴ ProN W3.otf" HiraKakuProN-W3    Adobe-Japan1 {}
43                      "/System/Library/Fonts/ヒラギノ角ゴ ProN W6.otf" HiraKakuProN-W6    Adobe-Japan1 {}
44                      "/Library/Fonts/ヒラギノ角ゴ StdN W8.otf"        HiraKakuStdN-W8    Adobe-Japan1 {}
45                      "/Library/Fonts/ヒラギノ丸ゴ ProN W4.otf"        HiraMaruProN-W4    Adobe-Japan1 {}
46                      "/System/Library/Fonts/ヒラギノ明朝 ProN W3.otf" HiraMinProN-W3     Adobe-Japan1 {}
47                      "/System/Library/Fonts/ヒラギノ明朝 ProN W6.otf" HiraMinProN-W6     Adobe-Japan1 {}}
48    }
49
50    if {${os.platform} == "darwin"} {
51        if {${os.major} >= 10} {
52            # for SnowLeopard or newer
53            lappend FontList \
54                      "/Library/Fonts/Hiragino Sans GB W3.otf"         HiraginoSansGB-W3  Adobe-GB1    {} \
55                      "/Library/Fonts/Hiragino Sans GB W6.otf"         HiraginoSansGB-W6  Adobe-GB1    {}
56        }
57        if {${os.major} >= 13 && [variant_isset yu]} {
58            # for Mavericks or newer; may be unstable
59            lappend FontList \
60                      "/Library/Fonts/Yu Gothic Bold.otf"              YuGo-Bold          Adobe-Japan1 {} \
61                      "/Library/Fonts/Yu Gothic Medium.otf"            YuGo-Medium        Adobe-Japan1 {} \
62                      "/Library/Fonts/Yu Mincho Demibold.otf"          YuMin-Demibold     Adobe-Japan1 {} \
63                      "/Library/Fonts/Yu Mincho Medium.otf"            YuMin-Medium       Adobe-Japan1 {}
64        }
65    }
66
67    set GSFontDir ${destroot}${prefix}/share/ghostscript/${version}/Resource/Font
68    set GSCIDFontDir ${destroot}${prefix}/share/ghostscript/${version}/Resource/CIDFont
69    set EncodeList(Adobe-Japan1) {78-EUC-H
70                                  78-EUC-V
71                                  78-H
72                                  78-RKSJ-H
73                                  78-RKSJ-V
74                                  78-V
75                                  78ms-RKSJ-H
76                                  78ms-RKSJ-V
77                                  83pv-RKSJ-H
78                                  90ms-RKSJ-H
79                                  90ms-RKSJ-V
80                                  90msp-RKSJ-H
81                                  90msp-RKSJ-V
82                                  90pv-RKSJ-H
83                                  90pv-RKSJ-V
84                                  Add-H
85                                  Add-RKSJ-H
86                                  Add-RKSJ-V
87                                  Add-V
88                                  Adobe-Japan1-0
89                                  Adobe-Japan1-1
90                                  Adobe-Japan1-2
91                                  Adobe-Japan1-3
92                                  Adobe-Japan1-4
93                                  Adobe-Japan1-5
94                                  Adobe-Japan1-6
95                                  EUC-H
96                                  EUC-V
97                                  Ext-H
98                                  Ext-RKSJ-H
99                                  Ext-RKSJ-V
100                                  Ext-V
101                                  H
102                                  Hankaku
103                                  Hiragana
104                                  Identity-H
105                                  Identity-V
106                                  Katakana
107                                  NWP-H
108                                  NWP-V
109                                  RKSJ-H
110                                  RKSJ-V
111                                  Roman
112                                  UniJIS-UCS2-H
113                                  UniJIS-UCS2-HW-H
114                                  UniJIS-UCS2-HW-V
115                                  UniJIS-UCS2-V
116                                  UniJIS-UTF16-H
117                                  UniJIS-UTF16-V
118                                  UniJIS-UTF32-H
119                                  UniJIS-UTF32-V
120                                  UniJIS-UTF8-H
121                                  UniJIS-UTF8-V
122                                  UniJIS2004-UTF16-H
123                                  UniJIS2004-UTF16-V
124                                  UniJIS2004-UTF32-H
125                                  UniJIS2004-UTF32-V
126                                  UniJIS2004-UTF8-H
127                                  UniJIS2004-UTF8-V
128                                  UniJISPro-UCS2-HW-V
129                                  UniJISPro-UCS2-V
130                                  UniJISPro-UTF8-V
131                                  UniJISX0213-UTF32-H
132                                  UniJISX0213-UTF32-V
133                                  UniJISX02132004-UTF32-H
134                                  UniJISX02132004-UTF32-V
135                                  V
136                                  WP-Symbol}
137    set EncodeList(Adobe-GB1)    {Adobe-GB1-0
138                                  Adobe-GB1-1
139                                  Adobe-GB1-2
140                                  Adobe-GB1-3
141                                  Adobe-GB1-4
142                                  Adobe-GB1-5
143                                  GB-EUC-H
144                                  GB-EUC-V
145                                  GB-H
146                                  GB-RKSJ-H
147                                  GB-V
148                                  GBK-EUC-H
149                                  GBK-EUC-V
150                                  GBK2K-H
151                                  GBK2K-V
152                                  GBKp-EUC-H
153                                  GBKp-EUC-V
154                                  GBT-EUC-H
155                                  GBT-EUC-V
156                                  GBT-H
157                                  GBT-RKSJ-H
158                                  GBT-V
159                                  GBTpc-EUC-H
160                                  GBTpc-EUC-V
161                                  GBpc-EUC-H
162                                  GBpc-EUC-V
163                                  Identity-H
164                                  Identity-V
165                                  UniGB-UCS2-H
166                                  UniGB-UCS2-V
167                                  UniGB-UTF16-H
168                                  UniGB-UTF16-V
169                                  UniGB-UTF32-H
170                                  UniGB-UTF32-V
171                                  UniGB-UTF8-H
172                                  UniGB-UTF8-V}
173    set EncodeList(Adobe-CNS1)   {Adobe-CNS1-0
174                                  Adobe-CNS1-1
175                                  Adobe-CNS1-2
176                                  Adobe-CNS1-3
177                                  Adobe-CNS1-4
178                                  Adobe-CNS1-5
179                                  Adobe-CNS1-6
180                                  B5-H
181                                  B5-V
182                                  B5pc-H
183                                  B5pc-V
184                                  CNS-EUC-H
185                                  CNS-EUC-V
186                                  CNS1-H
187                                  CNS1-V
188                                  CNS2-H
189                                  CNS2-V
190                                  ETHK-B5-H
191                                  ETHK-B5-V
192                                  ETen-B5-H
193                                  ETen-B5-V
194                                  ETenms-B5-H
195                                  ETenms-B5-V
196                                  HKdla-B5-H
197                                  HKdla-B5-V
198                                  HKdlb-B5-H
199                                  HKdlb-B5-V
200                                  HKgccs-B5-H
201                                  HKgccs-B5-V
202                                  HKm314-B5-H
203                                  HKm314-B5-V
204                                  HKm471-B5-H
205                                  HKm471-B5-V
206                                  HKscs-B5-H
207                                  HKscs-B5-V
208                                  Identity-H
209                                  Identity-V
210                                  UniCNS-UCS2-H
211                                  UniCNS-UCS2-V
212                                  UniCNS-UTF16-H
213                                  UniCNS-UTF16-V
214                                  UniCNS-UTF32-H
215                                  UniCNS-UTF32-V
216                                  UniCNS-UTF8-H
217                                  UniCNS-UTF8-V}
218    set EncodeList(Adobe-Korea1) {Adobe-Korea1-0
219                                  Adobe-Korea1-1
220                                  Adobe-Korea1-2
221                                  Identity-H
222                                  Identity-V
223                                  KSC-EUC-H
224                                  KSC-EUC-V
225                                  KSC-H
226                                  KSC-Johab-H
227                                  KSC-Johab-V
228                                  KSC-RKSJ-H
229                                  KSC-V
230                                  KSCms-UHC-H
231                                  KSCms-UHC-HW-H
232                                  KSCms-UHC-HW-V
233                                  KSCms-UHC-V
234                                  KSCpc-EUC-H
235                                  KSCpc-EUC-V
236                                  UniKS-UCS2-H
237                                  UniKS-UCS2-V
238                                  UniKS-UTF16-H
239                                  UniKS-UTF16-V
240                                  UniKS-UTF32-H
241                                  UniKS-UTF32-V
242                                  UniKS-UTF8-H
243                                  UniKS-UTF8-V}
244
245    xinstall -m 755 -d ${GSFontDir}
246    xinstall -m 755 -d ${GSCIDFontDir}
247
248    foreach {fontfile fontname fontset aliases} ${FontList} {
249        if {![file exists ${fontfile}]} {
250            return -code error "Font file \"${fontfile}\" is not found."
251        }
252
253        ln -s ${fontfile} ${GSCIDFontDir}/${fontname}
254
255        foreach encode "$EncodeList($fontset)" {
256            set fd [open [file join ${GSFontDir} ${fontname}-${encode}] w 0644]
257            puts ${fd} "%!PS-Adobe-3.0 Resource-Font"
258            puts ${fd} "%%DocumentNeededResources: ${encode} (CMap)"
259            puts ${fd} "%%IncludeResource: ${encode} (CMap)"
260            puts ${fd} "%%BeginResource: Font (${fontname}-${encode})"
261            puts ${fd} "(${fontname}-${encode})"
262            puts ${fd} "(${encode}) /CMap findresource"
263            puts ${fd} "\[(${fontname}) /CIDFont findresource\]"
264            puts ${fd} "composefont"
265            puts ${fd} "pop"
266            puts ${fd} "%%EndResource"
267            puts ${fd} "%%EOF"
268            close ${fd}
269        }
270
271        if {![variant_isset no_alias]} {
272            foreach alias ${aliases} {
273                foreach encode "$EncodeList($fontset)" {
274                    set fd [open [file join ${GSFontDir} ${alias}-${encode}] w 0644]
275                    puts ${fd} "%!PS-Adobe-3.0 Resource-Font"
276                    puts ${fd} "%%DocumentNeededResources: ${encode} (CMap)"
277                    puts ${fd} "%%IncludeResource: ${encode} (CMap)"
278                    puts ${fd} "%%BeginResource: Font (${alias}-${encode})"
279                    puts ${fd} "(${alias}-${encode})"
280                    puts ${fd} "(${encode}) /CMap findresource"
281                    puts ${fd} "\[(${fontname}) /CIDFont findresource\]"
282                    puts ${fd} "composefont"
283                    puts ${fd} "pop"
284                    puts ${fd} "%%EndResource"
285                    puts ${fd} "%%EOF"
286                    close ${fd}
287                }
288            }
289        }
290    }
291}
292
293if {[variant_isset no_alias]} {
294    default_variants    -alias
295} else {
296    default_variants    +alias
297}
298
299variant yu description {Add support for Yu fonts (experimental; unstable)} {
300    if {${os.platform} == "darwin" && ${os.major} >= 13} {
301        # nop
302    } else {
303        return -code error "variant +yu is supported on Mavericks or later only"
304    }
305    notes "WARNING: Handling Yu fonts on ghostscript may cause unstable behavior"
306}
307
308variant no_alias description {Legacy compatibility variant} {}
309
310variant alias description "Use Hiragino as an alternative to Morisawa's standard 5 fonts" {}
311
312livecheck.type  none
Note: See TracBrowser for help on using the repository browser.