diff options
Diffstat (limited to 'language/korean/HLaTeX/latex/hfont.tex')
-rw-r--r-- | language/korean/HLaTeX/latex/hfont.tex | 788 |
1 files changed, 788 insertions, 0 deletions
diff --git a/language/korean/HLaTeX/latex/hfont.tex b/language/korean/HLaTeX/latex/hfont.tex new file mode 100644 index 0000000000..ec732cddae --- /dev/null +++ b/language/korean/HLaTeX/latex/hfont.tex @@ -0,0 +1,788 @@ +%% This is `hfont.tex' written by koaunghi.un@student.uni-tuebingen.de. +%% +%% ÀÌ ÆÄÀÏÀº ¿ì¸®¸»À» \TeX¿¡¼ »ç¿ëÇϴµ¥ ÇÊ¿äÇÑ KS X 1001 ºÎÈ£¿Í +%% ±ÛÀÚü Á¤ÀÇ¿¡ ±× ¿ªÇÒÀ» µÎ°í ÀÖ´Ù. ¿ì¸®¸» ±ÛÀÚü´Â \LaTeX2eÀÇ +%% NFSS2(New Font Selection Scheme2)À» ÇѱÛÈÇÑ HFSS¿¡ ÀÇÇØ ¼±ÅõǸç, +%% ÀϹÝÀÇ Çѱ۹®¼¿Í´Â ´Þ¸® ¹®¼¿¡ ¿ì¸®¸» ±ÛÀÚü¸¸ Æ÷ÇÔÇϱâ À§Çؼ´Â +%% ÀÌ ÆÄÀÏÀÌ ´Üµ¶À¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. + +\ProvidesFile{hfont.tex}[2000/08/13] + +%% 0.95 scheme + +\begingroup +\def\reserved@a{}\count@="0A1 +\loop\ifnum\count@<\@cclvi + \edef\reserved@a{\reserved@a \sfcode\the\count@=\@m}% + \advance\count@ by1 +\repeat +\global\let\ks@break\reserved@a +\endgroup + +%% ¿ì¸®¸» ºÎÈ£ÀÇ Á¤ÀÇ (KSC5601) +%% ---------------------------- +%% ¿ì¸®¸»ºÎÈ£´Â ¸ðµÎ TeXÀÇ ¸ðµë¸í·ÉÀ¸·Î 󸮵ȴÙ. +\def\reserved@a#1#2{% + \@tempcnta#1\relax + \@tempcntb#2\relax + \reserved@b} +\def\reserved@b{% + \ifnum\@tempcnta>\@tempcntb\else + \reserved@c\@tempcnta + \advance\@tempcnta\@ne + \expandafter\reserved@b + \fi} +\def\reserved@c#1{% + \uccode#1=#1 + \lccode#1=#1 + \sfcode#1=1001 + \catcode#1=\active} +\reserved@a{"0A1}{"0FE} + +\begingroup +\def\ksc@code{\ifnum\count@<"0FF + \edef\reserved@a{\reserved@a \catcode\the\count@=\the\@tempcnta} + \advance\count@ by1 + \else\let\next\relax \fi\next} +\@tempcnta13 +\def\reserved@a{}\count@="0A1\let\next\ksc@code \ksc@code +\global\let\makekscactive\reserved@a +\@tempcnta12 +\def\reserved@a{}\count@="0A1\let\next\ksc@code \ksc@code +\global\let\makekscother\reserved@a +\@tempcnta11 +\def\reserved@a{}\count@="0A1\let\next\ksc@code \ksc@code +\global\let\makekscletter\reserved@a +\endgroup + +%% ¿ì¸®¸»ÀÇ ºÐö: +%% -------------- +%% ¿ì¸®¸»Àº \hyphenchar°¡ ¾ø°í ¾î´À °÷¿¡¼³ª ÝÂôÎÀÌ Ê¦ÒöÇÏ´Ù. ±×·¯¹Ç·Î +%% ÀÏ´Ü ±ÛÀÚü ÀÚü¿¡¼ ÝÂôÎÀ» ¾ïÁ¦ÇÏ°í (\hyphenchar\font\m@ne) +%% ¿ì¸®¸» »çÀÌ¿¡ \hskip\hangul@skipÀ» ߺìýÇÔÀ¸·Î½á ÝÂôÎÀ» ʦÒöÇÏ°Ô +%% ÇÔ°ú µ¿½Ã¿¡ \hangulskipÀ¸·Î ÀÚ°£°£°ÝÀ» Á¶ÀýÀ» ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. +%% +\newdimen\hangulskip +\newskip\hangul@skip +\def\@Hyphen{\ifhmode\ifnum\spacefactor=1001\hskip\hangul@skip\fi\fi}%%%% +\def\set@hangulskip{% + \@tempdima=\f@size\p@ + \multiply\@tempdima100 + \divide\@tempdima\p@ + \multiply\@tempdima\p@ + \hangul@skip=\hangulskip minus\hangulskip + \multiply\hangul@skip by\strip@pt\@tempdima% + \divide\hangul@skip by1000 +} + +%% ÁٹٲÞÀÇ ¾ïÁ¦ +% ¿ì¸®¸» À½ÀýÀº ¾î´À °÷¿¡¼µçÁö ÁٹٲÞÀÌ °¡´ÉÇÏ´Ù. ÁٹٲÞÀ» ¾ïÁ¦ÇÒ +% ¶§¿¡ ¶óÅØÀÇ \nolinebreakµµ È¿°ú°¡ ¾ø´Ù. ¿ì¸®¸» À½ÀýÀÇ °æ°è¿¡¼´Â +% ´ÙÀ½°ú °°ÀÌ ÁٹٲÞÀ» ¾ïÁ¦ÇÑ´Ù. +\def\noHyphen{\spacefactor=999\nolinebreak} + +%% ¿ì¸®¸»ÀÇ ±ÛÀÚü ¹Ù²Ù±â: +%% ----------------------- +%% ¿ì¸®¸»ÀÇ ±ÛÀÚüÁ¾·ù´Â ¸íÁ¶¿Í °íµñ ±×¸®°í ŸÀÚÀÇ 3°¡Áö¸¦ ±âº»À¸·Î +%% ÇÑ´Ù. ¸íÁ¶(\textmj)¿Í °íµñ(\textgt)Àº °¢°¢ ¿µ¹®ÀÇ \textrm°ú +%% \textsf¿¡ ÇØ´çÇÏ°í ŸÀÚ(\texttz)´Â ¿µ¹®ÀÇ \texttt¿Í °°´Ù. +\DeclareTextFontCommand{\textmj}{\mjfamily} +\DeclareTextFontCommand{\textgt}{\gtfamily} +\DeclareTextFontCommand{\texttz}{\tzfamily} + +%% ¿ì¸®¸»±ÛÀÚü°¡Á·Àº ¸íÁ¶, °íµñ, ŸÀÚÀÇ ¼¼°¡Áö°¡ ÀÖ°í ´ÙÀ½°ú °°Àº +%% µî½ÄÀÌ ¼º¸³ÇÑ´Ù. \rmfamily=¸íÁ¶, \sffamily=°íµñ, \ttfamily=ŸÀÚ. +\expandafter\def\expandafter\rmfamily\expandafter{\rmfamily + \not@math@alphabet\mjfamily\mathmj + \hfontfamily\mjdefault} +\let\mjfamily\rmfamily +\expandafter\def\expandafter\sffamily\expandafter{\sffamily + \not@math@alphabet\gtfamily\mathgt + \hfontfamily\gtdefault} +\let\gtfamily\sffamily +\expandafter\def\expandafter\ttfamily\expandafter{\ttfamily + \not@math@alphabet\tzfamily\mathtz + \hfontfamily\tzdefault\ks@break} +\let\tzfamily\ttfamily + +%% ÆíÀÇ»ó ´ÙÀ½°ú °°Àº °¡Á·¹Ù²Þ¸ðµë¸í·Éµµ Á¦°øµÈ´Ù. (±×·¡ÇÈ, ±Ã¼, +%% Çʱâ, ¿Ü°û, »õ¸íÁ¶, ¸ñ°¢, ¿¾±Û, º½±Û¾¾ ¹× Ææ±Û¾¾) ÀÌ ¸ðµë ¸í·ÉµéÀº +%% ¾ø¾îÁú À⵿»ç´Ï¿¡ ¼ÓÇϹǷΠµÇµµ·Ï ¾²Áö ¾Êµµ·Ï ÇÑ´Ù. +\DeclareRobustCommand\grfamily{\hfontfamily{gr}} +\DeclareRobustCommand\gsfamily{\hfontfamily{gs}} +\DeclareRobustCommand\pgfamily{\hfontfamily{pg}} +\DeclareRobustCommand\mgfamily{\hfontfamily{mg}} +\DeclareRobustCommand\ytfamily{\hfontfamily{yt}} +\DeclareRobustCommand\bmfamily{\hfontfamily{bm}} +\DeclareRobustCommand\pnfamily{\hfontfamily{pn}} +\let\smfamily\mjfamily +\let\olfamily\mjfamily +\DeclareTextFontCommand{\textgr}{\grfamily} +\DeclareTextFontCommand{\textgs}{\gsfamily} +\DeclareTextFontCommand{\textpg}{\pgfamily} +\DeclareTextFontCommand{\textmg}{\mgfamily} +\DeclareTextFontCommand{\textyt}{\ytfamily} +\DeclareTextFontCommand{\textbm}{\bmfamily} +\DeclareTextFontCommand{\textpn}{\pnfamily} +\let\textsm\textmj +\let\textol\textmj + +%% LaTeX209½ÄÀÇ ±ÛÀÚü ¹Ù²Þ ¸ðµë ¸í·ÉÀº ±âº» ±ÛÀÚü¿¡ ÇØ´çÇÏ´Â ¸í·É¸¸ +%% Á¦°øÇÑ´Ù. +\DeclareOldFontCommand{\mj}{\normalhfont\mjfamily}{\@nomath\mj} +\DeclareOldFontCommand{\gt}{\normalhfont\gtfamily}{\@nomath\gt} +\DeclareOldFontCommand{\tz}{\normalhfont\tzfamily}{\@nomath\tz} + +%% ¿ì¸®¸»ÀÇ ±ÛÀÚü ÃʱâÈ´Â ºÎÈ£È¿Í °¡Á·¸¸À» ÃʱⰪÀ¸·Î ¹Ù²Û´Ù. +\DeclareRobustCommand\normalhfont + {\hfontencoding\hencodingdefault% + \hfontfamily\hfamilydefault% + \kscfamily\symboldefault\hanguldefault\hanjadefault} + +%% \normalfont´Â ¿µ¹®°ú ÇÔ²² ¿ì¸®¸»µµ ÃʱâȽÃŲ´Ù. +\expandafter\def\expandafter\normalfont\expandafter + {\normalfont\protect\normalhfont} +\let\reset@font\normalfont + +%% ¿µ¹® ¸ðµë \usefont´Â ºÎȣȰ¡ ¿ì¸®¸»ÀÏ °æ¿ì, ¿ì¸®¸»À» ´Ù·çµµ·Ï ÇÑ´Ù. +\def\usefont#1#2#3#4{\if\hf@encoding#1% + \hfontencoding{#1}\hfontfamily{#2}\else + \fontencoding{#1}\fontfamily{#2}\fi\fontseries{#3}% + \fontshape{#4}\selectfont\ignorespaces} + +%% ¿ì¸®¸»ÀÇ °¡Á·°èȹ: +%% ------------------ +%% ©ç ¿ì¸®¸»ÀÇ ÀÎÄÚµù: +%% ¿ì¸®¸»Àº ¿µ¹®°ú ´Ù¸£°Ô, µÎ ¹ÙÀÌÆ®·Î ÇѱÛÀÚ¸¦ ºÎÈ£ÈÇϹǷΠ¿µ¹®ÀÇ +%% ºÎÈ£È¿Í ±¸º°µÇµµ·Ï ´Ù¸¥ ºÎȣȸ¦ ¾²¸ç, ´ÙÀ½ÀÇ ¸ðµëÀ¸·Î +%% ÁöÁ¤ÇÑ´Ù. ºÎÈ£ÈÀÇ º¯°æÀº »õ·Î¿î .fd ÆÄÀÏÀ» ¿ä±¸ÇÏ°Ô µÈ´Ù. +\DeclareRobustCommand\hfontencoding[1]{% + \expandafter\ifx\csname T@#1\endcsname\relax + \@latex@error{Encoding scheme `#1' unknown}\@eha + \else + \edef\hf@encoding{#1}% + \ifx\cf@encoding\hf@encoding + \let\enc@update\relax + \else + \let\enc@update\@@enc@update + \fi + \fi +} + +%% ©è ¿ì¸®¸»±ÛÀÚüÀÇ °¡Á·: +%% ¿ì¸®¸»°¡Á·Àº µÑ·Î ³ª´¶´Ù. ¾ÕºÎºÐÀº ½É¹ú/ÇѱÛ/ÇÑÀÚÀÇ ±¸¼ºÇüŸ¦ +%% ÀǹÌÇÑ´Ù. +\DeclareRobustCommand\kscfamily[3]{\edef\sb@{#1}\edef\hg@{#2}\edef\hj@{#3}} + +%% µÞºÎºÐÀº ¿ì¸®¸»±ÛÀÚüÀÇ ¸ð¾ç»õ¸¦ ÀǹÌÇÑ´Ù. ¸íÁ¶, °íµñ, ŸÀÚ ¹× Ãß°¡ +%% ±ÛÀÚüµîÀÇ ¸ð¾ç»õ´Â \MapHangulFamily¿¡ ÀÇÇØ °¢°¢ ÇѱÛ/½É¹ú/ÇÑÀÚÀÇ +%% ¿ÜºÎ±ÛÀÚü¿Í ¿¬°üµÇ¾î ÀÖ´Ù. +\DeclareRobustCommand\hfontfamily[1]{% + \expandafter\ifx\csname #1@map\endcsname\relax + \@font@warning{Hangul Fontmap for `#1' undefined\MessageBreak + using default map `\expandafter\csname\default@hfamily + @map\endcsname' instead\@wrong@font@char}% + \expandafter\xdef\csname #1@map\endcsname{% + \expandafter\csname\default@hfamily @map\endcsname}% + \gdef\default@fontmap{% + \@font@warning{Some hangul fontmaps were not defined,\MessageBreak + default fontmap substituted.\@gobbletwo}}\fi + \edef\reserved@a{\csname #1@map\endcsname}% + \expandafter\hfont@map\reserved@a\@nil\ignorespaces} +\def\hfont@map#1,#2,#3\@nil{% + \edef\hg@family{#1}% + \edef\sb@family{#2}% + \edef\hj@family{#3}} +\AtEndDocument{\default@fontmap} +\let\default@fontmap\relax + +%% ©é ¿ì¸®¸» ±ÛÀÚü ½Ã¸®Áî: +%% ¿ì¸®¸»±ÛÀÚü½Ã¸®Áî´Â ¿µ¹®ÀÇ ±×°Í°ú °°´Ù. ´Ù¸¸ \fontseries°¡ S·Î +%% ½ÃÀÛÇÒ ¶§ ¿ì¸®¸»±Û²ÃÀº \mdseries¸¦ ¼¼¹ø ¿¬¼ÓÀμâÇÏ¿© +%% \bfseriesÀÇ üùÍý¸¦ ³ªÅ¸³ª°Ô ÇÑ´Ù. +\DeclareRobustCommand\fontseries[1]{% + \if S\expandafter\@car#1\@nil\@makeboldtrue + \edef\hf@series{\mddefault}\edef\f@series{\expandafter\@cdr#1\@nil}% + \else\@makeboldfalse\edef\hf@series{#1}\edef\f@series{#1}\fi} + +%% \TeX{}¿¡¼ \bfseriesÀÇ ¾ÖÃÊ°ªÀº bxÀÌ´Ù. uhc ±ÛÀÚü´Â b¿Í bx°¡ ¼·Î +%% ±¸ºÐµÇ¹Ç·Î ¸ðµë ¸í·É \hfontseries¿¡ ÀÇÇØ µÎ²¨¿î ±ÛÀÚü°¡ ¼±Åõǵµ·Ï +%% ÇÑ´Ù. +\DeclareRobustCommand\hfontseries[1]{\edef\hf@series{#1}} + +\expandafter\def\expandafter\bfseries\expandafter{\bfseries\hfontseries\hbfdefault} + +%% ©ê,©ë ¿ì¸®¸» ±ÛÀÚü¸ð¾ç ¹× Å©±â: +%% ¿ì¸®¸»ÀÇ ±ÛÀÚü¸ð¾ç°ú Å©±â´Â ¿µ¹®ÀÇ ±×°Í°ú µ¿ÀÏÇÏ°Ô Ã³¸®µÈ´Ù. + +%% ¿ÜºÎ ±ÛÀÚü ÆÄÀÏã±â: +%% --------------------- +%% ¿ì¸®¸»±ÛÀÚü´Â ÇÑ ¼¼Æ®°¡ ¿©·¯ ÆÄÀÏ·Î ³ª´µ¾îÁ® ÀÖ´Ù. ±×·¯¹Ç·Î +%% ¿ì¸®¸»±ÛÀÚüÀÇ ¿ÜºÎÆÄÀÏÀº ´ÙÀ½°ú °°Àº ÀÏ·üÀûÀÎ ±ÔÄ¢¿¡ ÀÇ°ÅÇÏ¿© +%% ¸í¸íÇÑ´Ù. +%% 1. »ó¡±âÈ£´Â ³¡¼ýÀÚ°¡ 4, 5, 6, 7·Î ³¡³ªµµ·Ï ¼ø¼´ë·Î 256°³¾¿ ³ª´«´Ù. +%% 2. ÇѱÛÀº ³¡¼ýÀÚ°¡ 0ºÎÅÍ 9°¡ µÇµµ·Ï ¼ø¼´ë·Î 256°³¾¿ ³ª´«´Ù. +%% 3. ÇÑÀÚ´Â ³¡¼ýÀÚ°¡ 10¿¡¼ 29°¡ µÇµµ·Ï ¼ø¼´ë·Î 256°³¾¿ ³ª´«´Ù. +\def\DeclareFontShape@#1#2#3#4#5#6{% + \expandafter\ifx\csname #1+#2\endcsname\relax + \@latex@error{Font family `#1+#2' unknown}\@eha + \else + \if#1\hf@encoding + \if\sb@\expandafter\@car#2\@nil\@tempcnta0\def\reserved@b{A,B,C,D}% + \else\if\hj@\expandafter\@car#2\@nil\@tempcnta2 + \def\reserved@b{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T}% + \else\@tempcnta1\def\reserved@b{A,B,C,D,E,F,G,H,I,J}\fi\fi + \@for\@idx:=\reserved@b\do{% + \expandafter\expandafter\expandafter\@tempcntb\expandafter`\@idx + \advance\@tempcntb-65 + \ifcase\@tempcnta\def\reserved@c{0}\advance\@tempcntb4% + \or\def\reserved@c{}% + \or\def\reserved@c{}\advance\@tempcntb10\fi + \edef\reserved@c{\reserved@c\number\@tempcntb}% + \expandafter\xdef\csname#1/#2/#3/#4/\@idx\endcsname{% + \expandafter\noexpand\csname #5\reserved@c\endcsname}% + \global\expandafter\let\csname #5\reserved@c\expandafter\endcsname + \ifx\reserved@a\@empty\@empty\else\reserved@a\fi}% + \else + \expandafter\xdef\csname#1/#2/#3/#4\endcsname{% + \expandafter\noexpand\csname #5\endcsname}% + \def\reserved@a{#6}% + \global\expandafter\let\csname#5\expandafter\endcsname + \ifx\reserved@a\@empty\@empty\else\reserved@a\fi + \fi\fi + } +\DeclareSizeFunction{hsub}{\subh@sfcnt\@font@warning} +\DeclareSizeFunction{hssub}{\subh@sfcnt\@font@info} +\def\subh@sfcnt#1{% + \edef\mandatory@arg{\f@encoding/\mandatory@arg}% + \begingroup + \expandafter\split@hname\mandatory@arg/\@nil + \xdef\reserved@a{\curr@fontshape}% + \try@load@fontshape + \endgroup + \let\f@user@size\f@size + \expandafter + \ifx\csname\mandatory@arg\endcsname\relax + \expandafter\ifx\csname\curr@fontshape!\endcsname\relax + \errmessage{No\space declaration\space for\space + shape\space \mandatory@arg}% + \global\expandafter\let\csname\curr@fontshape!\endcsname\@empty\fi + \edef\reserved@b{\expandafter\@car\f@family\@nil}% + \error@hfontshape + \edef\reserved@c{\expandafter\csname\f@family @map\endcsname}% + \expandafter\hfont@map\reserved@c\@nil + \ifx\sb@\reserved@b\edef\f@family{\sb@\sb@family}\else% + \ifx\hj@\reserved@b\edef\f@family{\hj@\hj@family}\else% + \edef\f@family{\hg@\hg@family}\fi\fi + \else + \expandafter\ifx\csname\curr@fontshape!\endcsname\relax + #1{Font\space shape\space `\curr@fontshape'\space in\space + size\space <\f@size>\space not\space available\MessageBreak + Font\space shape\space `\reserved@a'\space tried\space + instead}% + \global\expandafter\let\csname\curr@fontshape!\endcsname\@empty\fi + \expandafter\split@hname\mandatory@arg/\@nil + \fi + \edef\f@size{\f@user@size}% + \get@external@hfont + \do@subst@correction +} +\def\DeclareHFontShape{\begingroup + \nfss@catcodes + \expandafter\endgroup + \DeclareHFontShape@} +\def\DeclareHFontShape@#1#2#3#4#5#6{% + \expandafter\ifx\csname #1+#2\endcsname\relax + \@latex@error{Font family `#1+#2' unknown}\@eha + \else + \def\reserved@a{#6}% + \if\sb@\expandafter\@car#2\@nil\def\reserved@b{A,B,C,D}% + \else\if\hj@\expandafter\@car#2\@nil + \def\reserved@b{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T}% + \else\def\reserved@b{A,B,C,D,E,F,G,H,I,J}\fi\fi + \@for\@idx:=\reserved@b\do{% + \expandafter\xdef\csname#1/#2/#3/#4/\@idx\endcsname{% + \expandafter\noexpand\csname #5/\@idx\endcsname}% + \global\expandafter\let\csname #5/\@idx\expandafter\endcsname + \ifx\reserved@a\@empty\@empty\else\reserved@a\fi}% + \fi + } + +%% ¿ì¸®¸» ±ÛÀÚü ¼±Åà ¹æ¹ý (HFSS): +%% ------------------------------- +%% ¿ì¸®¸»Àº encoding°ú family¸¦ ¿µ¹®°ú ´Þ¸® Ãë±ÞÇÏ°í series¿Í shape, +%% ±×¸®°í size´Â ¿µ¹®°ú µ¿ÀÏÇÏ°Ô Ãë±ÞÇÑ´Ù. +%% ¿ì¸®¸»ÀÇ ÇÑ°¡Áö ±ÛÀÚü´Â 256°³ÀÇ ±ÛÀÚµé·Î ±¸¼ºµÈ ¿©·¯ ±ÛÀÚü·Î +%% ºÐ¸®µÇ¾î ÀÖÀ½À¸·Î Áö¼ö¸¦ Çϳª ´õ Ãß°¡ÇÏ¿© (½É¹ú: A-D, ÇѱÛ: A-J, +%% ÇÑÀÚ: A-T) À̸¦ Ç¥½ÃÇÑ´Ù.(\f@idx) +%% ±ÛÀÚü°¡ ¾ø¾î¼ ´ëÄ¡µÉ ¶§´Â, ±× ±ÛÀÚüÀÇ Áö¼ö°¡ ¾øÀÌ ±× ±ÛÀÚü +%% ¼¼Æ®°¡ ´ëÄ¡µÇ¾úÀ½À» »ç¿ëÀÚ¿¡°Ô ¾Ë¸®°í, ÇÑ ±ÛÀÚü ¼¼Æ®¸¶´Ù Çѹø¸¸ +%% ÀÌ·¯ÇÑ »ç½ÇÀÌ ¾Ë·ÁÁöµµ·Ï ÇÑ´Ù. ±× ´ëÄ¡¿¡´Â ½É¹ú/ÇѱÛ/ÇÑÀÚÀÇ +%% \hfamilydefault·Î ¼±Á¤µÈ ±ÛÀÚü¸¦ ¾´´Ù. ÇѱÛÀÇ °æ¿ì¿¡´Â +%% ¿Ï¼º|Á¶ÇÕ/Àڸ𸦠°¢°¢ ±¸ºÐÇÏ¿© ó¸®ÇÑ´Ù. +\def\extract@hfont{% + \get@external@hfont + \global\expandafter\font\font@name\external@font\relax + \font@name \relax + \csname \f@encoding+\f@family\endcsname + \csname\curr@fontshape\endcsname + \relax + } +\def\get@external@hfont{% + \let\external@font\@empty + \edef\font@info{\expandafter\expandafter\expandafter\string + \csname \curr@fontshape/\f@idx \endcsname}% + \try@size@range + \ifx\external@font\@empty + \try@size@substitution + \ifx\external@font\@empty + \@latex@error{Font \expandafter \string\font@name\space + not found}\@eha + \edef\reserved@b{\expandafter\@car\f@family\@nil} + \error@hfontshape + \edef\reserved@c{\expandafter\csname\f@family @map\endcsname}% + \expandafter\hfont@map\reserved@c\@nil + \ifx\sb@\reserved@b\edef\f@family{\sb@\sb@family}\else% + \ifx\hj@\reserved@b\edef\f@family{\hj@\hj@family}\else% + \edef\f@family{\hg@\hg@family}\fi\fi + \get@external@hfont + \fi\fi +} +\DeclareRobustCommand\selecthfont + {% + \ifx\f@linespread\baselinestretch \else + \set@fontsize\baselinestretch\f@size\f@baselineskip \fi + \xdef\font@name{% + \csname\curr@fontshape/\f@idx/\f@size\endcsname}% + \pickup@hfont + \font@name + \size@update + \enc@update + \set@hangulskip + } +\def\pickup@hfont{% + \expandafter \ifx \font@name \relax + \define@newhfont + \fi} +\def\define@newhfont{% + \begingroup + \let\typeout\@font@info + \escapechar\m@ne + \expandafter\expandafter\expandafter + \split@hname\expandafter\string\font@name\@nil + \try@load@fontshape % try always + \expandafter\ifx + \csname\curr@fontshape/\f@idx\endcsname \relax + \wrong@hfontshape\else + \extract@hfont\fi + \endgroup} +{\catcode`\/=12 +\gdef\split@hname#1/#2/#3/#4/#5/#6\@nil{\def\f@encoding{#1}% + \def\f@family{#2}% + \def\f@series{#3}% + \def\f@shape{#4}% + \def\f@size{#6}}} +\def\DeclareErrorHFont#1#2#3#4#5{% + \xdef\error@hfontshape{% + \noexpand\expandafter\noexpand\split@name\noexpand\string + \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname + \noexpand\@nil}% + \gdef\default@hfamily{#2}% + \gdef\default@hseries{#3}% + \gdef\default@shape{#4}% + \begingroup + \edef\reserved@a{\expandafter\csname\default@hfamily @map\endcsname}% + \expandafter\hfont@map\reserved@a\@nil + \xdef\sb@family{\sb@family}% + \xdef\hg@family{\hg@family}% + \xdef\hj@family{\hj@family}% + \endgroup + \global\let\hf@series\default@hseries + \global\let\f@shape\default@shape + \gdef\f@size{#5}% + \gdef\f@baselineskip{#5pt}% +} +\@onlypreamble\DeclareErrorHFont +\def\wrong@hfontshape{% + \csname D@\f@encoding\endcsname % install defaults if in math + \edef\reserved@a{\csname\curr@fontshape/\f@idx\endcsname}% + \edef\reserved@b{\expandafter\string\csname\curr@fontshape\endcsname}% + \ifx\last@fontshape\reserved@a + \errmessage{Corrupted NFSS tables}% + \edef\reserved@c{\expandafter\@car\f@family\@nil}% + \error@hfontshape + \edef\reserved@d{\expandafter\csname\f@family @map\endcsname}% + \expandafter\hfont@map\reserved@d\@nil + \ifx\sb@\reserved@c\edef\f@family{\sb@\sb@family}\else% + \ifx\hj@\reserved@c\edef\f@family{\hj@\hj@family}\else% + \edef\f@family{\hg@\hg@family}\fi\fi + \else + \let\f@shape\default@shape + \expandafter\ifx\csname\curr@fontshape/\f@idx\endcsname\relax + \let\f@series\default@hseries + \expandafter + \ifx\csname\curr@fontshape/\f@idx\endcsname\relax + \edef\reserved@d{\expandafter\csname\default@hfamily @map\endcsname}% + \expandafter\hfont@map\reserved@d\@nil + \if\sb@\expandafter\@car\f@family\@nil + \edef\f@family{\sb@\sb@family}\else + \if\hj@\expandafter\@car\f@family\@nil + \edef\f@family{\hj@\hj@family}\else + \edef\f@family{\hg@\hg@family}\fi\fi + \fi \fi + \fi + \expandafter\ifx\csname\reserved@b!\endcsname\relax + \@font@warning{Font shape `\expandafter\string\reserved@b' + \expandafter\@gobble\string\@undefined\MessageBreak + using `\curr@fontshape' instead\@wrong@font@char}% + \global\expandafter\let\csname\reserved@b!\endcsname\@empty\fi + \global\let\last@fontshape\reserved@a + \gdef\@defaultsubs{% + \@font@warning{Some font shapes were not available, defaults + substituted.\@gobbletwo}}% + \global\expandafter\expandafter\expandafter\let + \expandafter\reserved@a + \csname\curr@fontshape/\f@idx\endcsname + \xdef\font@name{% + \csname\curr@fontshape/\f@idx/\f@size\endcsname}% + \pickup@hfont} +\def\DeclareHFontEncoding{% + \begingroup + \nfss@catcodes + \expandafter\endgroup + \DeclareHFontEncoding@} +\@onlypreamble\DeclareHFontEncoding +\def\DeclareHFontEncoding@#1#2#3{% + \expandafter + \ifx\csname T@#1\endcsname\relax + \def\cdp@elt{\noexpand\cdp@elt}% + \begingroup + \edef\reserved@a{\csname\default@hfamily @map\endcsname} + \expandafter\hfont@map\reserved@a\@nil + \xdef\cdp@list{\cdp@list% + \cdp@elt{#1}{\symboldefault\sb@family}% + {\default@hseries}{\default@shape}% + \cdp@elt{#1}{\hanguldefault\hg@family}% + {\default@hseries}{\default@shape}% + \cdp@elt{#1}{\hanjadefault\hj@family}% + {\default@hseries}{\default@shape}}% + \endgroup + \expandafter\let\csname#1-cmd\endcsname\@changed@cmd + \else + \@font@info{Redeclaring font encoding #1}% + \fi + \global\@namedef{T@#1}{#2}% + \global\@namedef{M@#1}{\default@M#3}% + } +\@onlypreamble\DeclareHFontEncoding@ +\def\DeclareHFontSubstitution#1#2#3#4{% + \expandafter + \ifx\csname T@#1\endcsname\relax + \@latex@error{Encoding scheme `#1' unknown}\@eha + \else + \begingroup + \edef\reserved@a{\csname#2@map\endcsname} + \expandafter\hfont@map\reserved@a\@nil + \def\reserved@a{#1}% + \toks@{}% + \let\reserved@d\@empty + \def\cdp@elt##1##2##3##4{% + \def\reserved@b{##1}% + \ifx\reserved@a\reserved@b + \ifx\reserved@d\@empty + \edef\reserved@c{\noexpand\cdp@elt{#1}{\sb@\sb@family}{#3}{#4}% + \noexpand\cdp@elt{#1}{\hg@\hg@family}{#3}{#4}% + \noexpand\cdp@elt{#1}{\hj@\hj@family}{#3}{#4}}% + \let\reserved@d\relax + \expandafter\addto@hook + \expandafter\toks@\expandafter{\reserved@c}\fi% + \else + \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}% + \fi}% + \cdp@list + \xdef\cdp@list{\the\toks@}% + \endgroup + \global\@namedef{D@#1}{% + \def\default@hfamily{#2}% + \def\default@hseries{#3}% + \def\default@shape{#4}% + }% + \fi + } +\@onlypreamble\DeclareHFontSubstitution + +%% HFSSÀÇ ¼³Á¤ È®ÀÎ: +%% ----------------- +%% ¿ì¸®¸»ÀÇ ÇÑ °¡Á·Àº ½É¹ú/ÇѱÛ/ÇÑÀÚÀÇ ¼¼°¡Áö ¿ÜºÎ ±ÛÀÚü¿Í ¿¬°üµÇ¾î +%% ÀÖ´Ù. ¿ì¸®¸» ¹®¼°¡ ½ÃÀÛÇϱâ Àü¿¡, ±âº»°ªÀ¸·Î ¼³Á¤µÈ +%% ½É¹ú/ÇѱÛ/ÇÑÀÚÀÇ ´ëÄ¡ ±ÛÀÚü¿Í Âø¿À½Ã »ç¿ëµÉ ±ÛÀÚü°¡ Á¦´ë·Î +%% ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÔÀ¸·Î¼ ±ÛÀÚü ¼±Åýà ¹ß»ýÇÒ ¼ö Àç¾ÓÀ» ¹Ì¸® +%% ¹æÁöÇÑ´Ù. +\def\process@table{% + \def\cdp@elt##1##2##3##4{% + \@font@info{Checking defaults for + ##1/##2/##3/##4}% + \if\hf@encoding##1 + \expandafter + \ifx\csname##1/##2/##3/##4/A\endcsname\relax + \begingroup + \def\f@encoding{##1}\def\f@family{##2}% + \try@load@fontshape + \endgroup + \fi + \expandafter + \ifx\csname##1/##2/##3/##4/A\endcsname\relax + \@latex@error{This HFSS system isn't set up properly}% + {For hangul encoding scheme ##1 the defaults + ##2/##3/##4 do not form a valid font shape}% + \else + \@font@info{... okay}% + \fi + \else + \expandafter + \ifx\csname##1/##2/##3/##4\endcsname\relax + \begingroup + \def\f@encoding{##1}\def\f@family{##2}% + \try@load@fontshape + \endgroup + \fi + \expandafter + \ifx\csname##1/##2/##3/##4\endcsname\relax + \@latex@error{This NFSS system isn't set up properly}% + {For encoding scheme ##1 the defaults + ##2/##3/##4 do not form a valid font shape}% + \else + \@font@info{... okay}% + \fi + \fi}% + \cdp@list + \begingroup + \escapechar\m@ne + \error@fontshape + \expandafter\ifx\csname \curr@fontshape\endcsname\relax + \begingroup + \try@load@fontshape + \endgroup + \fi + \expandafter\ifx\csname \curr@fontshape\endcsname\relax + \@latex@error{This NFSS system isn't set up properly}% + {The system maintainer forgot to specify a suitable + substitution + font shape using the \noexpand\DeclareErrorFont + command}% + \fi + \expandafter\ifx\csname\hfamilydefault @map\endcsname\relax + \@latex@error{This HFSS system isn't set up properly}% + {The system maintainer forgot to specify a suitable + fontmap for default hangul family `\hfamilydefault' + using the \noexpand\MapHangulFamily command}% + \fi + \error@hfontshape + \edef\reserved@a{\expandafter\csname\f@family @map\endcsname}% + \expandafter\hfont@map\reserved@a\@nil + \edef\f@family{\sb@\sb@family}% + \expandafter\ifx\csname \curr@fontshape/A\endcsname\relax + \begingroup + \try@load@fontshape + \endgroup + \fi + \expandafter\ifx\csname \curr@fontshape/A\endcsname\relax + \@latex@error{This HFSS system isn't set up properly}% + {The system maintainer forgot to specify a suitable + substitution symbol + font shape using the \noexpand\DeclareErrorHFont + command or \noexpand\MapHangulFamily command}% + \fi + \edef\f@family{\hg@\hg@family}% + \expandafter\ifx\csname \curr@fontshape/A\endcsname\relax + \begingroup + \try@load@fontshape + \endgroup + \fi + \expandafter\ifx\csname \curr@fontshape/A\endcsname\relax + \@latex@error{This HFSS system isn't set up properly}% + {The system maintainer forgot to specify a suitable + substitution hangul + font shape using the \noexpand\DeclareErrorHFont + command or \noexpand\MapHangulFamily command}% + \fi + \edef\f@family{\hj@\hj@family}% + \expandafter\ifx\csname \curr@fontshape/A\endcsname\relax + \begingroup + \try@load@fontshape + \endgroup + \fi + \expandafter\ifx\csname \curr@fontshape/A\endcsname\relax + \@latex@error{This HFSS system isn't set up properly}% + {The system maintainer forgot to specify a suitable + substitution hanja + font shape using the \noexpand\DeclareErrorHFont + command or \noexpand\MapHangulFamily command}% + \fi + \endgroup + \let\select@group\document@select@group + \hfontencoding{\hencodingdefault}% + \hfontfamily{\hfamilydefault}% + \fontencoding{\encodingdefault}% + \fontfamily{\familydefault}% + \fontseries{\seriesdefault}% + \fontshape{\shapedefault}% + \everyjob{}% +} + +%% ¿ì¸®¸» ±ÛÀÚüÀÇ ±âº»°ª: +%% ----------------------- +%% ¾Æ¹«°Íµµ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¿Ï¼ºÇü ¸íÁ¶Ã¼°¡ µÈ´Ù. +\newcommand\hencodingdefault{H} + +\newcommand\symboldefault{s} +\newcommand\hanguldefault{w} +\newcommand\hanjadefault{h} +\newcommand\mjdefault{mj} +\newcommand\gtdefault{gt} +\newcommand\tzdefault{tz} +\newcommand\hfamilydefault{\mjdefault} +\if@makebold\newcommand\hbfdefault{m} +\else\newcommand\hbfdefault{b}\fi + +%% ¿ì¸®¸»°¡Á· À̸§¿¡ µû¸¥ ¿ÜºÎ ±ÛÀÚüÀÇ ¼³Á¤ +%% ----------------------------------------- +%% \MapHangulFamily{¿ì¸®¸»°¡Á·}{Çѱ۱ÛÀÚü,½É¹ú±ÛÀÚü,ÇÑÀÚ±ÛÀÚü} +%% (±ÛÀÚüÀ̸§ = ÇѱÛ/½É¹ú/ÇÑÀÚ±Û²Ã) +\DeclareRobustCommand\MapHangulFamily[2]{% + \expandafter\edef\csname #1@map\endcsname{#2}} + +%% ±âº»±ÛÀÚü +\MapHangulFamily{mj}{wmj,wmj,wmj} +\MapHangulFamily{gt}{wgt,wgt,wgt} +\MapHangulFamily{tz}{wtt,wtt,wtt} + +%% Ãß°¡±ÛÀÚü +\MapHangulFamily{gs}{wgs,wgs,wgs} +\MapHangulFamily{gh}{mgh,wgs,wgs} +\MapHangulFamily{gr}{wgr,wgr,wgt} +\MapHangulFamily{sh}{wsh,wsh,wsh} +\MapHangulFamily{pg}{wpg,wgt,wgt} +\MapHangulFamily{pn}{wpn,wmj,wmj} +\MapHangulFamily{ph}{wph,wmj,wmj} +\MapHangulFamily{bm}{wbm,wgt,wgt} +\MapHangulFamily{yt}{wyt,wgt,wyt} +\MapHangulFamily{vd}{wvd,wgt,wgt} +\MapHangulFamily{mg}{mhm,wgt,wgt} +\MapHangulFamily{jmj}{wjmj,wmj,wmj} +\MapHangulFamily{jgt}{wjgt,wgt,wgt} +\MapHangulFamily{jnv}{wjnv,wgt,wgt} +\MapHangulFamily{jsr}{wjsr,wgt,wgt} +\MapHangulFamily{pga}{wpga,wgt,wgt} +\MapHangulFamily{dn}{wdn,wgt,wgt} + +% \DeclareErrorHFont{H}{\mjdefault}{m}{n}{10} +% \DeclareHFontSubstitution{H}{\mjdefault}{m}{n} + +%% À⵿»ç´Ï +\DeclareTextFontCommand{\textsh}{\shfamily} +\DeclareRobustCommand\shfamily{\hfontfamily{sh}} + +%% hfont.cfg¿¡¼ À̵éÀ» ¹Ì¸® ÁöÁ¤/¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. +\InputIfFileExists{hfont.cfg}{}{} + +\kscfamily{\symboldefault}{\hanguldefault}{\hanjadefault} + +\DeclareErrorHFont{H}{\mjdefault}{m}{n}{10} +\DeclareHFontEncoding{\hencodingdefault}{}{} +\DeclareHFontSubstitution{H}{\mjdefault}{m}{n} +\hfontencoding\hencodingdefault + +%% ¿ì¸®¸» ã±â: +%% ------------ +%% ¿ì¸®¸»Àº ¸ðµÎ \catcode=13À¸·Î ó¸®µÇ¸ç ¿ì¸®¸» ºÎÈ£ ¿µ¿ªÀÇ +%% µÎ ¹ÙÀÌÆ®°¡ ÇÑ ±ÛÀÚ¸¦ Çü¼ºÇÑ´Ù. ÀÌ µÎ °³ÀÇ ¹ÙÀÌÆ®¸¦ ºÐ¼®ÇÏ¿© +%% ¿ÜºÎ ±Û²ÃÀÇ Áö¼ö¿Í ½É¹ú/ÇѱÛ/ÇÑÀÚ Áß Çϳª¸¦ È®Á¤ÇÑ´Ù. +%% +\begingroup +\catcode`^^98\active +\catcode`^^99\active +\catcode`^^a0\active +\def^^98#1#2#3{\xdef#1##1{\noexpand\h@C{\hf@}{\noexpand\ifnum`##1<#2 + D\noexpand\else\noexpand\ifnum`##1>#3 C\noexpand\else + A\noexpand\fi\noexpand\fi}{\noexpand#1}{##1}}} +\def^^99#1#2{\xdef#1##1{\noexpand\h@C{\hf@}{#2}{\noexpand#1}{##1}}} +\def^^a0#1#2#3/#4{\xdef#1##1{\noexpand\h@C{\hf@}{\noexpand\ifnum`##1<#2 + #3\noexpand\else#4\noexpand\fi}{\noexpand#1}{##1}}} + +%% ½É¹ú +\def\hf@{sb} +%^^99^^a1B +% ±ÝÄ¢ ¹®ÀÚ: ¡¯¡±¡³¡µ¡·¡¹¡»¡½ÀÇ ¾Õ°ú +% ¡®¡°¡²¡´¡¶¡¶¡º¡¼ À§ µÚ (2005/04/09 koaunghi@kornet.net) +\gdef\^^96#1{\ifx#1^^af\spacefactor=999 + \else\ifx#1^^b1\spacefactor=999 + \else\ifx#1^^b3\spacefactor=999 + \else\ifx#1^^b5\spacefactor=999 + \else\ifx#1^^b7\spacefactor=999 + \else\ifx#1^^b9\spacefactor=999 + \else\ifx#1^^bb\spacefactor=999 + \else\ifx#1^^bd\spacefactor=999 + \fi\fi\fi\fi\fi\fi\fi\fi} +\gdef\^^97#1{\ifx#1^^ae\spacefactor=999 + \else\ifx#1^^b0\spacefactor=999 + \else\ifx#1^^b2\spacefactor=999 + \else\ifx#1^^b4\spacefactor=999 + \else\ifx#1^^b6\spacefactor=999 + \else\ifx#1^^b8\spacefactor=999 + \else\ifx#1^^ba\spacefactor=999 + \else\ifx#1^^bc\spacefactor=999 + \fi\fi\fi\fi\fi\fi\fi\fi} +\xdef^^a1#1{\noexpand\^^96{#1}\noexpand\h@C{\hf@}{B}{\noexpand^^a1}{#1}\noexpand\^^97{#1}} +^^99^^a2B +\xdef^^a3#1{\noexpand\h@C{\hf@}{\noexpand\ifnum\expandafter`\noexpand#1="0DC + A\noexpand\else D\noexpand\fi}{\noexpand^^a3}{\noexpand#1}}% +^^99^^a4A^^99^^a5D^^99^^a6C^^99^^a7B^^98^^a8{"0B0}{"0F5} +^^98^^a9{"0B1}{"0F5}^^99^^aaC^^99^^abC^^99^^acD + +%%% ÇÑ±Û +\def\hf@{hg} +^^99^^b0A^^99^^b1A^^a0^^b2{"0E5}A/B^^99^^b3B^^99^^b4B^^a0^^b5{"0CB}B/C +^^99^^b6C^^99^^b7C^^a0^^b8{"0B1}C/D^^99^^b9D^^a0^^ba{"0F5}D/E^^99^^bbE +^^99^^bcE^^a0^^bd{"0DB}E/F^^99^^beF^^99^^bfF^^a0^^c0{"0C1}F/G^^99^^c1G +^^99^^c2G^^a0^^c3{"0A7}G/H^^99^^c4H^^a0^^c5{"0EB}H/I^^99^^c6I^^99^^c7I +^^a0^^c8{"0D1}I/J + +%%% ùÓí® +\def\hf@{hj} +^^99^^caA^^99^^cbA^^a0^^cc{"0E5}A/B^^99^^cdB^^99^^ceB^^a0^^cf{"0CB}B/C +^^99^^d0C^^99^^d1C^^a0^^d2{"0B1}C/D^^99^^d3D^^a0^^d4{"0F5}D/E^^99^^d5E +^^99^^d6E^^a0^^d7{"0DB}E/F^^99^^d8F^^99^^d9F^^a0^^da{"0C1}F/G^^99^^dbG +^^99^^dcG^^a0^^dd{"0A7}G/H^^99^^deH^^a0^^df{"0EB}H/I^^99^^e0I^^99^^e1I +^^a0^^e2{"0D1}I/J^^99^^e3J^^99^^e4J^^a0^^e5{"0B7}J/K^^99^^e6K +^^a0^^e7{"0FB}K/L^^99^^e8L^^99^^e9L^^a0^^ea{"0E1}L/M^^99^^ebM^^99^^ecM +^^a0^^ed{"0C7}M/N^^99^^eeN^^99^^efN^^a0^^f0{"0AD}N/O^^99^^f1O +^^a0^^f2{"0F1}O/P^^99^^f3P^^99^^f4P^^a0^^f5{"0D7}P/Q^^99^^f6Q^^99^^f7Q +^^a0^^f8{"0BD}Q/R^^99^^f9R^^99^^faR^^a0^^fb{"0A3}R/S^^99^^fcS +^^a0^^fd{"0E7}S/T +\endgroup + +%% ÀÌÇØÇÒ ¼ö ¾ø´Â ¿À·ù: Undefined control sequence with ^^c9 +\let^^c9\relax + +%% ¿ì¸®¸»À» ÃÖÁ¾ ó¸®ÇÒ ¶§´Â, Èð¾îÁ® ÀÖ´Â ¿ì¸®¸» ±ÛÀÚü Á¤º¸¸¦ +%% ¼öÁýÇÏ¿© ÇØ´çÇÏ´Â ¿ÜºÎ ±ÛÀÚü¸¦ ãÀº ÈÄ ÀμâÇÑ´Ù. softbold°¡ +%% ¿ä±¸µÇ¸é µÎ ¹ø ´õ Áßø ÀμâÇϵµ·Ï ÇÑ´Ù. +\let\KSC@\string +\let\f@idx\relax +\def\h@C#1#2#3#4{% + \ifx\protect\@typeset@protect\begingroup + \edef\f@encoding{\hf@encoding}% + \edef\f@family{\csname #1@\endcsname\csname #1@family\endcsname}% + \edef\f@series{\hf@series}\gdef\f@idx{#2}% + \selecthfont\@Hyphen\hemph@size{\KSC@#3\KSC@#4\if@makebold + \hbox to0.03ex{\hss\KSC@#3\KSC@#4}% + \hbox to0.03ex{\hss\KSC@#3\KSC@#4}\fi}\endgroup + \else\KSC@#3\KSC@#4\fi} + +\def\no@ccent#1{#1} +\let\hemph@size\no@ccent + +\endinput + +%%% End of file `hfont.tex'. |