From ba3d555da29f2da7ca04bf225218e22c8d12d7f8 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 18 Jul 2021 03:00:52 +0000 Subject: CTAN sync 202107180300 --- language/korean/cjk-ko/ChangeLog | 10 ++ language/korean/cjk-ko/README | 2 +- language/korean/cjk-ko/cjk-ko-doc.pdf | Bin 175115 -> 174977 bytes language/korean/cjk-ko/cjk-ko-doc.tex | 8 +- language/korean/cjk-ko/cjkutf8-josa.sty | 2 +- language/korean/cjk-ko/cjkutf8-ko.sty | 184 +++++++++++++++--------- language/korean/cjk-ko/cjkutf8-nanummjhanja.sty | 2 +- 7 files changed, 133 insertions(+), 75 deletions(-) (limited to 'language/korean') diff --git a/language/korean/cjk-ko/ChangeLog b/language/korean/cjk-ko/ChangeLog index 5d82a4e2d7..94694e2603 100644 --- a/language/korean/cjk-ko/ChangeLog +++ b/language/korean/cjk-ko/ChangeLog @@ -1,3 +1,13 @@ +2021-07-17 Dohyun Kim + + Version 2.0 + + * cjkutf8-ko.sty: use latex's cmd hooks; + allow non-ascii characters in LaTeX labels; + redefine MakeUppercase/Lowercase for Latin-1 supplement block; + care about fancyvrb's VerbatimOut environment; + load konames-utf.sty immediately. + 2021-03-01 Dohyun Kim Version 1.9 diff --git a/language/korean/cjk-ko/README b/language/korean/cjk-ko/README index 32f477e999..05a6470223 100644 --- a/language/korean/cjk-ko/README +++ b/language/korean/cjk-ko/README @@ -1,4 +1,4 @@ -CJK-ko package version 1.9 (2021/03/01) +CJK-ko package version 2.0 (2021/07/17) ======================================= This package supports typesetting of modern Korean documents with the help diff --git a/language/korean/cjk-ko/cjk-ko-doc.pdf b/language/korean/cjk-ko/cjk-ko-doc.pdf index 3bdc528832..1eb98bc9e3 100644 Binary files a/language/korean/cjk-ko/cjk-ko-doc.pdf and b/language/korean/cjk-ko/cjk-ko-doc.pdf differ diff --git a/language/korean/cjk-ko/cjk-ko-doc.tex b/language/korean/cjk-ko/cjk-ko-doc.tex index 8aa5d73cac..163c95338d 100644 --- a/language/korean/cjk-ko/cjk-ko-doc.tex +++ b/language/korean/cjk-ko/cjk-ko-doc.tex @@ -9,12 +9,12 @@ \fi \usepackage{geometry} \usepackage[cjk,hangul,usedotemph]{kotex} -\usepackage{xcolor,hologo} -\usepackage[pdfencoding=auto, +\usepackage{xcolor,hologo,hyperref} +\hypersetup{ pdftitle={cjk-ko 간단 매뉴얼}, pdfauthor={Dohyun Kim}, pdfkeywords={CJK, LaTeX, Korean, ko.TeX} -]{hyperref} +} \def\cs#1{\texttt{\color{teal}\char92 \chardef\{=123 \chardef\}=125 #1}} \def\koTeX{\textsf{k}\kern-.1em\textit{o}.\kern-.1667em\TeX} @@ -25,7 +25,7 @@ \title{\cjkko\ 간단 매뉴얼} \author{Dohyun Kim \normalsize $<$\texttt{nomos at ktug org}$>$ \and \normalsize $<$\url{http://github.com/dohyunkim/cjk-ko}$>$} -\date{Version 1.9\quad \today} +\date{Version 2.0\quad \today} \begin{document} \maketitle diff --git a/language/korean/cjk-ko/cjkutf8-josa.sty b/language/korean/cjk-ko/cjkutf8-josa.sty index 0fb6d6c35c..7623138b7f 100644 --- a/language/korean/cjk-ko/cjkutf8-josa.sty +++ b/language/korean/cjk-ko/cjkutf8-josa.sty @@ -17,7 +17,7 @@ % Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, % MA 02110-1301 USA -\ProvidesPackage{cjkutf8-josa}[2021/03/01 v1.9 Automatic Josa selection for cjk-ko] +\ProvidesPackage{cjkutf8-josa}[2021/07/17 v2.0 Automatic Josa selection for cjk-ko] \AtBeginDocument{ \ifx\use@josa\undefined\else diff --git a/language/korean/cjk-ko/cjkutf8-ko.sty b/language/korean/cjk-ko/cjkutf8-ko.sty index ca7244f97a..155278fd2d 100644 --- a/language/korean/cjk-ko/cjkutf8-ko.sty +++ b/language/korean/cjk-ko/cjkutf8-ko.sty @@ -17,8 +17,8 @@ % Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, % MA 02110-1301 USA -\NeedsTeXFormat{LaTeX2e}[2020/10/01] -\ProvidesPackage{cjkutf8-ko}[2021/03/01 v1.9 Hangul typesetting on CJKutf8] +\NeedsTeXFormat{LaTeX2e}[2021/06/01] +\ProvidesPackage{cjkutf8-ko}[2021/07/17 v2.0 Hangul typesetting on CJKutf8] \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname eTeXversion\endcsname\relax @@ -84,7 +84,6 @@ % font settings \ifx\usecjk@@font\undefined\else \PassOptionsToPackage{T1}{CJKutf8} - \RequirePackage{textcomp} \IfFileExists{t1\CJKKO@mjfont.fd}{\let\rmdefault\CJKKO@mjfont}{} \IfFileExists{t1\CJKKO@gtfont.fd}{\let\sfdefault\CJKKO@gtfont}{} \fi @@ -160,21 +159,19 @@ %%%%%%%%%%%%%%%%%%%%%%%%% % italic correction after cjk -\edef\maybe@ic@{% - \unexpanded{% +\AddToHook{cmd/maybe@ic@/before}{% + \let\CJKKO@wasCJK\undefined + \ifnum\lastkern=\@ne + \unkern\unkern + \let\CJKKO@wasCJK\empty + \fi +} +\AddToHook{cmd/maybe@ic@/after}{% + \ifx\CJKKO@wasCJK\empty + \CJK@CJK + \CJKKO@check@next@tok@ \let\CJKKO@wasCJK\undefined - \ifnum\lastkern=\@ne - \unkern\unkern - \let\CJKKO@wasCJK\empty - \fi - }% - \unexpanded\expandafter{\maybe@ic@ - \ifx\CJKKO@wasCJK\empty - \CJK@CJK - \CJKKO@check@next@tok@ - \let\CJKKO@wasCJK\undefined - \fi - }% + \fi } %%%%%%%%%%%%%%%%%%%%%%%%% @@ -194,8 +191,7 @@ \ifx\usecjk@@font\undefined \ifx\CJK@scale\undefined\else % redefine \CJK@empty - \let\CJKKO@@empty\CJK@empty - \def\CJK@empty{\afterassignment\CJKKO@@empty@insert\CJKKO@@empty} + \AddToHook{cmd/CJK@empty/before}{\afterassignment\CJKKO@@empty@insert} \def\CJKKO@@empty@insert{\@tempdimb\CJK@scale\@tempdimb} % end of redefinition \if@hangul % hangul is main language @@ -256,11 +252,8 @@ \sfcode96=998 % ` \sfcode102=998 % oms { \sfcode123=998 % t1 { -\def\CJK@testLastCJK{% - \global\CJK@false +\AddToHook{cmd/CJK@testLastCJK/after}{% \ifnum\lastkern=\@ne - \global \CJK@true - %%% inserted \else \ifhmode \ifnum\lastkern=\tw@\else @@ -277,8 +270,8 @@ \else \CJKglue \fi \fi \fi\fi\fi\fi\fi - %%% end of inserted - \fi} + \fi +} %%%%%%%%%%%%%%%%%%%%%%%%% % half-width puncts @@ -352,13 +345,8 @@ \AtBeginDocument{ \ifx\usecjk@@font\undefined \ifx\CJK@charlower\undefined\else - \expandafter\let - \expandafter\CJKKO@orig@CJKsymbol - \csname CJKsymbol \endcsname - \DeclareRobustCommand{\CJKsymbol}[1]{% - \leavevmode\lower\CJK@charlower\hbox\bgroup - \CJKKO@orig@CJKsymbol{#1}\egroup - } + \AddToHook{cmd/CJKsymbol/before}{\leavevmode\lower\CJK@charlower\hbox\bgroup} + \AddToHook{cmd/CJKsymbol/after}{\egroup} \fi\fi } @@ -377,7 +365,7 @@ % hangul captions, labels, and spacing \RequirePackage{kolabels-utf} \if@hangul - \AtBeginDocument{\RequirePackage{konames-utf}} + \RequirePackage{konames-utf} \linespread{1.3888} \footnotesep=1.3888\footnotesep \skip\footins=1.3888\skip\footins plus6pt minus3pt @@ -395,55 +383,115 @@ \ifx\pdfgentounicode\undefined\else \ifx\use@cjk@cmap@\relax % truetype \ifx\pdfnobuiltintounicode\undefined\else - \let\origin@l@CJK@addcmap\CJK@addcmap - \def\CJK@addcmap#1{\origin@l@CJK@addcmap{#1}% - \pdfnobuiltintounicode\font@name } + \AddToHook{cmd/CJK@addcmap/after}{\pdfnobuiltintounicode\font@name } \fi \else % type1 - \IfFormatAtLeastTF{2021/05/01}{} - {\InputIfFileExists{glyphtounicode} - {\pdfgentounicode\@ne}{} - } \let\CJK@addcmap\@gobble \fi \fi \fi %%%%%%%%%%%%%%%%%%%%%%%%% -%%% \makeindex in memoir class clashed with this package. -%%% cause: memoir appempts to write index entries to a file -%%% at the end of document without protecting active characters. -%%% spotted by Juho Lee. thanks to him. -%\AtEndDocument{\CJK@makeInactive} -%%% still conflicts with package verbments. -%%% so now we make utf8 characters robust. -\count@"C2 \loop - \uccode\count@\count@ - \lccode\count@\count@ - \begingroup - \lccode`\~\count@ - \lowercase{\endgroup - \protected\edef~{\unexpanded\expandafter{~}}} -\ifnum\count@<"F4 \advance\count@\@ne \repeat -% then we have to care about hyperref bookmarks. +% allow non-cjk characters in labels +\def\CJK@XX#1#2{% + \ifx #2\protect + \expandafter\CJK@XXp\expandafter#1% + \else + \ifincsname \string#1\string#2\else % added + \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax + \csname CJK@\number `#1\endcsname{`#2}% + \expandafter\expandafter % added wrt allowbreak before ( + \expandafter\CJK@ignorespaces + \else + \csname u8:\string #1\string #2\endcsname + \fi + \fi % added + \fi} +\def\CJK@XXX#1#2#3{% + \ifx #2\protect + \expandafter\CJK@XXXp\expandafter#1#3% + \else + \ifincsname \string#1\string#2\string#3\else % added + \expandafter\ifx\csname u8:\string #1\string #2\string #3\endcsname \relax + \csname CJK@\number `#1\endcsname{`#2}{`#3}% + \expandafter\expandafter % added wrt allowbreak before ( + \expandafter\CJK@ignorespaces + \else + \csname u8:\string #1\string #2\string #3\endcsname + \fi + \fi % added + \fi} +\def\CJK@XXXX#1#2#3#4{% + \ifx #2\protect + \expandafter\CJK@XXXXp\expandafter#1#3% + \else + \ifincsname \string#1\string#2\string#3\string#4\else % added + \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#4}% + \expandafter % added wrt allowbreak before ( + \CJK@ignorespaces + \fi % added + \fi} + +%%%%%%%%%%%%%%%%%%%%%%%%% +% protect against lowercase +\count@="80 \loop + \lccode\count@=\count@ + \ifnum\count@<"DF \advance\count@\@ne \repeat +% redefine MakeUppercase/MakeLowercase +\DeclareRobustCommand{\MakeUppercase}[1]{{% + % begin patch + \count@"A0 \loop + \ifnum\count@="B7 \else + \begingroup + \@tempcnta\count@ \advance\@tempcnta-"20 + \lccode`\~\count@ \lccode`\!\@tempcnta \lccode"C3="C3\relax + \lowercase{\endgroup + \expandafter\def\csname u8:\string^^c3\string~\endcsname{^^c3!}}% + \fi + \ifnum\count@<"BE \advance\count@\@ne \repeat + % end patch + \def\i{I}\def\j{J}% + \def\reserved@a##1##2{\let##1##2\reserved@a}% + \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% + \let\UTF@two@octets@noexpand\@empty + \let\UTF@three@octets@noexpand\@empty + \let\UTF@four@octets@noexpand\@empty + \protected@edef\reserved@a{\uppercase{#1}}% + \reserved@a +}} +\DeclareRobustCommand{\MakeLowercase}[1]{{% + % begin patch + \count@"80 \loop + \ifnum\count@="97 \else + \begingroup + \@tempcnta\count@ \advance\@tempcnta "20 + \lccode`\~\count@ \lccode`\!\@tempcnta \lccode"C3="C3\relax + \lowercase{\endgroup + \expandafter\def\csname u8:\string^^c3\string~\endcsname{^^c3!}}% + \fi + \ifnum\count@<"9E \advance\count@\@ne \repeat + % end patch + \def\reserved@a##1##2{\let##2##1\reserved@a}% + \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% + \let\UTF@two@octets@noexpand\@empty + \let\UTF@three@octets@noexpand\@empty + \let\UTF@four@octets@noexpand\@empty + \protected@edef\reserved@a{\lowercase{#1}}% + \reserved@a +}} +\protected@edef\MakeUppercase#1{\MakeUppercase{#1}} +\protected@edef\MakeLowercase#1{\MakeLowercase{#1}} + +%%% for fancyvrb/verbments package +\AddToHook{env/VerbatimOut/begin}{\CJK@makeInactive} + +%%% hyperref bookmarks. \ifx\pdfstringdefPreHook\undefined \let\pdfstringdefPreHook\empty \fi \g@addto@macro\pdfstringdefPreHook{% - \count@"C2 \loop - \begingroup - \lccode`\~\count@ - \lowercase{\endgroup - \edef~{\unexpanded\expandafter{~}}}% - \ifnum\count@<"F4 \advance\count@\@ne \repeat - % and dotemph as well \let\dotemph\@firstofone } -% protect against lowercase -\count@"80 \loop - \uccode\count@\count@ - \lccode\count@\count@ -\ifnum\count@<"BF \advance\count@\@ne \repeat %%% ignore variation selectors for korean hanja \DeclareUnicodeCharacter{FE00}{} diff --git a/language/korean/cjk-ko/cjkutf8-nanummjhanja.sty b/language/korean/cjk-ko/cjkutf8-nanummjhanja.sty index f31ba8bd3d..4eb2121f37 100644 --- a/language/korean/cjk-ko/cjkutf8-nanummjhanja.sty +++ b/language/korean/cjk-ko/cjkutf8-nanummjhanja.sty @@ -18,7 +18,7 @@ % MA 02110-1301 USA \ProvidesPackage{cjkutf8-nanummjhanja} - [2021/03/01 v1.9 UHC hanja for Nanum Myeongjo] + [2021/07/17 v2.0 UHC hanja for Nanum Myeongjo] \def\CJKKO@mjdefault{nanummj} \def\CJKKO@mjhanjafamily{\def\CJK@family{uhcmj}} -- cgit v1.2.3