I alway use KGhostView to read PDF documents in my Mandriva, but KGhostView could only display English well, if reading the Simplified Chinese files, KGhostView show nothing excepting of some pictures. This issue had annoyed me for long time since Mandriva installed. When I wanted to study Linux Shell by reading pfd resources downloaded from Chinapub.com, I had to connect to remote computer which has Microsoft Windows.
There were two windows computers in my controlling, for some reason, both of these two computers were unavailable. So I had to find a way to read Simplified Chinese pdf files in my Mandriva.
I’ve configured KGhostView and tried again, nothing appeared. Then Xpdf which is another pdf readed owner by Mandriva(Maybe other Linux distributions also contains) became to my mind.
Xpdf could not support Simplified Chinese directly, I used the following steps to resolve this problem.
First, chech which rpm packages about XPdf had been installed:
# rpm -qa | grep “xpdf”
In Mandriva, the result is ‘xpdf-3.01-1mdk’, OK, I’ll download the simplified Chinese package for xpdf and install it. The xpdf government website is in construction statues, and I found that rpm name “xpdf-chinese-simplified” in rpmfinder.net.
Executing the following command to install it:
# rpm -ivh xpdf-chinese-simplified-2.01-8.i386.rpm
Now, I am ready to configure xpdf.
Modify the ‘/usr/share/xpdf/chinese-simplified/add-to-xpdfrc.chinese’ (in Mandriva), change all the ‘/usr/local/share’ instead of ‘/usr/share’, and save it.
(After modified)
# vi /usr/share/xpdf/chinese-simplified/add-to-xpdfrc.chinese
#—– begin Chinese Simplified support package (2002-jun-17)
cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap
toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap
displayCIDFontX Adobe-GB1 “-*-fangsong ti-medium-r-normal-*-%s-*-*-*-*-*-gb2312.1980-0” ISO-2022-CN
#—– end Chinese Simplified support package
Note, in some Linux distributions, this files maybe contains the ‘Adobe-GB1’ like ‘Adobe-G1’ because the programer has error in writing ‘GB’ string. if the string is ‘Adobe-G1’, we have to modify it to ‘Adobe-GB1’ by ourself.
Final lap, open the ‘/etc/xpdfrc’, and add all the lines of “/usr/share/xpdf/chinese-simplified/add-to-xpdfrc.chinese” into this configuration.
(After added)
# vi /etc/xpdfrc
#========================================================================
#
# Sample xpdfrc file
#
# The Xpdf tools look for a config file in two places:
# 1. ~/.xpdfrc
# 2. in a system-wide directory, typically /usr/local/etc/xpdfrc
#
# This sample config file demonstrates some of the more common
# configuration options. Everything here is commented out. You
# should edit things (especially the file/directory paths, since
# they’ll likely be different on your system), and uncomment whichever
# options you want to use. For complete details on config file syntax
# and available options, please see the xpdfrc(5) man page.
#
# Also, the Xpdf language support packages each include a set of
# options to be added to the xpdfrc file.
#
# http://www.foolabs.com/xpdf/
#
#========================================================================
#—– display fonts
# These map the Base-14 fonts to the Type 1 fonts that ship with
# ghostscript. You’ll almost certainly want to use something like
# this, but you’ll need to adjust this to point to wherever
# ghostscript is installed on your system. (But if the fonts are
# installed in a “standard” location, xpdf will find them
# automatically.)
displayFontT1 Times-Roman /usr/share/fonts/default/Type1/n021003l.pfb
displayFontT1 Times-Italic /usr/share/fonts/default/Type1/n021023l.pfb
displayFontT1 Times-Bold /usr/share/fonts/default/Type1/n021004l.pfb
displayFontT1 Times-BoldItalic /usr/share/fonts/default/Type1/n021024l.pfb
displayFontT1 Helvetica /usr/share/fonts/default/Type1/n019003l.pfb
displayFontT1 Helvetica-Oblique /usr/share/fonts/default/Type1/n019023l.pfb
displayFontT1 Helvetica-Bold /usr/share/fonts/default/Type1/n019004l.pfb
displayFontT1 Helvetica-BoldOblique /usr/share/fonts/default/Type1/n019024l.pfb
displayFontT1 Courier /usr/share/fonts/default/Type1/n022003l.pfb
displayFontT1 Courier-Oblique /usr/share/fonts/default/Type1/n022023l.pfb
displayFontT1 Courier-Bold /usr/share/fonts/default/Type1/n022004l.pfb
displayFontT1 Courier-BoldOblique /usr/share/fonts/default/Type1/n022024l.pfb
displayFontT1 Symbol /usr/share/fonts/default/Type1/s050000l.pfb
displayFontT1 ZapfDingbats /usr/share/fonts/default/Type1/d050000l.pfb
# If you need to display PDF files that refer to non-embedded fonts,
# you should add one or more fontDir options to point to the
# directories containing the font files. Xpdf will only look at .pfa,
# .pfb, and .ttf files in those directories (other files will simply
# be ignored).
#fontDir /usr/local/fonts/bakoma
#—– PostScript output control
# Set the default PostScript file or command.
#psFile “|lpr -Pmyprinter”
# Set the default PostScript paper size — this can be letter, legal,
# A4, or A3. You can also specify a paper size as width and height
# (in points).
psPaperSize A4
#—– text output control
# Choose a text encoding for copy-and-paste and for pdftotext output.
# The Latin1, ASCII7, and UTF-8 encodings are built into Xpdf. Other
# encodings are available in the language support packages.
#textEncoding UTF-8
# Choose the end-of-line convention for multi-line copy-and-past and
# for pdftotext output. The available options are unix, mac, and dos.
textEOL unix
#—– misc settings
# Enable t1lib, FreeType, and anti-aliased text.
enableT1lib no
enableFreeType yes
antialias yes
# Set the command used to run a web browser when a URL hyperlink is
# clicked.
urlCommand “www-browser %s”
#—– begin Chinese Simplified support package (2002-jun-17)
cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap
toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap
#displayCIDFontX Adobe-GB1 “-*-fangsong ti-medium-r-normal-*-%s-*-*-*-*-*-gb2312.1980-0” ISO-2022-CN
displayCIDFontTT Adobe-GB1 /usr/share/fonts/ttf/chinese/fireflysung.ttf
#—– end Chinese Simplified support package
#—– begin Chinese Traditional support package (2002-apr-14)
cidToUnicode Adobe-CNS1 /usr/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
unicodeMap Big5 /usr/share/xpdf/chinese-traditional/Big5.unicodeMap
unicodeMap Big5ascii /usr/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
cMapDir Adobe-CNS1 /usr/share/xpdf/chinese-traditional/CMap
toUnicodeDir /usr/share/xpdf/chinese-traditional/CMap
#displayCIDFontX Adobe-CNS1 “-*-fixed-medium-r-normal-*-%s-*-*-*-*-*-big5-0” Big5
# If you have the Arphic fonts, you may want to use this instead:
# displayCIDFontX Adobe-CNS1 “-arphic-ar pl kaitim big5-medium-r-normal–%s-*-*-*-c-*-iso10646-1” UCS-2
displayCIDFontTT Adobe-CNS1 /usr/share/fonts/ttf/chinese/fireflysung.ttf
#—– end Chinese Traditional support package
#—– begin Cyrillic support package (2003-jun-28)
nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
unicodeMap KOI8-R /usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
#—– end Cyrillic support package
#—– begin Japanese support package (2002-apr-01)
cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
toUnicodeDir /usr/share/xpdf/japanese/CMap
#displayCIDFontX Adobe-Japan1 “-*-fixed-medium-r-normal-*-%s-*-*-*-*-*-jisx0208.1983-0” ISO-2022-JP
#—– end Japanese support package
#—– begin Korean support package (2002-apr-01)
cidToUnicode Adobe-Korea1 /usr/share/xpdf/korean/Adobe-Korea1.cidToUnicode
unicodeMap ISO-2022-KR /usr/share/xpdf/korean/ISO-2022-KR.unicodeMap
cMapDir Adobe-Korea1 /usr/share/xpdf/korean/CMap
toUnicodeDir /usr/share/xpdf/korean/CMap
#displayCIDFontX Adobe-Korea1 “-*-mincho-medium-r-normal-*-%s-*-*-*-*-*-ksc5601.1987-0” ISO-2022-KR
#—– end Korean support package
#—– begin Thai support package (2002-jan-16)
nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode
unicodeMap TIS-620 /usr/share/xpdf/thai/TIS-620.unicodeMap
#—– end Thai support package
#—– begin Greek support package (2003-jun-28)
nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode
unicodeMap ISO-8859-7 /usr/share/xpdf/greek/ISO-8859-7.unicodeMap
#—– end Greek support package
#—– begin Latin2 support package (2002-oct-22)
unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap
#—– end Latin2 support package
#—– begin Turkish support package (2002-apr-10)
unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
#—– end Turkish support package
#—– begin Hebrew support package (2003-feb-16)
unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
unicodeMap Windows-1255 /usr/share/xpdf/hebrew/Windows-1255.unicodeMap
#—– end Hebrew support package
#—– begin Arabic support package (2003-feb-16)
unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
#—– begin Chinese Simplified support package (2002-jun-17)
cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap
toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap
displayCIDFontX Adobe-GB1 “-*-fangsong ti-medium-r-normal-*-%s-*-*-*-*-*-gb2312.1980-0” ISO-2022-CN
#—– end Chinese Simplified support package
#—– end Arabic support package
Save the modified file, run the xpdf program, simplified Chinese is able to read perfectly! Yeah, that’s what I want!