LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1969|回复: 22

请教ginkgo关于cjk字体的生成与安装(已完成,感谢ginkgo大哥!)

[复制链接]
发表于 2009-2-27 23:17:46 | 显示全部楼层 |阅读模式
首先非常感谢你提供的脚本,关于createlatexfont.sh,我在使用它的时候,还有些疑问:
在运行createlatexfont.sh脚本后(用simsun.ttf测试),/tmp目录下生成了相应的字体文件夹simsun-0.6.26,package-simsun,以及相应字体的 .tgz包tetex-cjk-simsun-0.6.26-i486-1.tgz,而此时用pkgtool安装.tgz包并不能把生成字体安装到/usr/share/texmf/fonts下的相应目录(这个包是用来安装的,还是仅仅保存生成的字体?),也看不出有安装任何东西的迹象.(我的系统是slackware12.0)

请问ginkgo,是不是需要自己把生成的各种字体文件移动到相应位置?还是我没正确掌握使用createlatexfont.sh脚本的方法?
另外"在tex文件中使用的字体名,是在fd文件中定义的。"这句话是这个意思吗,比如我用simsun.ttf生成的字体名为simsun,在tex中用这种字体时,应写作{simsun}吗?
发表于 2009-2-28 11:50:15 | 显示全部楼层
才看到你的帖子,我是用文泉驿和方正的字体。simsun我没有测试。其中的版本号是字体的版本号。
  1. # begin to generate the unicode type1 fonts
  2. echo "generate the type1 font $FONTFILE, this will take a long time."
  3. fontforge -script $CWD/$FONTSCRIPT $CWD/$FONTFILE $FONTN $CWD/$SFDFILE
复制代码
这个就是最主要的一句话。就是用fontforge从ttf生成tfm的type1字体。

下面的就是生成fd文件, 同时把生成的字体放到相应的目录下。
简单打包。
  1. cat > c70$FONTN.fd << EOF
复制代码
就是开始生成fd文件。${FONTN}就是用来保存字体名字的。如果你仔细看脚本的话。
上面的map文件,你vi一下就明白了。

如果你要判断是不是生成好的话,就在/tmp/package-font 下面查看有没有相应的字体生成。
相应的目录你看一下脚本。
slackware的安装是非常简单的。就是很简单的复制。我一般用Installpkg。
如果还不行的话。换一个字体看看。

hope can help you.
回复 支持 反对

使用道具 举报

发表于 2009-2-28 14:12:54 | 显示全部楼层
我中午跑了一下。用的是xp的simsun.ttc 没有问题。要用fontforge,你可以到robby的网站上下载。

我把脚本写给你。

脚本到原来的帖子下载。我把原来的一个现在分成2个。一个用来生成字体。一个用来打包。
大家注意看readme
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-28 18:01:23 | 显示全部楼层
其实那个脚本我是认真看过的,不过对shell方面认识尚浅,有些细节还不太清楚,
我从中学到(或将学到)不少!
非常感谢你的帮助!
通过一段零零星星的时间的了解,相信今晚能够让它编辑汉语了!然后毕业论文就可以用它了!
回复 支持 反对

使用道具 举报

发表于 2009-2-28 19:54:17 | 显示全部楼层
Post by evesea;1954106
其实那个脚本我是认真看过的,不过对shell方面认识尚浅,有些细节还不太清楚,
我从中学到(或将学到)不少!
非常感谢你的帮助!
通过一段零零星星的时间的了解,相信今晚能够让它编辑汉语了!然后毕业论文就可以用它了!


如果楼上仅仅是为了编辑汉语而不是由什么特殊需求的话

建议用texlive2008里的xetex,可以使用系统里自带的ttf&otf字体
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-28 22:47:44 | 显示全部楼层
Post by SWX;1954169
如果楼上仅仅是为了编辑汉语而不是由什么特殊需求的话

建议用texlive2008里的xetex,可以使用系统里自带的ttf&otf字体


以为马上就会搞好的呢,没想到测试文件中汉字竟显示不出来,都是黑块...
还在找原因...

我打算用latex编辑论文啊试卷啊之类,特别是数学式子比较多时,
用Asc码直接写比较有效率.
如果现在把字体弄好了也就没问题了,如果真不行再考虑换texlive,
顺便问问,有什么特殊要求xetex不能满足吗?
回复 支持 反对

使用道具 举报

