@@ -198,26 +198,97 @@ def creattmp(mch, pun, simp):
198
198
del font ['glyf' ][v1 ]
199
199
200
200
print ('正在设置字体名称...' )
201
- nname = list ()
202
- for nj in font ['name' ]:
203
- if nj ['languageID' ]== 1041 :
204
- nk = dict (nj )
205
- ns = dict (nj )
206
- nt = dict (nj )
207
- nh = dict (nj )
208
- nk ['languageID' ]= 1042
209
- nk ['nameString' ]= nk ['nameString' ].replace ('源ノ明朝' , '본명조' ).replace ('源ノ角ゴシック' , '본고딕' ).replace ('源ノ等幅' , '본모노' )
210
- ns ['languageID' ]= 2052
211
- ns ['nameString' ]= ns ['nameString' ].replace ('源ノ明朝' , '思源宋体' ).replace ('源ノ角ゴシック' , '思源黑体' ).replace ('源ノ等幅' , '思源等宽' )
212
- nt ['languageID' ]= 1028
213
- nt ['nameString' ]= nt ['nameString' ].replace ('源ノ明朝' , '思源宋體' ).replace ('源ノ角ゴシック' , '思源黑體' ).replace ('源ノ等幅' , '思源等寬' )
214
- nh ['languageID' ]= 3076
215
- nh ['nameString' ]= nh ['nameString' ].replace ('源ノ明朝' , '思源宋體 香港' ).replace ('源ノ角ゴシック' , '思源黑體 香港' ).replace ('源ノ等幅' , '思源等寬 香港' )
216
- nname .append (nk )
217
- nname .append (ns )
218
- nname .append (nt )
219
- nname .append (nh )
220
- font ['name' ]= font ['name' ]+ nname
201
+ if setname == '1' :
202
+ nname = list ()
203
+ for nj in font ['name' ]:
204
+ if nj ['languageID' ]== 1041 :
205
+ nk = dict (nj )
206
+ ns = dict (nj )
207
+ nt = dict (nj )
208
+ nh = dict (nj )
209
+ nk ['languageID' ]= 1042
210
+ nk ['nameString' ]= nk ['nameString' ].replace ('源ノ明朝' , '본명조' ).replace ('源ノ角ゴシック' , '본고딕' ).replace ('源ノ等幅' , '본모노' )
211
+ ns ['languageID' ]= 2052
212
+ ns ['nameString' ]= ns ['nameString' ].replace ('源ノ明朝' , '思源宋体' ).replace ('源ノ角ゴシック' , '思源黑体' ).replace ('源ノ等幅' , '思源等宽' )
213
+ nt ['languageID' ]= 1028
214
+ nt ['nameString' ]= nt ['nameString' ].replace ('源ノ明朝' , '思源宋體' ).replace ('源ノ角ゴシック' , '思源黑體' ).replace ('源ノ等幅' , '思源等寬' )
215
+ nh ['languageID' ]= 3076
216
+ nh ['nameString' ]= nh ['nameString' ].replace ('源ノ明朝' , '思源宋體 香港' ).replace ('源ノ角ゴシック' , '思源黑體 香港' ).replace ('源ノ等幅' , '思源等寬 香港' )
217
+ nname .append (nk )
218
+ nname .append (ns )
219
+ nname .append (nt )
220
+ nname .append (nh )
221
+ font ['name' ]= font ['name' ]+ nname
222
+ elif setname == '2' :
223
+ nname = list ()
224
+ for nj in font ['name' ]:
225
+ if nj ['languageID' ]== 1041 :
226
+ ns = dict (nj )
227
+ nt = dict (nj )
228
+ nh = dict (nj )
229
+ ns ['languageID' ]= 2052
230
+ ns ['nameString' ]= ns ['nameString' ].replace ('源ノ明朝' , '尙古明体' ).replace ('源ノ角ゴシック' , '尙古黑体' ).replace ('源ノ等幅' , '尙古等宽' )
231
+ nt ['languageID' ]= 1028
232
+ nt ['nameString' ]= nt ['nameString' ].replace ('源ノ明朝' , '尙古明體' ).replace ('源ノ角ゴシック' , '尙古黑體' ).replace ('源ノ等幅' , '尙古等寬' )
233
+ nh ['languageID' ]= 3076
234
+ nh ['nameString' ]= nh ['nameString' ].replace ('源ノ明朝' , '尙古明體 香港' ).replace ('源ノ角ゴシック' , '尙古黑體 香港' ).replace ('源ノ等幅' , '尙古等寬 香港' )
235
+ nname .append (ns )
236
+ nname .append (nt )
237
+ nname .append (nh )
238
+ #elif nj['nameID']>0 and nj['nameID']<7:
239
+ else :
240
+ ne = dict (nj )
241
+ ne ['nameString' ]= ne ['nameString' ].replace ('Source Han' , 'Advocate Ancient' ).replace ('SourceHan' , 'AdvocateAncient' )
242
+ nname .append (ne )
243
+ font ['name' ]= nname
244
+ if 'CFF_' in font :
245
+ font ['CFF_' ]['fontName' ]= font ['CFF_' ]['fontName' ].replace ('SourceHan' , 'AdvocateAncient' )
246
+ font ['CFF_' ]['fullName' ]= font ['CFF_' ]['fullName' ].replace ('Source Han' , 'Advocate Ancient' )
247
+ font ['CFF_' ]['familyName' ]= font ['CFF_' ]['familyName' ].replace ('Source Han' , 'Advocate Ancient' )
248
+ if 'fdArray' in font ['CFF_' ]:
249
+ nfd = dict ()
250
+ for k in font ['CFF_' ]['fdArray' ].keys ():
251
+ nfd [k .replace ('SourceHan' , 'AdvocateAncient' )]= font ['CFF_' ]['fdArray' ][k ]
252
+ font ['CFF_' ]['fdArray' ]= nfd
253
+ for gl in font ['glyf' ].values ():
254
+ if 'CFF_fdSelect' in gl :
255
+ gl ['CFF_fdSelect' ]= gl ['CFF_fdSelect' ].replace ('SourceHan' , 'AdvocateAncient' )
256
+ if setname == '3' :
257
+ pname = enname .replace (' ' , '' )
258
+ nname = list ()
259
+ for nj in font ['name' ]:
260
+ if nj ['languageID' ]== 1041 :
261
+ ns = dict (nj )
262
+ nt = dict (nj )
263
+ nh = dict (nj )
264
+ ns ['languageID' ]= 2052
265
+ ns ['nameString' ]= ns ['nameString' ].replace ('源ノ明朝' , zhname ).replace ('源ノ角ゴシック' , zhname ).replace ('源ノ等幅' , zhname )
266
+ nt ['languageID' ]= 1028
267
+ nt ['nameString' ]= nt ['nameString' ].replace ('源ノ明朝' , zhname ).replace ('源ノ角ゴシック' , zhname ).replace ('源ノ等幅' , zhname )
268
+ nh ['languageID' ]= 3076
269
+ nh ['nameString' ]= nh ['nameString' ].replace ('源ノ明朝' , zhname ).replace ('源ノ角ゴシック' , zhname ).replace ('源ノ等幅' , zhname )
270
+ nname .append (ns )
271
+ nname .append (nt )
272
+ nname .append (nh )
273
+ #elif nj['nameID']>0 and nj['nameID']<7:
274
+ else :
275
+ ne = dict (nj )
276
+ ne ['nameString' ]= ne ['nameString' ].replace ('Source Han Sans' , enname ).replace ('SourceHanSans' , pname ).replace ('Source Han Serif' , enname ).replace ('SourceHanSerif' , pname ).replace ('Source Han Mono' , enname ).replace ('SourceHanMono' , pname )
277
+ nname .append (ne )
278
+ font ['name' ]= nname
279
+ if 'CFF_' in font :
280
+ font ['CFF_' ]['fontName' ]= font ['CFF_' ]['fontName' ].replace ('SourceHanSans' , pname ).replace ('SourceHanSerif' , pname ).replace ('SourceHanMono' , pname )
281
+ font ['CFF_' ]['fullName' ]= font ['CFF_' ]['fullName' ].replace ('Source Han Sans' , enname ).replace ('Source Han Serif' , enname ).replace ('Source Han Mono' , enname )
282
+ font ['CFF_' ]['familyName' ]= font ['CFF_' ]['familyName' ].replace ('Source Han Sans' , enname ).replace ('Source Han Serif' , enname ).replace ('Source Han Mono' , enname )
283
+ if 'fdArray' in font ['CFF_' ]:
284
+ nfd = dict ()
285
+ for k in font ['CFF_' ]['fdArray' ].keys ():
286
+ nfd [k .replace ('SourceHanSans' , pname ).replace ('SourceHanSerif' , pname ).replace ('SourceHanMono' , pname )]= font ['CFF_' ]['fdArray' ][k ]
287
+ font ['CFF_' ]['fdArray' ]= nfd
288
+ for gl in font ['glyf' ].values ():
289
+ if 'CFF_fdSelect' in gl :
290
+ gl ['CFF_fdSelect' ]= gl ['CFF_fdSelect' ].replace ('SourceHanSans' , pname ).replace ('SourceHanSerif' , pname ).replace ('SourceHanMono' , pname )
291
+
221
292
print ('正在生成字体...' )
222
293
#tmpfile='tmp.json'
223
294
tmpfile = tempfile .mktemp ('.json' )
@@ -232,7 +303,9 @@ def creattmp(mch, pun, simp):
232
303
pun = str ()
233
304
simp = str ()
234
305
rmun = str ()
235
-
306
+ setname = str ()
307
+ enname = str ()
308
+ zhname = str ()
236
309
if len (sys .argv )< 3 :
237
310
while not os .path .isfile (inf ):
238
311
inf = input ('请输入字体文件路径(或拖入文件):\n ' )
@@ -258,6 +331,20 @@ def creattmp(mch, pun, simp):
258
331
pun = sys .argv [4 ]
259
332
simp = sys .argv [5 ]
260
333
rmun = sys .argv [6 ].lower ()
334
+ if len (sys .argv )< 8 :
335
+ while setname not in {'1' , '2' , '3' }:
336
+ setname = input ('字体名称设置:\n \t 1.使用思源原版字体名称.\n \t 2.使用尙古黑体、尙古明体\n \t 3.我来命名\n ' )
337
+ else :
338
+ setname = sys .argv [7 ]
339
+ if setname == '3' :
340
+ if len (sys .argv )< 10 :
341
+ while not enname .strip ():
342
+ enname = input ('请输入英文字体名称:\n ' )
343
+ while not zhname .strip ():
344
+ zhname = input ('请输入英文字体名称:\n ' )
345
+ else :
346
+ enname = sys .argv [8 ]
347
+ zhname = sys .argv [9 ]
261
348
262
349
print ('正在载入字体...' )
263
350
font = json .loads (subprocess .check_output ((otfccdump , '--no-bom' , inf )).decode ("utf-8" , "ignore" ))
0 commit comments