From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- language/japanese/pxjahyper/LICENSE | 21 + language/japanese/pxjahyper/README-ja.md | 66 ++ language/japanese/pxjahyper/README.md | 49 ++ language/japanese/pxjahyper/pxjahyper.pdf | Bin 0 -> 96162 bytes language/japanese/pxjahyper/pxjahyper.sty | 982 ++++++++++++++++++++++++++++++ language/japanese/pxjahyper/pxjahyper.tex | 136 +++++ 6 files changed, 1254 insertions(+) create mode 100644 language/japanese/pxjahyper/LICENSE create mode 100644 language/japanese/pxjahyper/README-ja.md create mode 100644 language/japanese/pxjahyper/README.md create mode 100644 language/japanese/pxjahyper/pxjahyper.pdf create mode 100644 language/japanese/pxjahyper/pxjahyper.sty create mode 100644 language/japanese/pxjahyper/pxjahyper.tex (limited to 'language/japanese/pxjahyper') diff --git a/language/japanese/pxjahyper/LICENSE b/language/japanese/pxjahyper/LICENSE new file mode 100644 index 0000000000..534324b756 --- /dev/null +++ b/language/japanese/pxjahyper/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Takayuki YATO (aka. "ZR") + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/language/japanese/pxjahyper/README-ja.md b/language/japanese/pxjahyper/README-ja.md new file mode 100644 index 0000000000..dd70862687 --- /dev/null +++ b/language/japanese/pxjahyper/README-ja.md @@ -0,0 +1,66 @@ +PXjahyper パッケージバンドル +============================ + +LaTeX: pLaTeX 上での hyperref のサポート + +(u)pLaTeX 上で hyperref を用いて日本語の文書情報を含む PDF 文書を作成する +場合に必要となる以下の機能を提供する。 + + * PDF 文字列内の和文文字のサポート + * mag 指定に対するサポート + +### 前提環境 + + * フォーマット: LaTeX + * エンジン: pTeX、upTeX、pTeX-ng + * DVIウェア: dvipdfmx + * 依存パッケージ: + - hyperref + +### インストール + + - `*.sty` → $TEXMF/tex/platex/PXjahyper + +### ライセンス + +本パッケージは MIT ライセンスの下で配布される。 + + +pxjahyper パッケージ ー 本体 +---------------------------- + +詳細についてはマニュアル `pxjahyper.pdf` を参照されたい。 + + +更新履歴 +-------- + + * Version 0.3e 〈2019/06/20〉 + - hyperref の `unicode` 指定が後から変更された場合はエラーを出す。 + + * Version 0.3d 〈2018/07/15〉 + - バグ修正。 + + * Version 0.3c 〈2018/01/25〉 + - バグ修正。 + + * Version 0.3b 〈2018/01/13〉 + - パッケージ定義の PDF 文字列の文字定義を拡充した。 + - (試験的) 自動判別の誤判定を防ぐため、アウトラインファイルに + 日本語文字のコメントを含ませておく。 + - (試験的) `(no)jacommentline` オプション。 + + * Version 0.3a 〈2017/10/17〉 + - `bigcode` を既定に変更。 + - (試験的) upLaTeX で hyperref の `unicode` 指定を可能にする。 + + * Version 0.3 〈2012/05/28〉 + - papersize special の調整機能を追加。 + - `\Ux` を追加。 + + * Version 0.2 〈2012/05/27〉 + - 最初の公開版。 + +-------------------- +Takayuki YATO (aka. "ZR") +https://github.com/zr-tex8r diff --git a/language/japanese/pxjahyper/README.md b/language/japanese/pxjahyper/README.md new file mode 100644 index 0000000000..60c28b0e99 --- /dev/null +++ b/language/japanese/pxjahyper/README.md @@ -0,0 +1,49 @@ +PXjahyper Package +================= + +LaTeX: Hyperref support for pLaTeX + +This package adjusts the behavior of hyperref on (u)pLaTeX so that authors +can properly create PDF documents that contain document information in +Japanese. + + * Support for PDF strings containing Japanese characters. + * Support for magnification settings. + +### System Requirements + + * TeX format: LaTeX. + * TeX engine: pTeX, upTeX, pTeX-ng. + * DVI-ware: dvipdfmx. + * Dependent packages: + - hyperref + +### Installation + + - `*.sty` → $TEXMF/tex/platex/PXjahyper + +### License + +This package is distributed under the MIT License. + + +The pxjahyper Package ー main +----------------------------- + +Please refer to the manual `pxjahyper.pdf` (in Japanese) for detail. + + +Revision History +---------------- + + * Version 0.3e 〈2019/06/20〉 + * Version 0.3d 〈2018/07/15〉 + * Version 0.3c 〈2018/01/25〉 + * Version 0.3b 〈2018/01/13〉 + * Version 0.3a 〈2017/10/17〉 + * Version 0.3 〈2012/05/28〉 + * Version 0.2 〈2012/05/27〉 + +-------------------- +Takayuki YATO (aka. "ZR") +https://github.com/zr-tex8r diff --git a/language/japanese/pxjahyper/pxjahyper.pdf b/language/japanese/pxjahyper/pxjahyper.pdf new file mode 100644 index 0000000000..03ef941185 Binary files /dev/null and b/language/japanese/pxjahyper/pxjahyper.pdf differ diff --git a/language/japanese/pxjahyper/pxjahyper.sty b/language/japanese/pxjahyper/pxjahyper.sty new file mode 100644 index 0000000000..68166215ec --- /dev/null +++ b/language/japanese/pxjahyper/pxjahyper.sty @@ -0,0 +1,982 @@ +%% +%% This is file 'pxjahyper.sty'. +%% +%% Copyright (c) 2019 Takayuki YATO (aka. "ZR") +%% GitHub: https://github.com/zr-tex8r +%% Twitter: @zr_tex8r +%% +%% This package is distributed under the MIT License. +%% + +%% package declaration +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{pxjahyper}[2019/06/20 v0.3e] + +%% error messages +\def\pxhy@pkgname{pxjahyper} +\def\pxhy@warn{\PackageWarningNoLine\pxhy@pkgname} +\def\pxhy@error{\PackageError\pxhy@pkgname} +\@onlypreamble\pxhy@fatal +\def\pxhy@fatal#1#2{% + \PackageError\pxhy@pkgname + {#1}% + {#2Package loading is aborted right now.}% +} +\providecommand{\bxDebug}[1]{} + +%% packages +\RequirePackage{atbegshi} + +%% globals +\newif\ifpxhy@ptex +\newif\ifpxhy@uptex +\let\pxhy@jcode\@undefined +\newif\ifpxhy@tounicode +\newif\ifpxhy@zerox +\newif\ifpxhy@bigcode +\let\pxhy@bigcode\relax +\chardef\pxhy@driver@none=0 +\chardef\pxhy@driver@dvipdfmx=1 +\let\pxhy@driver\@undefined +\newif\ifpxhy@hy@unicode +\newif\ifpxhy@jacommentline + +%--------------------------------------- Package options + +\DeclareOption{dvipdfmx}{% + \let\pxhy@driver\pxhy@driver@dvipdfmx +} +\DeclareOption{dvipdfm}{% + \let\pxhy@driver\pxhy@driver@dvipdfmx +} +\DeclareOption{nodvidriver}{% + \let\pxhy@driver\pxhy@driver@none +} +\DeclareOption{none}{% + \let\pxhy@driver\pxhy@driver@none +} +\DeclareOption{auto}{% + \let\pxhy@driver\@undefined +} +\DeclareOption{tounicode}{% + \pxhy@tounicodetrue +} +\DeclareOption{notounicode}{% + \pxhy@tounicodefalse +} +\DeclareOption{out2uni}{% + \pxhy@zeroxtrue +} +\DeclareOption{noout2uni}{% + \pxhy@zeroxfalse +} +\DeclareOption{bigcode}{% + \let\pxhy@bigcode=t% +} +\DeclareOption{nobigcode}{% + \let\pxhy@bigcode=f% +} +\DeclareOption{jacommentline}{% + \pxhy@jacommentlinetrue +} +\DeclareOption{nojacommentline}{% + \pxhy@jacommentlinefalse +} +\ExecuteOptions{% + auto,tounicode,noout2uni,jacommentline% +} +\ProcessOptions* + +%--------------------------------------- Environment check + +%% The hyperref package must be loaded in advance. +\@ifpackageloaded{hyperref}{}{%else + \pxhy@fatal{'hyperref' not yet loaded}{}% + \endinput +} + +%% Check for the hyperref option 'unicode'. +\expandafter\ifx\csname ifHy@unicode\expandafter\endcsname + \csname iftrue\endcsname + \pxhy@hy@unicodetrue +\fi +\AtBeginDocument{% + \@tempswafalse + \expandafter\ifx\csname ifHy@unicode\expandafter\endcsname + \csname iftrue\endcsname + \@tempswatrue + \fi + \ifnum0\ifpxhy@hy@unicode1\fi\if@tempswa1\fi=1 + \PackageError\pxhy@pkgname + {You must not change the encoding setting (e.g.\MessageBreak + 'unicode) of hyperref after pxjahyper is loaded}% + {\@ehc}% + \fi +} + +%% Check hyperref driver. +\ifx\pxhy@driver\@undefined + \def\pxhy@tmpa{hdvipdfm} + \ifx\Hy@driver\pxhy@tmpa + \let\pxhy@driver\pxhy@driver@dvipdfmx + \else + \let\pxhy@driver\pxhy@driver@none + \fi +\fi + +%% Check the engine. +\def\pxhy@check#1#2{% + \edef\pxhy@tmpa{\string#1}% + \edef\pxhy@tmpb{\meaning#1}% + \ifx\pxhy@tmpa\pxhy@tmpb #2\fi +} +\pxhy@check\kanjiskip{\pxhy@ptextrue} +\pxhy@check\forcecjktoken{\pxhy@uptextrue} +\ifpxhy@ptex\else + \pxhy@fatal{Unknown engine used!!!}{} + \expandafter\endinput +\fi + +%% Check the internal jcode. +\ifnum \jis"2121="8140 + \let\pxhy@jcode=s\relax +\else\ifnum\jis"2121="A1A1 + \let\pxhy@jcode=e\relax +\else\ifnum\jis"2121="3000 + \let\pxhy@jcode=u\relax +\fi\fi\fi +\ifx\pxhy@jcode\@undefined + \pxhy@fatal{Unknown internal kanji code!!!}{} + \expandafter\endinput +\fi + +%% adjustment +% upTeX not in unicode is not seen as upTeX. +\if u\pxhy@jcode\else + \pxhy@uptexfalse +\fi +% out2uni cannot be used with upTeX. +\ifpxhy@uptex \ifpxhy@zerox + \pxhy@warn{out2uni is invalid in upTeX} + \pxhy@zeroxfalse +\fi\fi +% bigcode cannot be used without upTeX. +\if t\pxhy@bigcode + \ifpxhy@uptex + \pxhy@bigcodetrue + \else + \pxhy@warn{bigcode is invalid without upTeX} + \fi +\else\if f\pxhy@bigcode +\else + \ifpxhy@uptex + \pxhy@bigcodetrue + \fi +\fi\fi +% out2uni disables tounicode. +\ifpxhy@zerox + \pxhy@tounicodefalse +\fi +% hyperref 'unicode' is allowed only on upLaTeX. +\ifnum0\ifpxhy@hy@unicode\ifpxhy@uptex\else1\fi\fi>\z@ + \pxhy@fatal{hyperref 'unicode' mode is not supported}{}% + \expandafter\endinput +\fi + +\iffalse +\typeout{% +pxhy@ptex = \ifpxhy@ptex true\else false\fi^^J% +pxhy@uptex = \ifpxhy@uptex true\else false\fi^^J% +pxhy@jcode = \meaning\pxhy@jcode^^J% +pxhy@tounicode = \ifpxhy@tounicode true\else false\fi^^J% +pxhy@zerox = \ifpxhy@zerox true\else false\fi^^J% +pxhy@driver = \the\pxhy@driver^^J% +} +\fi + +%--------------------------------------- Helpers + +%% pxhy@end +\def\pxhy@end{\pxhy@end@} + +%% \pxhy@out@special{} +\def\pxhy@out@special#1{% + \begingroup + \toks\z@{\special{#1}}% + \toks\tw@\expandafter{\AtBegShi@HookFirst}% + \xdef\AtBegShi@HookFirst{\the\toks@\the\toks\tw@}% + \endgroup +} + +%% \pxhy@get@jchar{} +% Let \pxhy@jchar a macro expanding to a single jchar token +% of the char code . +\def\pxhy@get@jchar#1{% + \begingroup + \pxhy@forcecjktoken + \kansujichar\@ne=#1\relax + \xdef\pxhy@jchar{\kansuji\@ne}% + \endgroup +} + +%% \pxhy@forcecjktoken +\ifpxhy@uptex + \let\pxhy@forcecjktoken\forcecjktoken +\else + \let\pxhy@forcecjktoken\relax +\fi + +%--------------------------------------- Output 'tounicode' special +\ifpxhy@tounicode + + \ifnum\pxhy@driver=\pxhy@driver@dvipdfmx %<*dvipdfmx> + %% dvipdfmx + \if e\pxhy@jcode % euc + \pxhy@out@special{pdf:tounicode EUC-UCS2} + \else\if s\pxhy@jcode % sjis + \pxhy@out@special{pdf:tounicode 90ms-RKSJ-UCS2} + \else\ifpxhy@bigcode % ucs, bigcode + \pxhy@out@special{pdf:tounicode UTF8-UTF16} + \else + \pxhy@out@special{pdf:tounicode UTF8-UCS2} + \fi\fi\fi + \fi % + +\fi +%--------------------------------------- Papersize special adjustment + +% When the magnification is in effect (i.e. \mag<>1000), hyperref +% emits a papersize special with wrong value. (dvipdfmx interprets +% the lengths in the special as 'true' length.) So here a papersize +% special with adjusted values will be output. +\ifnum\mag=1000 \else + \expandafter\ifx\csname ifHy@setpagesize\expandafter\endcsname + \csname iftrue\endcsname % hyperref setpagesize is on + \ifnum0<\mag \ifnum32768>\mag % \mag is in valid range + \begingroup + \@ifundefined{stockwidth}{}{%else + \paperwidth=\stockwidth + \paperheight=\stockheight + }% + \@tempcnta=\mag \advance\@tempcnta100000 + \def\pxhy@next1#1#2#3#4#5\relax{% + \def\pxhy@tmpa{#1#2.#3#4#5}% + }% + \expandafter\pxhy@next\the\@tempcnta\relax + \paperwidth=\pxhy@tmpa\paperwidth + \paperheight=\pxhy@tmpa\paperheight + \xdef\pxhy@spec@papersize{% + papersize=\the\paperwidth,\the\paperheight + }% + \AtBeginShipoutFirst{% + \special{\pxhy@spec@papersize}% + } + \endgroup + \fi\fi + \fi +\fi + +%--------------------------------------- Hooks to pdfstringdef + +\def\pxhy@uc@REPL{FFFD} +\def\pxhy@uc@XNAC{FDD1} % not-a-char codepoint used as marker +\let\pxhy@burst\romannumeral +\let\pxhy@nxend\indent + +%% \pxhy@uchex{} +% The entity of the code-value input function. If the input +% is a valid code value in hex then it passes the value to +% \pxhy@uchex@res in 4-6 digits; otherwise passes FFFD to +% \pxhy@uchex@res. +\def\pxhy@uchex#1{% + \expandafter\pxhy@uchex@a\pxhy@burst-`>#1\pxhy@nxend +} +\edef\pxhy@uchex@err{% + \noexpand\pxhy@uchex@res{\pxhy@uc@REPL}% +} +\def\pxhy@uchex@a#1#2\pxhy@nxend{% + \ifnum2<"1#1 + \expandafter\pxhy@uchex@b\romannumeral-"#1#2\pxhy@nxend{#1#2}% + \else \pxhy@uchex@err + \fi +} +\def\pxhy@uchex@b#1\pxhy@nxend#2{% + \ifx\pxhy@empty#1\pxhy@empty + \ifnum"#2>"10FFFF + \pxhy@uchex@err + \else\ifnum"#2>"FFF + \pxhy@uchex@res{#2}% + \else + \pxhy@uchex@c#2"000\pxhy@end + \fi\fi + \else \pxhy@uchex@err + \fi +} +\def\pxhy@uchex@c#1#2#3#4#5#6\pxhy@end{% + \pxhy@uchex@d#1#2#3#4#5\pxhy@end +} +\def\pxhy@uchex@d#1"#2\pxhy@end{% + \pxhy@uchex@res{#2#1}% +} + +\ifpxhy@uptex %<*upTeX> + + %% \pxhy@marker: a not-a-char U+FDD1 + \pxhy@get@jchar{\ucs"\pxhy@uc@XNAC} + \edef\pxhy@marker{\pxhy@jchar} + + %% Makes \Ux and \UTF be the code input command in PDF strings. + \pdfstringdefDisableCommands{% + \let\Ux\pxhy@uchex + \let\UTF\pxhy@uchex + \let\UTFM\pxhy@uchex + \let\UTFK\pxhy@uchex + \let\UTFC\pxhy@uchex + \let\UTFT\pxhy@uchex + } + + %BEGIN-- in the following block #1 means the marker + \def\pxhy@next#1{% #1=marker + %% \pxhy@uchex@res + % Expands to a tag string which will later be converted to + % a real character in the postprocess. + \def\pxhy@uchex@res##1{#1##1>}% + %% \pxhy@posthook + % The postprocess of this package. It is registered to + % \pdfstringdefPostHook. + \def\pxhy@posthook##1{% + \expandafter\pxhy@posthook@a##1#1\pxhy@end + \pxhy@posthook@b##1% + }% + \def\pxhy@posthook@a##1#1##2\pxhy@end{% + \ifx\pxhy@empty##2\pxhy@empty + \expandafter\@gobbletwo + \fi + }% + \def\pxhy@posthook@b##1{% + \let\pxhy@str\@empty + \expandafter\pxhy@posthook@c##1#1>% + \global\let##1=\pxhy@str + }% + \def\pxhy@posthook@c##1#1##2>{% + \ifx\pxhy@empty##2\pxhy@empty + \edef\pxhy@str{\pxhy@str##1}% + \else + \pxhy@get@jchar{"##2}% + \edef\pxhy@str{\pxhy@str##1\pxhy@jchar}% + \expandafter\pxhy@posthook@c + \fi + }% + } + \expandafter\pxhy@next\pxhy@marker + %END-- + + % Add \pxhy@posthook to \pdfstringdefPostHook. + \begingroup + \toks@\expandafter{\pdfstringdefPostHook{#1}} + \edef\pxhy@next{% + \gdef\noexpand\pdfstringdefPostHook##1{% + \the\toks@ + \noexpand\pxhy@posthook{##1}% + }% + }% + \pxhy@next + \endgroup + +\else\ifpxhy@zerox %<*!upTeX> + + %% \pxhy@uchex@res + % Expands to \0x form. + \def\pxhy@uchex@res#1{% + \0x#1% + } + + %% Makes \Ux be the code input command in PDF strings. + % (If the otf package is loaded, then \UTF already does + % the same thing.) + \pdfstringdefDisableCommands{% + \let\Ux\pxhy@uchex + } + + %Note: if out2uni is off then \Ux remains undefined. +\fi\fi % + +%--------------------------------------- Redefine text commands for PD1 + +\ifnum\pxhy@driver=\pxhy@driver@dvipdfmx %<*dvipdfmx> + +%%<+> \pxDeclarePdfTextCommand{\CS}{}{} +\@onlypreamble\pxDeclarePdfTextCommand +\newcommand*\pxDeclarePdfTextCommand[3]{% + \pxhy@decl@pdf@tc{#2}{#3}% + {\DeclareTextCommand{#1}{PD1}}% + {\pxhy@revoke@pdf@tc{#1}}% +} + +%%<+> \pxDeclarePdfTextComposite{\CS}{}{}{} +\@onlypreamble\pxDeclarePdfTextComposite +\newcommand*\pxDeclarePdfTextComposite[4]{% + \pxhy@decl@pdf@tc{#3}{#4}% + {\DeclareTextCompositeCommand{#1}{PD1}{#2}}% + {\pxhy@revoke@pdf@tcc{#1}{#2}}% +} + +\else %<*!dvipdfmx> + +\@onlypreamble\pxDeclarePdfTextCommand +\newcommand*\pxDeclarePdfTextCommand[3]{} +\@onlypreamble\pxDeclarePdfTextComposite +\newcommand*\pxDeclarePdfTextComposite[4]{} + +\fi % + +%% \pxhy@revoke@pdf@tc +\@onlypreamble\pxhy@revoke@pdf@tc +\def\pxhy@revoke@pdf@tc#1{% + \expandafter\let\csname PD1\string#1\endcsname\@undefined + \pxhy@make@txtcmd\pxhy@tmpa{PD1}#1% + \ifx#1\pxhy@tmpa + \pxhy@make@txtcmd#1?#1% + \fi +} +\@onlypreamble\pxhy@make@txtcmd +\def\pxhy@make@txtcmd#1#2#3{% + \expandafter\def\expandafter#1\expandafter{% + \csname#2-cmd\expandafter\endcsname\expandafter#3% + \csname#2\string#3\endcsname + }% +} + +%% \pxhy@revoke@pdf@tcc +\@onlypreamble\pxhy@revoke@pdf@tc +\def\pxhy@revoke@pdf@tcc#1#2{% + \expandafter\let\csname\string\PD1\string#1-\string#2% + \endcsname\@undefined +} + +%% \pxhy@decl@pdf@tc +\@onlypreamble\pxhy@decl@pdf@tc +\def\pxhy@decl@pdf@tc#1#2{% + \pxhy@get@body{#1}{#2}% + \ifx\pxhy@body\@undefined + \let\pxhy@next\@secondoftwo + \else + \def\pxhy@next{% + \expandafter\pxhy@decl@pdf@tc@a\pxhy@body\pxhy@end}% + \fi + \pxhy@next +} +\@onlypreamble\pxhy@decl@pdf@tc@a +\def\pxhy@decl@pdf@tc@a#1\pxhy@end#2#3{% + #2{#1}% +} + +%% \pxhy@get@body{}{} +\@onlypreamble\pxhy@get@body +\ifpxhy@uptex %<*upTeX> + \def\pxhy@get@body#1#2{% + \pxhy@get@jchar{\ucs"#2}% + \let\pxhy@body\pxhy@jchar + }% +\else %<*!upTeX> + \ifpxhy@zerox + \def\pxhy@get@body#1#2{% + \ifx\pxhy@end#1\pxhy@end + \def\pxhy@body{\0x#2}% + \else + \pxhy@get@jchar{\jis"#1}% + \let\pxhy@body\pxhy@jchar + \fi + }% + \else + \def\pxhy@get@body#1#2{% + \ifx\pxhy@end#1\pxhy@end + \let\pxhy@body\@undefined + \else + \pxhy@get@jchar{\jis"#1}% + \let\pxhy@body\pxhy@jchar + \fi + }% + \fi +\fi % + +%%%%%%%%%%%%%%%%%%%% the definitions + +% JIS X 0213 does not distinguish the following pairs: +% - circumflex(U+02C6) and asciicircum(U+005E) +% - tilde(U+02DC) and asciitilde(U+007E) +% Here I use ASCII characters as done in JIS. +\DeclareTextCommand{\textcircumflex}{PD1}{\136} +\DeclareTextCommand{\textasciicircum}{PD1}{\136} +\DeclareTextCommand{\texttilde}{PD1}{\176} +\DeclareTextCommand{\textasciitilde}{PD1}{\176} + +% Some ad-hoc redefinitions. +\DeclareTextCommand{\textfi}{PD1}{fi} +\DeclareTextCommand{\textfl}{PD1}{fl} +\DeclareTextCommand{\IJ}{PD1}{IJ} +\DeclareTextCommand{\ij}{PD1}{ij} +\DeclareTextCommand{\textspace}{PD1}{\040} +\DeclareTextCommand{\textquotesingle}{PD1}{\047} + +%%[A] The characters in PdfDocEncoding (except ASCII). +\pxDeclarePdfTextCommand{\textasciibreve}{}{02D8} +\pxDeclarePdfTextCommand{\textasciicaron}{}{02C7} +\pxDeclarePdfTextCommand{\textdotaccent}{}{02D9} +\pxDeclarePdfTextCommand{\texthungarumlaut}{}{02DD} +\pxDeclarePdfTextCommand{\textogonek}{}{02DB} +\pxDeclarePdfTextCommand{\textring}{}{02DA} +\pxDeclarePdfTextCommand{\texttilde}{}{02DC} +\pxDeclarePdfTextCommand{\textbullet}{}{2022} +\pxDeclarePdfTextCommand{\textdagger}{2277}{2020} +\pxDeclarePdfTextCommand{\textdaggerdbl}{2278}{2021} +\pxDeclarePdfTextCommand{\textellipsis}{2144}{2026} +\pxDeclarePdfTextCommand{\textemdash}{213D}{2014} +\pxDeclarePdfTextCommand{\textendash}{}{2013} +\pxDeclarePdfTextCommand{\textflorin}{}{0192} +\pxDeclarePdfTextCommand{\textfractionsolidus}{}{2044} +\pxDeclarePdfTextCommand{\guilsinglleft}{}{2039} +\pxDeclarePdfTextCommand{\guilsinglright}{}{203A} +\pxDeclarePdfTextCommand{\textminus}{215D}{2212} +\pxDeclarePdfTextCommand{\textperthousand}{2273}{2030} +\pxDeclarePdfTextCommand{\quotedblbase}{}{201E} +\pxDeclarePdfTextCommand{\textquotedblleft}{2148}{201C} +\pxDeclarePdfTextCommand{\textquotedblright}{2149}{201D} +\pxDeclarePdfTextCommand{\textquoteleft}{2146}{2018} +\pxDeclarePdfTextCommand{\textquoteright}{2147}{2019} +\pxDeclarePdfTextCommand{\quotesinglbase}{}{201A} +\pxDeclarePdfTextCommand{\texttrademark}{}{2122} +\pxDeclarePdfTextCommand{\L}{}{0141} +\pxDeclarePdfTextCommand{\OE}{}{0152} +\pxDeclarePdfTextComposite{\v}{S}{}{0160} +\pxDeclarePdfTextComposite{\"}{Y}{}{0178} +\pxDeclarePdfTextComposite{\v}{Z}{}{017D} +\pxDeclarePdfTextCommand{\i}{}{0131} +\pxDeclarePdfTextCommand{\l}{}{0142} +\pxDeclarePdfTextCommand{\oe}{}{0153} +\pxDeclarePdfTextComposite{\v}{s}{}{0161} +\pxDeclarePdfTextComposite{\v}{z}{}{017E} +\pxDeclarePdfTextCommand{\texteuro}{}{20AC} +\pxDeclarePdfTextCommand{\textexclamdown}{}{00A1} +\pxDeclarePdfTextCommand{\textcent}{2171}{00A2} +\pxDeclarePdfTextCommand{\textsterling}{2172}{00A3} +\pxDeclarePdfTextCommand{\textcurrency}{}{00A4} +\pxDeclarePdfTextCommand{\textyen}{}{00A5} +\pxDeclarePdfTextCommand{\textbrokenbar}{}{00A6} +\pxDeclarePdfTextCommand{\textsection}{2178}{00A7} +\pxDeclarePdfTextCommand{\textasciidieresis}{212F}{00A8} +\pxDeclarePdfTextCommand{\textcopyright}{}{00A9} +\pxDeclarePdfTextCommand{\textordfeminine}{}{00AA} +\pxDeclarePdfTextCommand{\guillemotleft}{}{00AB} +\pxDeclarePdfTextCommand{\textlogicalnot}{224C}{00AC} +\pxDeclarePdfTextCommand{\textlnot}{224C}{00AC} +\pxDeclarePdfTextCommand{\textregistered}{}{00AE} +\pxDeclarePdfTextCommand{\textasciimacron}{}{00AF} +\pxDeclarePdfTextCommand{\textdegree}{216B}{00B0} +\pxDeclarePdfTextCommand{\textplusminus}{215E}{00B1} +\pxDeclarePdfTextCommand{\texttwosuperior}{}{00B2} +\pxDeclarePdfTextCommand{\textthreesuperior}{}{00B3} +\pxDeclarePdfTextCommand{\textacute}{212D}{00B4} +%\pxDeclarePdfTextCommand{\textmu}{}{00B5} +\pxDeclarePdfTextCommand{\textparagraph}{2279}{00B6} +\pxDeclarePdfTextCommand{\textperiodcentered}{}{00B7} +\pxDeclarePdfTextCommand{\textcedilla}{}{00B8} +\pxDeclarePdfTextCommand{\textonesuperior}{}{00B9} +\pxDeclarePdfTextCommand{\textordmasculine}{}{00BA} +\pxDeclarePdfTextCommand{\guillemotright}{}{00BB} +\pxDeclarePdfTextCommand{\textonequarter}{}{00BC} +\pxDeclarePdfTextCommand{\textonehalf}{}{00BD} +\pxDeclarePdfTextCommand{\textthreequarters}{}{00BE} +\pxDeclarePdfTextCommand{\textquestiondown}{}{00BF} +\pxDeclarePdfTextComposite{\`}{A}{}{00C0} +\pxDeclarePdfTextComposite{\'}{A}{}{00C1} +\pxDeclarePdfTextComposite{\^}{A}{}{00C2} +\pxDeclarePdfTextComposite{\~}{A}{}{00C3} +\pxDeclarePdfTextComposite{\"}{A}{}{00C4} +\pxDeclarePdfTextComposite{\r}{A}{}{00C5} +\pxDeclarePdfTextCommand{\AE}{}{00C6} +\pxDeclarePdfTextComposite{\c}{C}{}{00C7} +\pxDeclarePdfTextComposite{\`}{E}{}{00C8} +\pxDeclarePdfTextComposite{\'}{E}{}{00C9} +\pxDeclarePdfTextComposite{\^}{E}{}{00CA} +\pxDeclarePdfTextComposite{\"}{E}{}{00CB} +\pxDeclarePdfTextComposite{\`}{I}{}{00CC} +\pxDeclarePdfTextComposite{\'}{I}{}{00CD} +\pxDeclarePdfTextComposite{\^}{I}{}{00CE} +\pxDeclarePdfTextComposite{\"}{I}{}{00CF} +\pxDeclarePdfTextCommand{\DH}{}{00D0} +\pxDeclarePdfTextCommand{\DJ}{}{00D0} +\pxDeclarePdfTextComposite{\~}{N}{}{00D1} +\pxDeclarePdfTextComposite{\`}{O}{}{00D2} +\pxDeclarePdfTextComposite{\'}{O}{}{00D3} +\pxDeclarePdfTextComposite{\^}{O}{}{00D4} +\pxDeclarePdfTextComposite{\~}{O}{}{00D5} +\pxDeclarePdfTextComposite{\"}{O}{}{00D6} +\pxDeclarePdfTextCommand{\textmultiply}{215F}{00D7} +\pxDeclarePdfTextCommand{\O}{}{00D8} +\pxDeclarePdfTextComposite{\`}{U}{}{00D9} +\pxDeclarePdfTextComposite{\'}{U}{}{00DA} +\pxDeclarePdfTextComposite{\^}{U}{}{00DB} +\pxDeclarePdfTextComposite{\"}{U}{}{00DC} +\pxDeclarePdfTextComposite{\'}{Y}{}{00DD} +\pxDeclarePdfTextCommand{\TH}{}{00DE} +\pxDeclarePdfTextCommand{\ss}{}{00DF} +\pxDeclarePdfTextComposite{\`}{a}{}{00E0} +\pxDeclarePdfTextComposite{\'}{a}{}{00E1} +\pxDeclarePdfTextComposite{\^}{a}{}{00E2} +\pxDeclarePdfTextComposite{\~}{a}{}{00E3} +\pxDeclarePdfTextComposite{\"}{a}{}{00E4} +\pxDeclarePdfTextComposite{\r}{a}{}{00E5} +\pxDeclarePdfTextCommand{\ae}{}{00E6} +\pxDeclarePdfTextComposite{\c}{c}{}{00E7} +\pxDeclarePdfTextComposite{\`}{e}{}{00E8} +\pxDeclarePdfTextComposite{\'}{e}{}{00E9} +\pxDeclarePdfTextComposite{\^}{e}{}{00EA} +\pxDeclarePdfTextComposite{\"}{e}{}{00EB} +\pxDeclarePdfTextComposite{\`}{i}{}{00EC} +\pxDeclarePdfTextComposite{\`}{\i}{}{00EC} +\pxDeclarePdfTextComposite{\'}{i}{}{00ED} +\pxDeclarePdfTextComposite{\'}{\i}{}{00ED} +\pxDeclarePdfTextComposite{\^}{i}{}{00EE} +\pxDeclarePdfTextComposite{\^}{\i}{}{00EE} +\pxDeclarePdfTextComposite{\"}{i}{}{00EF} +\pxDeclarePdfTextComposite{\"}{\i}{}{00EF} +\pxDeclarePdfTextCommand{\dh}{}{00F0} +\pxDeclarePdfTextComposite{\~}{n}{}{00F1} +\pxDeclarePdfTextComposite{\`}{o}{}{00F2} +\pxDeclarePdfTextComposite{\'}{o}{}{00F3} +\pxDeclarePdfTextComposite{\^}{o}{}{00F4} +\pxDeclarePdfTextComposite{\~}{o}{}{00F5} +\pxDeclarePdfTextComposite{\"}{o}{}{00F6} +\pxDeclarePdfTextCommand{\textdivide}{2160}{00F7} +\pxDeclarePdfTextCommand{\o}{}{00F8} +\pxDeclarePdfTextComposite{\`}{u}{}{00F9} +\pxDeclarePdfTextComposite{\'}{u}{}{00FA} +\pxDeclarePdfTextComposite{\^}{u}{}{00FB} +\pxDeclarePdfTextComposite{\"}{u}{}{00FC} +\pxDeclarePdfTextComposite{\'}{y}{}{00FD} +\pxDeclarePdfTextCommand{\th}{}{00FE} +\pxDeclarePdfTextComposite{\"}{y}{}{00FF} +\pxDeclarePdfTextCommand{\textcelsius}{216E}{2103} +%%%%%%%% + +%%[B] Aliases to [A]. +\pxDeclarePdfTextCommand{\copyright}{}{00A9} +\pxDeclarePdfTextCommand{\textflqq}{}{00AB} +\pxDeclarePdfTextCommand{\flqq}{}{00AB} +\pxDeclarePdfTextCommand{\textneg}{224C}{00AC} +\pxDeclarePdfTextCommand{\textpm}{215E}{00B1} +\pxDeclarePdfTextCommand{\textcdot}{}{00B7} +\pxDeclarePdfTextCommand{\textfrqq}{}{00BB} +\pxDeclarePdfTextCommand{\frqq}{}{00BB} +\pxDeclarePdfTextCommand{\texttimes}{215F}{00D7} +\pxDeclarePdfTextCommand{\textdiv}{2160}{00F7} +\pxDeclarePdfTextCommand{\textgrq}{2146}{2018} +\pxDeclarePdfTextCommand{\textglq}{}{201A} +\pxDeclarePdfTextCommand{\textquotesinglbase}{}{201A} +\pxDeclarePdfTextCommand{\textgrqq}{2148}{201C} +\pxDeclarePdfTextCommand{\crqq}{2148}{201C} +\pxDeclarePdfTextCommand{\textglqq}{}{201E} +\pxDeclarePdfTextCommand{\clqq}{}{201E} +\pxDeclarePdfTextCommand{\textquotedblbase}{}{201E} +\pxDeclarePdfTextCommand{\textflq}{}{2039} +\pxDeclarePdfTextCommand{\textfrq}{}{203A} +\pxDeclarePdfTextCommand{\textEuro}{}{20AC} +%% + +%%[C] The characters that are included both in JIS X 0213 +% and some of the TeX encodings. +% Note: The entries marked with (*) involves non-standard mappings. +\pxDeclarePdfTextCommand{\textbardbl}{2142}{2016} +\pxDeclarePdfTextCommand{\textlangle}{2152}{3008}%(*)2329 +\pxDeclarePdfTextCommand{\textrangle}{2153}{3009}%(*)232A +\pxDeclarePdfTextCommand{\textxleq}{2165}{2266}%(*)2264 +\pxDeclarePdfTextCommand{\textxgeq}{2166}{2267}%(*)2265 +\pxDeclarePdfTextCommand{\textinfty}{2167}{221E} +\pxDeclarePdfTextCommand{\textborn}{217A}{2605} +\pxDeclarePdfTextCommand{\textreferencemark}{2228}{203B} +\pxDeclarePdfTextCommand{\textrightarrow}{222A}{2192} +\pxDeclarePdfTextCommand{\textleftarrow}{222B}{2190} +\pxDeclarePdfTextCommand{\textuparrow}{222C}{2191} +\pxDeclarePdfTextCommand{\textdownarrow}{222D}{2193} +\pxDeclarePdfTextCommand{\textsurd}{2265}{221A} +\pxDeclarePdfTextCommand{\textapprox}{}{2245} +\pxDeclarePdfTextCommand{\textmusicalnote}{2276}{266A} +\pxDeclarePdfTextCommand{\textbigcircle}{227E}{25EF} +\pxDeclarePdfTextCommand{\textopenbullet}{}{25E6} +\pxDeclarePdfTextCommand{\textell}{}{2113} +\pxDeclarePdfTextCommand{\textmho}{}{2127} +\pxDeclarePdfTextCommand{\textAlpha}{2621}{0391} +\pxDeclarePdfTextCommand{\textBeta}{2622}{0392} +\pxDeclarePdfTextCommand{\textGamma}{2623}{0393} +\pxDeclarePdfTextCommand{\textDelta}{2624}{0394} +\pxDeclarePdfTextCommand{\textEpsilon}{2625}{0395} +\pxDeclarePdfTextCommand{\textZeta}{2626}{0396} +\pxDeclarePdfTextCommand{\textEta}{2627}{0397} +\pxDeclarePdfTextCommand{\textTheta}{2628}{0398} +\pxDeclarePdfTextCommand{\textIota}{2629}{0399} +\pxDeclarePdfTextCommand{\textKappa}{262A}{039A} +\pxDeclarePdfTextCommand{\textLambda}{262B}{039B} +\pxDeclarePdfTextCommand{\textMu}{262C}{039C} +\pxDeclarePdfTextCommand{\textNu}{262D}{039D} +\pxDeclarePdfTextCommand{\textXi}{262E}{039E} +\pxDeclarePdfTextCommand{\textOmicron}{262F}{039F} +\pxDeclarePdfTextCommand{\textPi}{2630}{03A0} +\pxDeclarePdfTextCommand{\textRho}{2631}{03A1} +\pxDeclarePdfTextCommand{\textSigma}{2632}{03A3} +\pxDeclarePdfTextCommand{\textTau}{2633}{03A4} +\pxDeclarePdfTextCommand{\textUpsilon}{2634}{03A5} +\pxDeclarePdfTextCommand{\textPhi}{2635}{03A6} +\pxDeclarePdfTextCommand{\textChi}{2636}{03A7} +\pxDeclarePdfTextCommand{\textPsi}{2637}{03A8} +\pxDeclarePdfTextCommand{\textOmega}{2638}{03A9} +\pxDeclarePdfTextCommand{\textohm}{2638}{03A9}%(*)2126 +\pxDeclarePdfTextCommand{\textalpha}{2641}{03B1} +\pxDeclarePdfTextCommand{\textbeta}{2642}{03B2} +\pxDeclarePdfTextCommand{\textgamma}{2643}{03B3} +\pxDeclarePdfTextCommand{\textdelta}{2644}{03B4} +\pxDeclarePdfTextCommand{\textepsilon}{2645}{03B5} +\pxDeclarePdfTextCommand{\textzeta}{2646}{03B6} +\pxDeclarePdfTextCommand{\texteta}{2647}{03B7} +\pxDeclarePdfTextCommand{\texttheta}{2648}{03B8} +\pxDeclarePdfTextCommand{\textiota}{2649}{03B9} +\pxDeclarePdfTextCommand{\textkappa}{264A}{03BA} +\pxDeclarePdfTextCommand{\textlambda}{264B}{03BB} +\pxDeclarePdfTextCommand{\textmu}{264C}{03BC} +\pxDeclarePdfTextCommand{\textnu}{264D}{03BD} +\pxDeclarePdfTextCommand{\textxi}{264E}{03BE} +\pxDeclarePdfTextCommand{\textomicron}{264F}{03BF} +\pxDeclarePdfTextCommand{\textpi}{2650}{03C0} +\pxDeclarePdfTextCommand{\textrho}{2651}{03C1} +\pxDeclarePdfTextCommand{\textsigma}{2652}{03C3} +\pxDeclarePdfTextCommand{\texttau}{2653}{03C4} +\pxDeclarePdfTextCommand{\textupsilon}{2654}{03C5} +\pxDeclarePdfTextCommand{\textphi}{2655}{03C6} +\pxDeclarePdfTextCommand{\textchi}{2656}{03C7} +\pxDeclarePdfTextCommand{\textpsi}{2657}{03C8} +\pxDeclarePdfTextCommand{\textomega}{2658}{03C9} +\pxDeclarePdfTextCommand{\textvarsigma}{}{03C2} +\pxDeclarePdfTextCommand{\textfinalsigma}{}{03C2} +\pxDeclarePdfTextCommand{\CYRA}{2721}{0410} +\pxDeclarePdfTextCommand{\CYRB}{2722}{0411} +\pxDeclarePdfTextCommand{\CYRV}{2723}{0412} +\pxDeclarePdfTextCommand{\CYRG}{2724}{0413} +\pxDeclarePdfTextCommand{\CYRD}{2725}{0414} +\pxDeclarePdfTextCommand{\CYRE}{2726}{0415} +\pxDeclarePdfTextCommand{\CYRYO}{2727}{0401} +\pxDeclarePdfTextCommand{\CYRZH}{2728}{0416} +\pxDeclarePdfTextCommand{\CYRZ}{2729}{0417} +\pxDeclarePdfTextCommand{\CYRI}{272A}{0418} +\pxDeclarePdfTextCommand{\CYRISHRT}{272B}{0419} +\pxDeclarePdfTextCommand{\CYRK}{272C}{041A} +\pxDeclarePdfTextCommand{\CYRL}{272D}{041B} +\pxDeclarePdfTextCommand{\CYRM}{272E}{041C} +\pxDeclarePdfTextCommand{\CYRN}{272F}{041D} +\pxDeclarePdfTextCommand{\CYRO}{2730}{041E} +\pxDeclarePdfTextCommand{\CYRP}{2731}{041F} +\pxDeclarePdfTextCommand{\CYRR}{2732}{0420} +\pxDeclarePdfTextCommand{\CYRS}{2733}{0421} +\pxDeclarePdfTextCommand{\CYRT}{2734}{0422} +\pxDeclarePdfTextCommand{\CYRU}{2735}{0423} +\pxDeclarePdfTextCommand{\CYRF}{2736}{0424} +\pxDeclarePdfTextCommand{\CYRH}{2737}{0425} +\pxDeclarePdfTextCommand{\CYRC}{2738}{0426} +\pxDeclarePdfTextCommand{\CYRCH}{2739}{0427} +\pxDeclarePdfTextCommand{\CYRSH}{273A}{0428} +\pxDeclarePdfTextCommand{\CYRSHCH}{273B}{0429} +\pxDeclarePdfTextCommand{\CYRHRDSN}{273C}{042A} +\pxDeclarePdfTextCommand{\CYRERY}{273D}{042B} +\pxDeclarePdfTextCommand{\CYRSFTSN}{273E}{042C} +\pxDeclarePdfTextCommand{\CYREREV}{273F}{042D} +\pxDeclarePdfTextCommand{\CYRYU}{2740}{042E} +\pxDeclarePdfTextCommand{\CYRYA}{2741}{042F} +\pxDeclarePdfTextCommand{\cyra}{2751}{0430} +\pxDeclarePdfTextCommand{\cyrb}{2752}{0431} +\pxDeclarePdfTextCommand{\cyrv}{2753}{0432} +\pxDeclarePdfTextCommand{\cyrg}{2754}{0433} +\pxDeclarePdfTextCommand{\cyrd}{2755}{0434} +\pxDeclarePdfTextCommand{\cyre}{2756}{0435} +\pxDeclarePdfTextCommand{\cyryo}{2757}{0451} +\pxDeclarePdfTextCommand{\cyrzh}{2758}{0436} +\pxDeclarePdfTextCommand{\cyrz}{2759}{0437} +\pxDeclarePdfTextCommand{\cyri}{275A}{0438} +\pxDeclarePdfTextCommand{\cyrishrt}{275B}{0439} +\pxDeclarePdfTextCommand{\cyrk}{275C}{043A} +\pxDeclarePdfTextCommand{\cyrl}{275D}{043B} +\pxDeclarePdfTextCommand{\cyrm}{275E}{043C} +\pxDeclarePdfTextCommand{\cyrn}{275F}{043D} +\pxDeclarePdfTextCommand{\cyro}{2760}{043E} +\pxDeclarePdfTextCommand{\cyrp}{2761}{043F} +\pxDeclarePdfTextCommand{\cyrr}{2762}{0440} +\pxDeclarePdfTextCommand{\cyrs}{2763}{0441} +\pxDeclarePdfTextCommand{\cyrt}{2764}{0442} +\pxDeclarePdfTextCommand{\cyru}{2765}{0443} +\pxDeclarePdfTextCommand{\cyrf}{2766}{0444} +\pxDeclarePdfTextCommand{\cyrh}{2767}{0445} +\pxDeclarePdfTextCommand{\cyrc}{2768}{0446} +\pxDeclarePdfTextCommand{\cyrch}{2769}{0447} +\pxDeclarePdfTextCommand{\cyrsh}{276A}{0448} +\pxDeclarePdfTextCommand{\cyrshch}{276B}{0449} +\pxDeclarePdfTextCommand{\cyrhrdsn}{276C}{044A} +\pxDeclarePdfTextCommand{\cyrery}{276D}{044B} +\pxDeclarePdfTextCommand{\cyrsftsn}{276E}{044C} +\pxDeclarePdfTextCommand{\cyrerev}{276F}{044D} +\pxDeclarePdfTextCommand{\cyryu}{2770}{044E} +\pxDeclarePdfTextCommand{\cyrya}{2771}{044F} +\pxDeclarePdfTextCommand{\textvisiblespace}{}{2423} +\pxDeclarePdfTextComposite{\=}{A}{}{0100} +\pxDeclarePdfTextComposite{\=}{I}{}{012A} +\pxDeclarePdfTextComposite{\=}{U}{}{016A} +\pxDeclarePdfTextComposite{\=}{E}{}{0112} +\pxDeclarePdfTextComposite{\=}{O}{}{014C} +\pxDeclarePdfTextComposite{\=}{a}{}{0101} +\pxDeclarePdfTextComposite{\=}{i}{}{012B} +\pxDeclarePdfTextComposite{\=}{u}{}{016B} +\pxDeclarePdfTextComposite{\=}{e}{}{0113} +\pxDeclarePdfTextComposite{\=}{o}{}{014D} +\pxDeclarePdfTextComposite{\k}{A}{}{0104} +\pxDeclarePdfTextComposite{\v}{L}{}{013D} +\pxDeclarePdfTextComposite{\'}{S}{}{015A} +\pxDeclarePdfTextComposite{\c}{S}{}{015E} +\pxDeclarePdfTextComposite{\v}{T}{}{0164} +\pxDeclarePdfTextComposite{\'}{Z}{}{0179} +\pxDeclarePdfTextComposite{\.}{Z}{}{017B} +\pxDeclarePdfTextComposite{\k}{a}{}{0105} +\pxDeclarePdfTextComposite{\v}{l}{}{013E} +\pxDeclarePdfTextComposite{\'}{s}{}{015B} +\pxDeclarePdfTextComposite{\c}{s}{}{015F} +\pxDeclarePdfTextComposite{\v}{t}{}{0165} +\pxDeclarePdfTextComposite{\'}{z}{}{017A} +\pxDeclarePdfTextComposite{\.}{z}{}{017C} +\pxDeclarePdfTextComposite{\'}{R}{}{0154} +\pxDeclarePdfTextComposite{\u}{A}{}{0102} +\pxDeclarePdfTextComposite{\'}{L}{}{0139} +\pxDeclarePdfTextComposite{\'}{C}{}{0106} +\pxDeclarePdfTextComposite{\v}{C}{}{010C} +\pxDeclarePdfTextComposite{\k}{E}{}{0118} +\pxDeclarePdfTextComposite{\v}{E}{}{011A} +\pxDeclarePdfTextComposite{\v}{D}{}{010E} +\pxDeclarePdfTextComposite{\'}{N}{}{0143} +\pxDeclarePdfTextComposite{\v}{N}{}{0147} +\pxDeclarePdfTextComposite{\H}{O}{}{0150} +\pxDeclarePdfTextComposite{\v}{R}{}{0158} +\pxDeclarePdfTextComposite{\r}{U}{}{016E} +\pxDeclarePdfTextComposite{\H}{U}{}{0170} +\pxDeclarePdfTextComposite{\c}{T}{}{0162} +\pxDeclarePdfTextComposite{\'}{r}{}{0155} +\pxDeclarePdfTextComposite{\u}{a}{}{0103} +\pxDeclarePdfTextComposite{\'}{l}{}{013A} +\pxDeclarePdfTextComposite{\'}{c}{}{0107} +\pxDeclarePdfTextComposite{\v}{c}{}{010D} +\pxDeclarePdfTextComposite{\k}{e}{}{0119} +\pxDeclarePdfTextComposite{\v}{e}{}{011B} +\pxDeclarePdfTextComposite{\v}{d}{}{010F} +\pxDeclarePdfTextCommand{\dj}{}{0111} +\pxDeclarePdfTextComposite{\'}{n}{}{0144} +\pxDeclarePdfTextComposite{\v}{n}{}{0148} +\pxDeclarePdfTextComposite{\H}{o}{}{0151} +\pxDeclarePdfTextComposite{\v}{r}{}{0159} +\pxDeclarePdfTextComposite{\r}{u}{}{016F} +\pxDeclarePdfTextComposite{\H}{u}{}{0171} +\pxDeclarePdfTextComposite{\c}{t}{}{0163} +\pxDeclarePdfTextCommand{\ng}{}{014B} +\pxDeclarePdfTextCommand{\textnumero}{}{2116} +%% + +% Give a substitute definition to characters that appear as +% ligatures, since otherwise hyperref leaves some garbage in +% output pdf-strings when such ligatures appear. +\ifpxhy@uptex\else + \ifpxhy@zerox\else + \DeclareTextCommand{\textendash}{PD1}{--} + \DeclareTextCommand{\textquestiondown}{PD1}{}% empty + \DeclareTextCommand{\textexclamdown}{PD1}{}% empty + \fi +\fi + +%--------------------------------------- Enable hyperref unicode +\ifpxhy@hy@unicode + +\PackageInfo\pxhy@pkgname + {The setup for hyperref 'unicode' is applied.\MessageBreak + (Note that this feature is experimental.)\@gobbletwo} + +%% The following code is taken from hyperref.sty. +%%%%BEGIN + \def\HyPsd@Char#1{% + \ifnum`#1<128 % + \@backslashchar 000#1% + \else + \ifnum`#1<65536 % + \expandafter\HyPsd@CharTwoByte\number`#1!% + \else + \expandafter\expandafter\expandafter\HyPsd@CharSurrogate + \intcalcSub{`#1}{65536}!% + \fi + \fi + }% + \def\HyPsd@CharTwoByte#1!{% + \expandafter\expandafter\expandafter\HyPsd@CharOctByte + \IntCalcDiv#1!256!!% + \expandafter\expandafter\expandafter\HyPsd@CharOctByte + \IntCalcMod#1!256!!% + }% + \def\HyPsd@CharOctByte#1!{% + \@backslashchar + \IntCalcDiv#1!64!% + \intcalcDiv{\IntCalcMod#1!64!}{8}% + \IntCalcMod#1!8!% + }% + \def\HyPsd@CharSurrogate#1!{% + \@backslashchar 33% + \IntCalcDiv#1!262144!% + \expandafter\expandafter\expandafter\HyPsd@CharOctByte + \intcalcDiv{\IntCalcMod#1!262144!}{1024}!% + \@backslashchar 33% + \expandafter\expandafter\expandafter\IntCalcAdd + \intcalcDiv{\IntCalcMod#1!1024!}{256}!4!% + \expandafter\expandafter\expandafter\HyPsd@CharOctByte + \IntCalcMod#1!256!!% + }% +%%%%END + +%% disable the verification of bxjscls +\let\jsCheckHyperrefUnicode\@empty + +\fi +%--------------------------------------- 'jacommentline' +\ifpxhy@jacommentline + +% The 'jacomemntline' feature outputs at the top of the +% hyperref outline file (*.out) a comment line including +% some Japanese characters. + +%% \pxhy@jacomment +\let\pxhy@jacomment\@empty +\begingroup + \@for\pxhy@x:={% + 2433,244E,2555,2521,2524,256B,244F,467C,4B5C,386C,% + 4A38,3B7A,2472,345E,245F,245E,2439% + }\do{% + \kansujichar1=\jis"\pxhy@x\relax + \xdef\pxhy@jacomment{\pxhy@jacomment\kansuji1}% + } +\endgroup + +%% attach a hook +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname ReadBookmarks\endcsname\relax\else + \g@addto@macro\ReadBookmarks{% + \if@filesw + \ifx\@outlinefile\@undefined\else + \immediate\write\@outlinefile{% + \@percentchar\pxhy@jacomment.}% + \fi + \fi + } +\fi + +\fi +%--------------------------------------- All done +\endinput +%% EOF diff --git a/language/japanese/pxjahyper/pxjahyper.tex b/language/japanese/pxjahyper/pxjahyper.tex new file mode 100644 index 0000000000..41b1b1c7f5 --- /dev/null +++ b/language/japanese/pxjahyper/pxjahyper.tex @@ -0,0 +1,136 @@ +% 文字コードは UTF-8 +% platex で組版する +\documentclass[a4paper]{jsarticle} +\usepackage{shortvrb} +\MakeShortVerb{\|} +\newcommand{\PkgVersion}{0.3e} +\newcommand{\PkgDate}{2019/06/20} +\newcommand{\Pkg}[1]{\textsf{#1}} +\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} +\newcommand{\Note}{\par\noindent ※} +\newcommand{\Means}{~:\quad} +\providecommand{\pTeX}{p\TeX} +\providecommand{\upTeX}{u\pTeX} +\providecommand{\pLaTeX}{p\LaTeX} +\providecommand{\upLaTeX}{u\pLaTeX} +%----------------------------------------------------------- +\begin{document} +\title{\Pkg{pxjahyper} パッケージ} +\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')} +\date{v\PkgVersion\quad[\PkgDate]} +\maketitle + +%=========================================================== +\section{概要} + +(u){\pLaTeX} + hyperref + dvipdfmxの組み合わせで +日本語を含む「しおり」をもつPDF文書を作成する +場合に必要となる機能を提供する。 +\begin{itemize} +\item dvipdfmx用の「tounicode special」について、 + 内部漢字コードに応じて適切なものを出力する。 +\item PDF文字列の中でLICR(|\"a| や |\textsection| 等の + 文字出力の命令)が正しく機能するようにする。 + ただし、エンジンが {\pTeX} の場合は、out2uni を利用 + する場合を除き、JIS~X~0208にない文字は出力できない + (hyperrefの警告が出る)。 +\item {\TeX} の版面拡大機能が使われている + (|\mag| が1000でない;典型的には\Pkg{jsclasses}の + 文書クラスで基底フォントサイズが10\,pt以外である) + 場合に、\Pkg{hyperref}が出力するpapersize specialの + 紙面サイズの値が不正になるが、この場合に |\mag| 値を + 考慮して求めた正しいサイズによるpapersize specialを + 改めて出力する。 +\end{itemize} + +%=========================================================== +\section{パッケージの読込} + +|\usepackage| で読み込む。 +\begin{quote}\small\begin{verbatim} +\usepackage[オプション,...]{pxjahyper} +\end{verbatim}\end{quote} + +使用可能なオプションは以下の通り。 +\begin{itemize} +\item |tounicode|(既定)\Means + dvipdfmx用の「tounicode special」を出力する。 +\item |notounicode|\Means + |tounicode| の否定。 +\item |out2uni|\Means + out2uniフィルタ(角藤氏製作)を使うことを前提にした + 出力を行う。 + (|tounicode| が無効になる。) + {\upLaTeX} では使用不可。 +\item |noout2uni|(既定)\Means + |out2uni| の否定。 +\item |bigcode|(既定)\Means + {\upTeX}でのToUnicode CMapとして既定のUTF8-UCSの代わりに\ + UTF8-UTF16を用いる。 + (当該のファイルが存在する必要がある。) +\item |nobigcode|\Means + |bigcode| の否定。 + \Note 0.3a版より既定を |bigcode| に変更した。 +\item |dvipdfmx|\Means + dvipdfmxを前提とした動作を行う。 +\item |nodriver|/|none|\Means + dvipdfmxを前提とした動作を抑止する。 + 現状では、この場合には本パッケージは実質的に何の動作も行わない。 +\item |auto|(既定)\Means + \Pkg{hyperref}のドライバがdvipdfmx用ならば |dvipdfmx|、 + それ以外は |none| の動作。 +\end{itemize} + +%=========================================================== +\section{機能} + +「概要」で述べた機能は(オプション設定に応じて) +自動的に実施される。 + +\paragraph{Unicode符号値による入力} +PDF文字列入力中で、|\Ux| が以下の意味になる。 +PDF文字列以外では |\Ux| は以前の定義(または未定義)に戻る。 + +\begin{itemize} +\item |\Ux{|Unicode符号値|}|\Means + その符号値の文字を出力する。 +\end{itemize} + +符号値は16進数で指定する。 + +なお、\Pkg{OTF}パッケージの |\UTF| 命令は、PDF文字列中では +out2uni用の出力を行うように設計されているが、 +本パッケージを {\upLaTeX} で用いた場合は、 +|\UTF| も(PDF文字列中では)|\Ux| と同じ動作 +(つまりtounicode用の出力)になるように変更される。 + +\paragraph{PDF文字列用の文字命令の定義} +以下の命令が提供される。(プリアンブルでのみ使用可能。) + +\begin{itemize} +\item |\pxDeclarePdfTextCommand{\制御綴}{|\Meta{JIS符号値}|}{|\Meta +{Unicode符号値}|}|\Means + PDF文字列中の |\制御綴| の動作として、 + 指定した符号値の文字を出力することを指定する。 +\item |\pxDeclarePdfTextComposite{\制御綴}{|\Meta{引数}|}{|\Meta +{JIS符号値}|}{|\Meta{Unicode符号値}|}|\Means + PDF文字列中の |\制御綴|(アクセント命令)+ \Meta{引数}の + 動作として、指定した符号値の文字を出力することを指定する。 +\end{itemize} + +これらの命令において、符号値は16進数で指定する。 +「JIS符号値」は {\upLaTeX} では使われないので省略して +(空にして)もよい +(或いはそもそも JIS~X~0208 にない文字の場合は省略する)。 +逆に「Unicode符号値」は {\pLaTeX} の動作でかつ「JIS符号値」が +指定されている場合は省略してよい。 + +例えば、以下のように定義しておくと、 +PDF文字列中で |\textschwa|(schwa記号)や |\d{t}|(\d{t})が +使えるようになる。 +\begin{quote}\small\begin{verbatim} +\pxDeclarePdfTextCommand{\textschwa}{}{0259} +\pxDeclarePdfTextComposite{\d}{t}{}{1E6D} +\end{verbatim}\end{quote} + +\end{document} -- cgit v1.2.3