发表于 2009-3-1 01:05:06 | 显示全部楼层
@evesea
如果你急用的话,我可以把打包好的email给你。

texlive也有脚本可以用,不过很大。一般的都有1G左右。
测试文件

  1. \documentclass[a4paper,11pt]{article}
  2. \usepackage{CJKutf8}
  3. \usepackage{CJKfntef}

  4. \begin{document}
  5. \begin{CJK}{UTF8}{mssong}
  6. 你好! 这是一个测试CJK UTF8编码的测试文件。

  7. 中文下面的修饰\CJKunderdot{加点}\CJKunderline{加下划线}

  8. $ e=mc^2 $
  9. \end{CJK}
  10. \end{document}
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-1 11:11:46 | 显示全部楼层
嗯,好的,麻烦你了,我的邮箱: evesea@126.com
先拿你的用着,再慢慢找现在用不成的原因.
下面是我的一些情况:

1.测试文件chinese.tex:
\documentclass{article}
\usepackage{CJKutf8}
\usepackage{CJKfntef}
\begin{document}
\begin{CJK}{UTF8}{simsun}
汉语
\end{CJK}
\end{document}

2.生成chinese.dvi的信息汉字在kdvi中显示为黑块)
slackboy@slackboy:~/Documents/software/office/tex/font-make$ latex ~/texfile/chinese.tex
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
(/home/slackboy/texfile/chinese.tex
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
kish, ukrainian, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo))
(/usr/share/texmf/tex/latex/CJK/CJKutf8.sty
(/usr/share/texmf/tex/latex/oberdiek/ifpdf.sty)
(/usr/share/texmf/tex/latex/base/inputenc.sty
(/usr/share/texmf/tex/latex/base/utf8.def
(/usr/share/texmf/tex/latex/base/t1enc.dfu)
(/usr/share/texmf/tex/latex/base/ot1enc.dfu)
(/usr/share/texmf/tex/latex/base/omsenc.dfu)))
(/usr/share/texmf/tex/latex/CJK/CJK.sty
(/usr/share/texmf/tex/latex/CJK/mule/MULEenc.sty)
(/usr/share/texmf/tex/latex/CJK/CJK.enc))
(/usr/share/texmf/tex/latex/base/fontenc.sty))
(/usr/share/texmf/tex/latex/CJK/CJKfntef.sty
(/usr/share/texmf/tex/latex/CJK/CJKulem.sty
(/usr/share/texmf/tex/latex/ulem/ulem.sty))) (./chinese.aux)
(/usr/share/texmf/tex/latex/CJK/UTF8/UTF8.bdg)
(/usr/share/texmf/tex/latex/CJK/UTF8/UTF8.enc)
(/usr/share/texmf/tex/latex/CJK/UTF8/UTF8.chr)
(/usr/share/texmf/tex/latex/CJK/UTF8/c70simsun.fd) [1] (./chinese.aux) )
Output written on chinese.dvi (1 page, 316 bytes).
Transcript written on chinese.log.
slackboy@slackboy:~/Documents/software/office/tex/font-make$

3.dvi文件转换为pdf文件的信息:
slackboy@slackboy:~/Documents/software/office/tex/font-make$ dvipdf ~/texfile/chinese.dvi
dvips: Font simsun7b not found, characters will be left blank.
dvips: Font simsun50 not found, characters will be left blank.
dvips: Font simsun6c not found, characters will be left blank.
dvips: Font simsun6e not found, characters will be left blank.
dvips: Font simsun6c not found, characters will be left blank.
dvips: Font simsun8b not found, characters will be left blank.
slackboy@slackboy:~/Documents/software/office/tex/font-make$

4.我的一些文件信息
< 1> ~/.bashrc
export LANG=zh_CN.UTF-8
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export XMODIFIERS="@im=fcitx"
<2>生成字体,与安装字体应该都很正常,文件都复制到相应的目录下了.
回复 支持 反对

使用道具 举报

发表于 2009-3-1 11:15:35 | 显示全部楼层
特殊要求例如beamer(一个制作幻灯片的文档类型)暂时不能和xelatex共存

如果没有特殊要求的话,中文处理现在基本上是xetex主流了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-1 11:45:46 | 显示全部楼层
Post by SWX;1954405
特殊要求例如beamer(一个制作幻灯片的文档类型)暂时不能和xelatex共存

如果没有特殊要求的话,中文处理现在基本上是xetex主流了。


喔,这样啊.
先试试ginkgo的包.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表