分页: 1 / 1
求助:批量文件重命名,谢谢!(部分解决)
发表于 : 2013-01-19 16:48
由 sunfish
现在有一批中文字体,文件名是中文的,这样子的话在xelatex编译时找不到,其中有些英文名可以,我想将文件名对应换成fc-list中输出的对应字体英文名,如何实现。

谢谢了
如果有一个两列字符串文件,第一列是不带后缀的文件名,第二列是不带后缀的新文件名,如何批量实现重命名,如:"例子 sample" 文件夹里有"例子.ttf" 重命名为sample.ttf
Re: 求助:批量字体文件重命名,谢谢!
发表于 : 2013-01-19 17:18
由 YeLee
代码: 全选
fc-scan HanaMinA.ttf |grep family: |sed -n 's/\s*\w*: \("[^"]*"\).*/\1/p'
"HanaMinA"
只会提取,至于怎么处理?嗯,或许可以用for或者find的办法,获取文件名,用dirname的办法获取目录名,然后再重新构造,嗯,这个太繁琐了,还是等高手吧。

Re: 求助:批量字体文件重命名,谢谢!
发表于 : 2013-01-20 19:45
由 ryanbaw
嗯,我也在想这个问题,哪位大神教教我
Re: 求助:批量字体文件重命名,谢谢!
发表于 : 2013-01-21 8:58
由 eexpress
● type fc-zh
fc-zh 是 `fc-list :lang=zh-cn|sed s/:.*//' 的别名
列出来,最后通常有英文名的啊。为什么要改。
改字体名称,需要fontforge,不是改文件名的事情。
Re: 求助:批量字体文件重命名,谢谢!
发表于 : 2013-01-21 10:11
由 sunfish
了解了,我刚开始以为是中文名导致的xelatex不能用的,后来自己手动改了一个还是不能调用,看来不是中文名的问题
Re: 求助:批量文件重命名,谢谢!(部分解决)
发表于 : 2013-01-21 10:37
由 谢宝良
编译能否通过跟名字是无关的。
Re: 求助:批量文件重命名,谢谢!(部分解决)
发表于 : 2013-01-22 11:37
由 yanyeyy
代码: 全选
#!/usr/bin/python
#encoding=utf-8
import os
#字体目录
font_dir='/tmp/fonts'
#列表文件
list_file='/tmp/list'
name_dict={}
os.chdir(font_dir)
name_file=open(list_file)
for line in name_file:
name=line.split()
name_dict[name[0]]=name[1]
oldnames=[i for i in os.listdir(font_dir)]
for old in oldnames:
if name_dict.has_key(old[:-4]):
print 'rename '+old+' ---> '+name_dict[old[:-4]]+'.ttf'
os.rename(old,name_dict[old[:-4]]+'.ttf')
python的