diff options
author | Karl Berry <karl@freefriends.org> | 2007-04-28 00:50:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-04-28 00:50:15 +0000 |
commit | 82a154912da337be00dd632c0a3b2534acdf57c0 (patch) | |
tree | 4851ac77b0c4554e2d07a8a81fec8c66511face6 /Master | |
parent | 58a84f1f518f7f818c4e2bca5dbe871461f8da7d (diff) |
cmap 1.0g (26apr07)
git-svn-id: svn://tug.org/texlive/trunk@4203 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/cmap/README | 55 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cmap/cmap.sty | 56 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cmap/ot1.cmap | 78 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cmap/ot1tt.cmap | 67 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cmap/t1.cmap | 5 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cmap/t2a.cmap | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cmap/t2b.cmap | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/cmap/t2c.cmap | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tpm/cmap.tpm | 8 | ||||
-rw-r--r-- | Master/texmf/lists/cmap | 2 |
10 files changed, 249 insertions, 31 deletions
diff --git a/Master/texmf-dist/doc/latex/cmap/README b/Master/texmf-dist/doc/latex/cmap/README index 38be95d3f83..8b8c377b600 100644 --- a/Master/texmf-dist/doc/latex/cmap/README +++ b/Master/texmf-dist/doc/latex/cmap/README @@ -8,12 +8,26 @@ in the document, provided that there exists the file <encoding>.cmap for the font encoding. Current version of the CMap package includes CMap files for the -following LaTeX font encodings: T1, T2A, T2B, T2C, T5. +following LaTeX font encodings: T1, T2A, T2B, T2C, T5, OT1, OT1tt, +LAE, LFE. Adding support for other font encoding does not require the change in the cmap.sty package: just create the <encoding>.cmap file and make it visible to TeX by putting it into the appropriate directory. +As of version 1.0f, the package detects the monospace (typewriter) +fonts (by checking whether \fontdimen3=0, \fontdimen4=0 and widths of +letters "W" and "i" are the same). If a monospace font is detected, +and a file <encoding>tt.cmap exists, it will be used for this font +instead of <encoding>.cmap. This is useful for encodings such as OT1 +where there are variants in mapping between "normal" and "typewriter" +fonts. + +To force loading of the CMap files even for fonts such as cmr10 which +are normally preloaded into the pdflatex format file, add an option +[resetfonts]. This will undefine those fonts and load the CMap for +them (if they will be used in the document). + It works for Type 1 fonts, and also for Type 3 fonts (including the PK fonts which are preloaded as Type 3 fonts into PDF) with recent versions of pdftex. @@ -24,3 +38,42 @@ future versions of pdftex. It is possible to work around this limitation by creating a Type 3 font which implements instructions contained in the virtual font. + +================================================================== + +TODO: + add *.cmap files for other font encodings (contributions are welcome): + TS1, OT1, OT2, LY1, IL2, OML, OMS, ... + support dvips? + +History: + +2003/03/07 private version +2003/03/11 version 1.0: first public version +2003/03/13 version 1.0a: + change error to warning for non-pdftex + added warnings if cmap is loaded after fontenc or babel + added t5.cmap - thanks to Han The Thanh +2003/03/19 version 1.0b: + minor refinements +2003/05/22 version 1.0c: + fixed a typo due to which the package had no effect at all +2004/06/16 version 1.0d (wl): + add support for subfonts as used in the CJK package +2005/05/03 version 1.0e: + do not fail under pdftex with \pdfoutput=0 (thanks to Robin Fairbairns) +2006/12/24 + added files lae.cmap and lfe.cmap for the Arabic and Farsi encodings, + contributed by Youssef JABRI <yjabri@ensa.univ-oujda.ac.ma> +2007/04/25 version 1.0f: + added files ot1.cmap and ot1tt.cmap, contributed by Oleg Katsitadze. + added "dotless j" mapping to T1, T2A, T2B, T2C; this character + appeared in unicode 4.1 (noticed by Oleg Katsitadze). + cmap.sty: added support for loading "typewriter" variant of CMap. + If a font is monospaced (which is tested by \fontdimen3=0 and + \fontdimen4=0 and width of "W" = width of "i"), and a file + <encoding>tt.cmap exists, it will be used for this font instead of + <encoding>.cmap. + Added package option "resetfonts" to undefine standard preloaded fonts. +2007/04/25 version 1.0g: + fixed a typo diff --git a/Master/texmf-dist/tex/latex/cmap/cmap.sty b/Master/texmf-dist/tex/latex/cmap/cmap.sty index 836c8866338..3dd539cdb27 100644 --- a/Master/texmf-dist/tex/latex/cmap/cmap.sty +++ b/Master/texmf-dist/tex/latex/cmap/cmap.sty @@ -1,35 +1,17 @@ -% Copyright (c) 2003-2005 Vladimir Volovich <vvv@vsu.ru> +% Copyright (c) 2003-2007 Vladimir Volovich <vvv@vsu.ru> % cmap package -- download CMap files into PDF -% to make "search" and "cut-n-paste" functions work properly +% to make "search" and "copy-and-paste" functions work properly % You may distribute and/or modify this program under the terms of LPPL -% the program consists of cmap.sty and {t1,t2a,t2b,t2c,t5}.cmap +% the program consists of cmap.sty and {t1,t2a,t2b,t2c,t5,ot1,ot1tt,lae,lfe}.cmap % Usage: put \usepackage{cmap} immediately after the \documentclass line % Thanks to: % Han The Thanh % Maxim I. Tishin % Petr Sojka % Werner Lemberg -% TODO: -% add *.cmap files for other font encodings (contributions are welcome): -% TS1, OT1, OT2, LY1, IL2, OML, OMS, ... -% support dvips? -% History: -% 2003/03/07 private version -% 2003/03/11 version 1.0: first public version -% 2003/03/13 version 1.0a: -% change error to warning for non-pdftex -% added warnings if cmap is loaded after fontenc or babel -% added t5.cmap - thanks to Han The Thanh -% 2003/03/19 version 1.0b: -% minor refinements -% 2003/05/22 version 1.0c: -% fixed a typo due to which the package had no effect at all -% 2004/06/16 version 1.0d (wl): -% add support for subfonts as used in the CJK package -% 2005/05/03 version 1.0e: -% do not fail under pdftex with \pdfoutput=0 (thanks to Robin Fairbairns) +% Oleg Katsitadze -\ProvidesPackage{cmap}[2004/06/16 v1.0e CMap support: searchable PDF] +\ProvidesPackage{cmap}[2007/04/25 v1.0g CMap support: searchable PDF] \@ifundefined{pdffontattr}{% % The cmap package can be used only with pdflatex, @@ -42,6 +24,18 @@ \expandafter\endinput \fi +\DeclareOption{resetfonts}{% + \@for\reserved@a:=% + OT1/cmr/m/n/5,OT1/cmr/m/n/7,OT1/cmr/m/n/10,% + OML/cmm/m/it/5,OML/cmm/m/it/7,OML/cmm/m/it/10,% + OMS/cmsy/m/n/5,OMS/cmsy/m/n/7,OMS/cmsy/m/n/10,% + OMX/cmex/m/n/10% + \do{% + \expandafter\let\csname\reserved@a\endcsname\relax + }% +} +\ProcessOptions + \edef\reserved@a{\noexpand\in@{,fontenc.sty,}{\@filelist}}% enc.def \reserved@a \ifin@ @@ -73,12 +67,28 @@ \global\expandafter\let\csname cmap@set@\cmap@f@encoding\endcsname\empty }% } +\def\cmap@test@tt{% + \ifdim\fontdimen3\font@name=\z@ + \ifdim\fontdimen4\font@name=\z@ + \begingroup + \setbox0=\hbox{\font@name i}% + \setbox1=\hbox{\font@name W}% + \ifdim\wd0=\wd1 % + \edef\reserved@f{\lowercase{\def\noexpand\reserved@f{\cmap@f@encoding tt.cmap}}}% + \reserved@f + \IfFileExists{\reserved@f}{\xdef\cmap@f@encoding{\cmap@f@encoding tt}}\relax + \fi + \endgroup + \fi + \fi +} \def\cmap@hook{% \@ifundefined{CJK@plane}{% \edef\cmap@f@encoding{\f@encoding}% }{% \edef\cmap@f@encoding{\f@encoding\CJK@plane}% }% + \cmap@test@tt \@ifundefined{cmap@set@\cmap@f@encoding}{\cmap@load}\relax \csname cmap@set@\cmap@f@encoding\endcsname } diff --git a/Master/texmf-dist/tex/latex/cmap/ot1.cmap b/Master/texmf-dist/tex/latex/cmap/ot1.cmap new file mode 100644 index 00000000000..6098cae7bab --- /dev/null +++ b/Master/texmf-dist/tex/latex/cmap/ot1.cmap @@ -0,0 +1,78 @@ +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1-0) +%%Title: (TeX-OT1-0 TeX OT1 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1) +/Supplement 0 +>> def +/CMapName /TeX-OT1-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +8 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<23> <26> <0023> +<28> <3B> <0028> +<3F> <5B> <003F> +<5D> <5E> <005D> +<61> <7A> <0061> +<7B> <7C> <2013> +endbfrange +40 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <00660066> +<0C> <00660069> +<0D> <0066006C> +<0E> <006600660069> +<0F> <00660066006C> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<21> <0021> +<22> <201D> +<27> <2019> +<3C> <00A1> +<3D> <003D> +<3E> <00BF> +<5C> <201C> +<5F> <02D9> +<60> <2018> +<7D> <02DD> +<7E> <02DC> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF diff --git a/Master/texmf-dist/tex/latex/cmap/ot1tt.cmap b/Master/texmf-dist/tex/latex/cmap/ot1tt.cmap new file mode 100644 index 00000000000..7b6ba768d6d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cmap/ot1tt.cmap @@ -0,0 +1,67 @@ +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1TT-0) +%%Title: (TeX-OT1TT-0 TeX OT1TT 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1TT) +/Supplement 0 +>> def +/CMapName /TeX-OT1TT-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +5 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<21> <26> <0021> +<28> <5F> <0028> +<61> <7E> <0061> +endbfrange +32 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <2191> +<0C> <2193> +<0D> <0027> +<0E> <00A1> +<0F> <00BF> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<20> <2423> +<27> <2019> +<60> <2018> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF diff --git a/Master/texmf-dist/tex/latex/cmap/t1.cmap b/Master/texmf-dist/tex/latex/cmap/t1.cmap index cd80ebbf86c..4367ea826d7 100644 --- a/Master/texmf-dist/tex/latex/cmap/t1.cmap +++ b/Master/texmf-dist/tex/latex/cmap/t1.cmap @@ -30,7 +30,7 @@ endcodespacerange <E0> <F6> <00E0> <F8> <FE> <00F8> endbfrange -95 beginbfchar +32 beginbfchar <00> <0060> <01> <00B4> <02> <02C6> @@ -49,6 +49,7 @@ endbfrange <14> <00BB> <17> <200C> <19> <0131> +<1A> <0237> <1B> <00660066> <1C> <00660069> <1D> <0066006C> @@ -62,6 +63,8 @@ endbfrange <81> <0104> <82> <0106> <83> <010C> +endbfchar +64 beginbfchar <84> <010E> <85> <011A> <86> <0118> diff --git a/Master/texmf-dist/tex/latex/cmap/t2a.cmap b/Master/texmf-dist/tex/latex/cmap/t2a.cmap index 79501383225..d21d7392e3b 100644 --- a/Master/texmf-dist/tex/latex/cmap/t2a.cmap +++ b/Master/texmf-dist/tex/latex/cmap/t2a.cmap @@ -24,7 +24,7 @@ endcodespacerange <61> <7E> <0061> <C0> <FF> <0410> endbfrange -34 beginbfchar +35 beginbfchar <00> <0060> <01> <00B4> <02> <02C6> @@ -50,6 +50,7 @@ endbfrange <16> <2014> <17> <200C> <19> <0131> +<1A> <0237> <1B> <00660066> <1C> <00660069> <1D> <0066006C> diff --git a/Master/texmf-dist/tex/latex/cmap/t2b.cmap b/Master/texmf-dist/tex/latex/cmap/t2b.cmap index 765b03a88e7..0fe21732ced 100644 --- a/Master/texmf-dist/tex/latex/cmap/t2b.cmap +++ b/Master/texmf-dist/tex/latex/cmap/t2b.cmap @@ -24,7 +24,7 @@ endcodespacerange <61> <7E> <0061> <C0> <FF> <0410> endbfrange -34 beginbfchar +35 beginbfchar <00> <0060> <01> <00B4> <02> <02C6> @@ -50,6 +50,7 @@ endbfrange <16> <2014> <17> <200C> <19> <0131> +<1A> <0237> <1B> <00660066> <1C> <00660069> <1D> <0066006C> diff --git a/Master/texmf-dist/tex/latex/cmap/t2c.cmap b/Master/texmf-dist/tex/latex/cmap/t2c.cmap index 63161875d5c..3e888008739 100644 --- a/Master/texmf-dist/tex/latex/cmap/t2c.cmap +++ b/Master/texmf-dist/tex/latex/cmap/t2c.cmap @@ -24,7 +24,7 @@ endcodespacerange <61> <7E> <0061> <C0> <FF> <0410> endbfrange -34 beginbfchar +35 beginbfchar <00> <0060> <01> <00B4> <02> <02C6> @@ -50,6 +50,7 @@ endbfrange <16> <2014> <17> <200C> <19> <0131> +<1A> <0237> <1B> <00660066> <1C> <00660069> <1D> <0066006C> diff --git a/Master/texmf-dist/tpm/cmap.tpm b/Master/texmf-dist/tpm/cmap.tpm index f76cddb4c8d..43c330fd081 100644 --- a/Master/texmf-dist/tpm/cmap.tpm +++ b/Master/texmf-dist/tpm/cmap.tpm @@ -3,7 +3,7 @@ <rdf:Description about="http://texlive.dante.de/texlive/Package/cmap.zip"> <TPM:Name>cmap</TPM:Name> <TPM:Type>Package</TPM:Type> - <TPM:Date>2006/01/09 00:44:40</TPM:Date> + <TPM:Date>2007/04/26 06:30:47</TPM:Date> <TPM:Version></TPM:Version> <TPM:Creator>rahtz</TPM:Creator> <TPM:Title>Make PDF files searchable and copyable.</TPM:Title> @@ -20,10 +20,12 @@ resolved in a future version of pdftex. <TPM:Size>22168</TPM:Size> <TPM:License></TPM:License> <TPM:Build/> - <TPM:RunFiles size="21003"> + <TPM:RunFiles size="23411"> texmf-dist/tex/latex/cmap/cmap.sty texmf-dist/tex/latex/cmap/lae.cmap texmf-dist/tex/latex/cmap/lfe.cmap +texmf-dist/tex/latex/cmap/ot1.cmap +texmf-dist/tex/latex/cmap/ot1tt.cmap texmf-dist/tex/latex/cmap/t1.cmap texmf-dist/tex/latex/cmap/t2a.cmap texmf-dist/tex/latex/cmap/t2b.cmap @@ -31,7 +33,7 @@ texmf-dist/tex/latex/cmap/t2c.cmap texmf-dist/tex/latex/cmap/t5.cmap texmf-dist/tpm/cmap.tpm </TPM:RunFiles> - <TPM:DocFiles size="1165">texmf-dist/doc/latex/cmap/README</TPM:DocFiles> + <TPM:DocFiles size="3385">texmf-dist/doc/latex/cmap/README</TPM:DocFiles> <TPM:Provides>Package/cmap</TPM:Provides> </rdf:Description> </rdf:RDF> diff --git a/Master/texmf/lists/cmap b/Master/texmf/lists/cmap index f69f24269cd..7ce94669e1b 100644 --- a/Master/texmf/lists/cmap +++ b/Master/texmf/lists/cmap @@ -3,6 +3,8 @@ texmf-dist/doc/latex/cmap/README texmf-dist/tex/latex/cmap/cmap.sty texmf-dist/tex/latex/cmap/lae.cmap texmf-dist/tex/latex/cmap/lfe.cmap +texmf-dist/tex/latex/cmap/ot1.cmap +texmf-dist/tex/latex/cmap/ot1tt.cmap texmf-dist/tex/latex/cmap/t1.cmap texmf-dist/tex/latex/cmap/t2a.cmap texmf-dist/tex/latex/cmap/t2b.cmap |