diff options
Diffstat (limited to 'fonts/ipaex-type1/ipaex-type1.sty')
-rw-r--r-- | fonts/ipaex-type1/ipaex-type1.sty | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/fonts/ipaex-type1/ipaex-type1.sty b/fonts/ipaex-type1/ipaex-type1.sty new file mode 100644 index 0000000000..5188b993e9 --- /dev/null +++ b/fonts/ipaex-type1/ipaex-type1.sty @@ -0,0 +1,229 @@ +%% +%% This is file 'ipaex-type1.sty'. +%% +%% Author: Takayuki YATO (aka. "ZR") +%% GitHub: https://github.com/zr-tex8r +%% Twitter: @zr_tex8r +%% +%% Note that this file is an original work by the author and NOT a +%% Derived Work of the IPAex Fonts. +%% This file is in the public domain, while many other files in the +%% ipaex-type1 bundle are subject to the "IPA FontLicense Agreement +%% v1.0". +%% + +%% package declarations +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{ipaex-type1}[2018/05/05 v0.5] +\def\bxix@pkgname{ipaex-type1} + +%--------------------------------------- helpers + +%% \bxix@CJKfamily{<CJK-fam>} +\def\bxix@CJKfamily#1{% + \ifx\CJKfamily\@undefined\else + \CJKfamily{#1}% + \fi} + +%% emerge \CJKhook +\providecommand*{\CJKhook}{} + +%% \bxix@chardef +\ifx\directlua\@undefined + \let\bxix@chardef\mathchardef +\else % LuaTeX + % NOTE: On LuaTeX, meanings of the low-value mathchardefs + % such as '\mathchardef"12' are given as '\mathchardef"0012'. + \let\bxix@chardef\chardef +\fi + +%--------------------------------------- public stuffs + +%% \bxix@CJK@ipxm/\bxix@CJK@ipxg +\let\bxix@CJK@ipxm\relax +\let\bxix@CJK@ipxg\relax + +%%<*> \extendipaextypeI/\noextendipaextypeI +\DeclareRobustCommand*{\extendipaextypeI}{% + \def\bxix@CJK@ipxm{ipxma}% + \def\bxix@CJK@ipxg{ipxga}} +\DeclareRobustCommand*{\noextendipaextypeI}{% + \def\bxix@CJK@ipxm{ipxm}% + \def\bxix@CJK@ipxg{ipxg}} +\noextendipaextypeI + +%%<*> \ipxmfamily/\ipxgfamily +\DeclareRobustCommand*{\ipxmfamily}{% + \bxix@CJKfamily{\bxix@CJK@ipxm}% + \fontfamily{ipxm}\selectfont} +\DeclareRobustCommand*{\ipxgfamily}{% + \bxix@CJKfamily{\bxix@CJK@ipxg}% + \fontfamily{ipxg}\selectfont} + +%%<*> \textipxm/\textipxg +\DeclareTextFontCommand{\textipxm}{\ipxmfamily} +\DeclareTextFontCommand{\textipxg}{\ipxgfamily} + +%%<*> \CJKipxmfamily/\CJKipxgfamily +\DeclareRobustCommand*{\CJKipxmfamily}{% + \bxix@CJKfamily{\bxix@CJK@ipxm}} +\DeclareRobustCommand*{\CJKipxgfamily}{% + \bxix@CJKfamily{\bxix@CJK@ipxg}} + +%%<*> \textCJKipxm/\textCJKipxg +\DeclareRobustCommand*{\textCJKipxm}{% + \bxix@textCJK{\bxix@CJK@ipxm}} +\DeclareRobustCommand*{\textCJKipxg}{% + \bxix@textCJK{\bxix@CJK@ipxg}} +\long\def\bxix@textCJK@outside#1#2{% + \begin{CJK*}{UTF8}{#1}\relax #2\end{CJK*}} +\long\def\bxix@textCJK@inside#1#2{% + \begingroup\CJKfamily{#1}#2\endgroup} +\let\bxix@textCJK\bxix@textCJK@outside +\g@addto@macro\CJKhook{% + \let\bxix@textCJK\bxix@textCJK@inside} +\AtBeginDocument{% + \@ifpackageloaded{CJK}{}{%else + \let\bxix@textCJK\@gobble}} + +%--------------------------------------- CJKUsymbol + +%% variables +\let\bxix@g@sfid\relax +\let\bxix@g@high\relax +\let\bxix@g@low\relax + +%%<*> \ipxmsymbol{<Unicode-point>} +\DeclareRobustCommand*{\ipxmsymbol}{% + \CJKUsymbol{\bxix@CJK@ipxm}} +\DeclareRobustCommand*{\ipxgsymbol}{% + \CJKUsymbol{\bxix@CJK@ipxg}} + +%%<*> \CJKUsymbol{<CJK-fam>}{<Unicode-point>} +\@ifundefined{CJKUsymbol}{% + \DeclareRobustCommand*{\CJKUsymbol}{\bxix@CJKUSymbol}% +}{} +\def\bxix@CJKUSymbol@outside#1#2{% + \bxix@decomp@uc{#2}% + \bxix@decl@family{#1}{\bxix@g@sfid}% + \begingroup + \fontencoding{U}\fontfamily{#1=\bxix@g@sfid}% + \selectfont\symbol{\bxix@g@low}% + \endgroup} +\def\bxix@CJKUSymbol@inside#1#2{% + \bxix@decomp@uc{#2}% + \begingroup + \CJKfamily{#1}\Unicode{\bxix@g@high}{\bxix@g@low}% + \endgroup} +\let\bxix@CJKUSymbol\bxix@CJKUSymbol@outside +\g@addto@macro\CJKhook{% + \let\bxix@CJKUSymbol\bxix@CJKUSymbol@inside} + +%% \bxix@decomp@uc{<Unicode-point>} +\def\bxix@decomp@uc#1{% + \begingroup + \@tempcnta=#1\relax + \ifnum\@tempcnta<\z@ \@tempcnta\z@ \fi + \@tempcntb\@tempcnta \divide\@tempcntb\@cclvi + \ifnum\@tempcntb>\bxix@ovhigh \@tempcntb\bxix@ovhigh \fi + \xdef\bxix@g@high{\the\@tempcntb}% + \bxix@chardef\bxix@tmpa\@tempcntb + \expandafter\bxix@decomp@uc@a\meaning\bxix@tmpa\relax + \multiply\@tempcntb-\@cclvi \advance\@tempcntb\@tempcnta + \xdef\bxix@g@low{\the\@tempcntb}% + \endgroup} +\mathchardef\bxix@ovhigh="1100 +\def\bxix@decomp@uc@a#1"#2\relax{% + \lowercase{\bxix@decomp@uc@b#24321\relax}}% +\def\bxix@decomp@uc@b#1#2#3#4#5#6\relax{% + \xdef\bxix@g@sfid{% + \ifcase#5 \or0#1\or#1#2\or0#1#2#3\or#1#2#3#4\fi}} + +%% \bxix@decl@family{<CJK-fam>}{<sfid>} +\def\bxix@decl@family#1#2{% + \def\bxix@fam{#1=#2}% + \expandafter\ifx\csname U/\bxix@fam/m/n\endcsname\relax + \DeclareFontFamily{U}{\bxix@fam}{}% + \expandafter\ifx\csname bxix@decl@family/#1\endcsname\relax + \bxix@decl@family@other{#1}{#2}% + \else \@nameuse{bxix@decl@family/#1}{#2}% + \fi + \fi} +%% the declarations +\def\bxix@decl@shp#1#2#3{% + \DeclareFontShape{U}{\bxix@fam}{#1}{#2}{<->#3}{}} +\@namedef{bxix@decl@family/ipxm}#1{% + \bxix@decl@family@other{ipxm-r-u}{#1}} +\@namedef{bxix@decl@family/ipxma}#1{% + \bxix@decl@shp{m}{n}{ipxm-r-u#1}% + \bxix@decl@shp{m}{sl}{ipxm-ro-u#1}% + \bxix@decl@family@cmn} +\@namedef{bxix@decl@family/ipxg}#1{% + \bxix@decl@family@other{ipxg-r-u}{#1}} +\@namedef{bxix@decl@family/ipxga}#1{% + \bxix@decl@shp{m}{n}{ipxg-r-u#1}% + \bxix@decl@shp{m}{sl}{ipxg-ro-u#1}% + \bxix@decl@family@cmn} +\def\bxix@decl@family@other#1#2{% + \bxix@decl@shp{m}{n}{#1#2}% + \bxix@decl@shp{m}{sl}{ssub*\bxix@fam/m/n}% + \bxix@decl@family@cmn} +\def\bxix@decl@family@cmn{% + \bxix@decl@shp{m}{it}{ssub*\bxix@fam/m/sl}% + \bxix@decl@shp{m}{sc}{ssub*\bxix@fam/m/n}% + \bxix@decl@shp{bx}{it}{ssub*\bxix@fam/bx/sl}% + \bxix@decl@shp{bx}{sc}{ssub*\bxix@fam/bx/n}% + \bxix@decl@shp{b}{n}{ssub*\bxix@fam/bx/n}% + \bxix@decl@shp{b}{sl}{ssub*\bxix@fam/bx/sl}% + \bxix@decl@shp{b}{it}{ssub*\bxix@fam/bx/it}% + \bxix@decl@shp{b}{sc}{ssub*\bxix@fam/bx/sc}} + +%--------------------------------------- fancy things + +%%<*> some fancy commands +\newcommand*\ipxmReferenceMark{\ipxmsymbol{"203B}} +\newcommand*\ipxmCommandKey{\ipxmsymbol{"2318}} +\newcommand*\ipxmReturnKey{\ipxmsymbol{"23CE}} +\newcommand*\ipxmVisibleSpace{\ipxmsymbol{"2423}} +\newcommand*\ipxmvarSquare{\ipxmsymbol{"25A0}} +\newcommand*\ipxmSquare{\ipxmsymbol{"25A1}} +\newcommand*\ipxmvarTriangle{\ipxmsymbol{"25B2}} +\newcommand*\ipxmTriangle{\ipxmsymbol{"25B3}} +\newcommand*\ipxmvarTriangleDown{\ipxmsymbol{"25BC}} +\newcommand*\ipxmTriangleDown{\ipxmsymbol{"25BD}} +\newcommand*\ipxmvarLozenge{\ipxmsymbol{"25C6}} +\newcommand*\ipxmLozenge{\ipxmsymbol{"25C7}} +\newcommand*\ipxmCircle{\ipxmsymbol{"25CB}} +\newcommand*\ipxmBullsEye{\ipxmsymbol{"25CE}} +\newcommand*\ipxmvarCircle{\ipxmsymbol{"25CF}} +\newcommand*\ipxmSun{\ipxmsymbol{"2600}} +\newcommand*\ipxmCloud{\ipxmsymbol{"2601}} +\newcommand*\ipxmUmbrella{\ipxmsymbol{"2602}} +\newcommand*\ipxmSnowman{\ipxmsymbol{"2603}} +\newcommand*\ipxmvarStar{\ipxmsymbol{"2605}} +\newcommand*\ipxmStar{\ipxmsymbol{"2606}} +\newcommand*\ipxmPhone{\ipxmsymbol{"260E}} +\newcommand*\ipxmGoteMark{\ipxmsymbol{"2616}} +\newcommand*\ipxmSenteMark{\ipxmsymbol{"2617}} +\newcommand*\ipxmRightHand{\ipxmsymbol{"261E}} +\newcommand*\ipxmSpade{\ipxmsymbol{"2660}} +\newcommand*\ipxmHeart{\ipxmsymbol{"2661}} +\newcommand*\ipxmDiamond{\ipxmsymbol{"2662}} +\newcommand*\ipxmClub{\ipxmsymbol{"2663}} +\newcommand*\ipxmvarSpade{\ipxmsymbol{"2664}} +\newcommand*\ipxmvarHeart{\ipxmsymbol{"2665}} +\newcommand*\ipxmvarDiamond{\ipxmsymbol{"2666}} +\newcommand*\ipxmvarClub{\ipxmsymbol{"2667}} +\newcommand*\ipxmvarSnowman{\ipxmsymbol{"26C4}} +\newcommand*\ipxmBlackSnowman{\ipxmsymbol{"26C7}} +\newcommand*\ipxmCheckmark{\ipxmsymbol{"2713}} +\newcommand*\ipxmPostalMark{\ipxmsymbol{"3012}} +\newcommand*\ipxmGeta{\ipxmsymbol{"3013}} +\newcommand*\ipxmPostal{\ipxmsymbol{"3020}} +\newcommand*\ipxmvarPostal{\ipxmsymbol{"3036}} +\newcommand*\ipxmvarPostalMark{\ipxmsymbol{"3036}} +\newcommand*\ipxmUta{\ipxmsymbol{"303D}} + +%--------------------------------------- done +\endinput +%% EOF |