texlive[67164] Master/texmf-dist: evangelion-jfm (19may23)
commits+karl at tug.org
commits+karl at tug.org
Fri May 19 22:25:29 CEST 2023
Revision: 67164
http://tug.org/svn/texlive?view=revision&revision=67164
Author: karl
Date: 2023-05-19 22:25:29 +0200 (Fri, 19 May 2023)
Log Message:
-----------
evangelion-jfm (19may23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.pdf
trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.tex
trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-jp.pdf
trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-jp.tex
trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-sc.pdf
trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-sc.tex
trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/README.md
trunk/Master/texmf-dist/source/luatex/evangelion-jfm/Evangelion-JFM.dtx
trunk/Master/texmf-dist/tex/luatex/evangelion-jfm/jfm-eva.lua
Modified: trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.tex 2023-05-19 20:25:16 UTC (rev 67163)
+++ trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.tex 2023-05-19 20:25:29 UTC (rev 67164)
@@ -32,7 +32,7 @@
pdfkeywords = {Japanese Font Metric},
pdfstartview = FitV
}
-\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
+\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\rightskip=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}}
\def\LuaTeX{Lua\kern-.2ex\TeX}
\def\pTeX{p\kern-.2ex\TeX}
@@ -49,6 +49,8 @@
This documentation is far from complete. It may have many grammatical (and contextual) errors.
\end{abstract}
+\tableofcontents
+
\section{Background Information and a Rough Introduction}
{\TeX} is a powerful typesetting system ``intended for the creation of beautiful books'', it has full support for typesetting English based texts. However, its support for CJ text is limited\footnote{Maybe because there was no universally recognized or accepted CJ character set standard as well as an encoding system.}. For handling CJ texts in {\TeX}, both macro extensions (i.e., \textsf{CJK}) and engine extensions were developed. One of the most influential one is (the) {\pTeX} (series).\par
{\pTeX} uses a virtual font scheme, by mapping TrueType or OpenType fonts using \texttt{TFM/VF} files. It doesn't support font configuration through macros, and has no support for PDF format output. Its advantage is the proven ability for dealing with traditional Japanese typographic layout requirements.\par
@@ -93,7 +95,6 @@
\begin{lstlisting}
\setmainjfont{§\meta{font name}§}[Language = §\meta{language name}§, §\meta{dir}§ = {JFM = §\meta{JFM name}§/{§\meta{JFM features}§}}]
\end{lstlisting}
-オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\meta{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
Option \meta{font name} is the font (that you'd like to specify as the main font for your document)'s name. When using Japanese fonts, simply ignore the \meta{language name} since \LuaTeX-ja will automatically fill it for you. In this case, filling \texttt{Chinese} \texttt{Traditional} for Traditional Chinese fonts and \texttt{Chinese} \texttt{Simplified} for Simplified Chinese fonts is necessary\footnote{Without this, your output may result in wrong details, for instance wrong punctuation shape \& direction.}. \meta{dir} should be \texttt{TateFeatures} when typeset vertically and \texttt{YokoFeatures} for typesetting horizontally accordingly. The JFM's name is specified by the \meta{JFM name} option\footnote{\LuaTeX-ja searchs for a JFM file following the method \texttt{jfm-\meta{JFM name}.lua}.}. Finally, for the \meta{JFM features} key, fill in the JFM features. They are described in section \ref{sec:feat}.\par
For advanced users, it's also recommanded to use the following
\begin{lstlisting}
@@ -150,6 +151,9 @@
\feature{nstd}{Non STandarD}{%
This one ignores the standard priority rules for punctuation kerning. While Japanese text layout requirement~\cite{jlreq} suggests that the priority for the period should be higher than the comma (which means the period is easier to stretch), this makes the comma's priority higher than the preiod's. Only works when \textsf{luatexja-adjust}'s priority feature is enabled (set to \texttt{true}).
}
+\feature{plain}{PLAIN punct kerning style}{%
+ Disables the performance of spaceing adjustment for any of the puncts. Designed to be used in the verbatim environment. Developers can use the hook provided by that environment to specify this feature.
+}
\section{Linegap Punctuation Feature}
\label{sec:lgp}
@@ -224,8 +228,5 @@
\bibitem{evang} 庵野秀明. \newblock 新世紀エヴァンゲリオン.
\end{thebibliography}
-\section*{Implementation}
-The above is the implementation of this font metric. Can be used for reference.
-\lstinputlisting{jfm-eva.lua}
\end{document}
Modified: trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-jp.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-jp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-jp.tex 2023-05-19 20:25:16 UTC (rev 67163)
+++ trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-jp.tex 2023-05-19 20:25:29 UTC (rev 67164)
@@ -32,7 +32,7 @@
pdfkeywords = {Japanese Font Metric},
pdfstartview = FitV
}
-\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
+\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\rightskip=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}}
\def\空{\quad}
\def\段{\par}
@@ -47,13 +47,15 @@
\maketitle
\begin{abstract}
- 本ドキュメントは、高品質な中国語および日本語のドキュメントを組版するための日本語フォントメトリック「Evangelion Japanese Font Metric(以下「Eva-JFM」とする)」を紹介するものです。このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォントとともに使用できます。これは、\LuaTeX-ja で提供される優先機能を最大限に活用するフォントメトリックを提供し、標準\cite{jlreq}に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。\段
+ 本ドキュメントは、高品質な中国語および日本語のドキュメントを組版するための日本語フォントメトリック「Evangelion Japanese Font Metric(以下「\textsf{Eva-JFM}」とする)」を紹介するものです。このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォントとともに使用できます。これは、\LuaTeX-ja で提供される優先機能を最大限に活用するフォントメトリックを提供し、標準\cite{jlreq}に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。\段
本ドキュメントは、完全なものではありません。文法的な(および文脈的な)エラーが多数含まれている可能性があります。
\end{abstract}
+\tableofcontents
+
\section{背景情報と簡単な紹介}
-{\TeX}は「美しい本の制作」を目的とした強力な組版システムであり、英語ベースのテキストの組版には完全に対応しています。しかし、CJテキストのサポートは限られています\footnote{おそらく普遍的に認められたCJ文字セット標準やエンコーディングシステムが存在しなかったためかもしれません}。{\TeX}でCJテキストを扱うために、マクロ拡張(\textsf{CJK}など)やエンジン拡張が開発されました。最も影響力のあるものの1つが{\pTeX}(シリーズ)です。\段
-{\pTeX}は仮想フォント方式を使用し、TrueTypeやOpenTypeフォントを\texttt{TFM/VF}ファイルを使ってマッピングします。マクロを介したフォント設定には対応せず、PDF形式の出力にも対応していません。その利点は、伝統的な日本語のタイポグラフィレイアウト要件を扱うための証明済みの能力にあります。
+{\TeX}は「美しい本の制作」を目的とした強力な組版システムであり、英語ベースのテキストの組版には完全に対応しています。しかし、CJテキストのサポートは限られています\footnote{おそらく普遍的に認められたCJ文字セット標準やエンコーディングシステムが存在しなかったためかもしれません。}。{\TeX}でCJテキストを扱うために、マクロ拡張(\textsf{CJK}など)やエンジン拡張が開発されました。最も影響力のあるものの1つが{\pTeX}(シリーズ)です。\段
+{\pTeX}は仮想フォント方式を使用し、TrueTypeやOpenTypeフォントを\texttt{TFM/VF}ファイルを使ってマッピングします。マクロを介したフォント設定には対応せず、PDF形式の出力にも対応していません。その利点は、伝統的な日本語のタイポグラフィレイアウト要件を扱うための証明済みの能力にあります。\段
{\pdfTeX}は、PDFファイルを直接出力できる{\TeX}エンジンの拡張です(その名の通り)。ただし、Unicodeや現代のフォント形式(TrueTypeやOpenTypeベクターフォント形式)に対するサポートは限定的です。\段
{\LuaTeX}は{\pdfTeX}をベースにしています。Luaの組み込みにより、読み込みモジュールを使用してUnicodeをサポートし、\textsf{fontloader}を使用して現代のフォントをサポートすることができます。マクロベースのフォント設定機能は\textsf{luaotfload}によって提供されます。\段
\LuaTeX-jaは{\pTeX}と{\LuaTeX}の移植版と見なすことができます。{\LuaTeX}を使用する場合、マクロによるフォント設定がサポートされるため、{\pTeX}の\texttt{VF}ファイルを保持する必要はありません。しかし、一部の高度な機能(「優先度」機能や仮想的な文字など)は、いわゆるJFMファイルで残され、拡張されました。\段
@@ -86,7 +88,7 @@
\setmainjfont{Source Han Serif TC}[Language = Chinese Traditional, TateFeatures = {JFM = eva/{vert, trad, nstd}}]
\ltjenableadjust[priority = true]
\end{lstlisting}
-\indent 上記は、縦書きの伝統的な中国語フォントを使用して縦書きのテキストを組版する例です。注意が必要ですが、縦書きのテキストをサポートするドキュメントクラスを読み込むか、\texttt{\string\tate}コマンドを使用する必要があります。\LuaTeX-jaのJFM構文は、次のようになります。
+\indent 上記は、縦書きの伝統的な中国語フォントを使用して縦書きのテキストを組版する例です。注意が必要ですが、縦書きのテキストをサポートするドキュメントクラスを読み込むか、\texttt{\string\tate}コマンドを使用する必要があります。\LuaTeX-jaのJFM構文は、次のようになります
\begin{lstlisting}
jfm = §\meta{JFM name}§/{§\meta{JFM features}§}
\end{lstlisting}
@@ -94,7 +96,7 @@
\begin{lstlisting}
\setmainjfont{§\meta{font name}§}[Language = §\meta{language name}§, §\meta{dir}§ = {JFM = §\meta{JFM name}§/{§\meta{JFM features}§}}]
\end{lstlisting}
-オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\meta{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
+オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\texttt{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
上級ユーザーの場合、以下を使用することをお勧めします
\begin{lstlisting}
\def\ltj at stdyokojfm{eva/{§\meta{JFM features}§}}
@@ -150,6 +152,9 @@
\feature{nstd}{Non STandarD}{%
この機能は、句読点のカーニングに対する標準的な優先ルールを無視します。日本語のテキストレイアウト要件\cite{jlreq}では、ピリオドの優先度がカンマよりも高いとされているため(つまり、ピリオドは伸ばしやすい)、この機能によってカンマの優先度がピリオドよりも高くなります。\textsf{luatexja-adjust}の\texttt{priority}機能が有効になっている場合にのみ機能します(\texttt{true}に設定)。
}
+\feature{plain}{PLAIN punct kerning style}{%
+ 句読点間隔の調整は実行しません,\texttt{verbatim}環境のために設計された。提供されたフックで使用することをお勧めします。
+}
\section{行間句読点機能}
\label{sec:lgp}
@@ -223,6 +228,5 @@
\bibitem{evang} 庵野秀明. \newblock 新世紀エヴァンゲリオン.
\end{thebibliography}
-\lstinputlisting{jfm-eva.lua}
\end{document}
Modified: trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-sc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-sc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-sc.tex 2023-05-19 20:25:16 UTC (rev 67163)
+++ trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/Eva-JFM_doc-sc.tex 2023-05-19 20:25:29 UTC (rev 67164)
@@ -33,7 +33,7 @@
pdfkeywords = {Japanese Font Metric},
pdfstartview = FitV
}
-\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
+\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\rightskip=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}}
\def\空{\quad}
\def\段{\par}
@@ -52,6 +52,8 @@
本文档将介绍名为Evangelion Japanese Font Metric(下简称为``\textsf{Eva-JFM}'')的JFM文件。其适用于简体中文(以下简称为「简中」)、繁体中文(以下简称为「繁中」)及日文字体的横直排。旨在提供一个充分利用\LuaTeX-ja的\texttt{priority}特性,基于标准\cite{jlreq}的同时,支持一些罕用特性的JFM文件。文档暂使用中文及西文撰写。
\end{abstract}
+\tableofcontents
+
\section{背景及略介}
\TeX{}是高德纳教授于20世纪末开发的强大排版引擎,能够完全满足西文排版的需求。然因时代局限性\footnote{如没有事实上的统一字符编码等。}以及客观原因\footnote{如中日字符集较大,以及书写方式的不同(纵书、横书),标点等。}对中日排版支持十分有限。为达成中日排版需求,在宏扩展(如\textsf{CJK}等)之外出现了引擎扩展。影响力较大的是\pTeX{}系列。\段
\pTeX{}系列采用虚拟字体的理念,使用\texttt{TFM/VF}映射TrueType或OpenType字体完成排版。其不支持宏配置字体,也不支持直接生成PDF格式文件。但可以满足日本的传统横纵排版需求(工业标准)。\段
@@ -97,7 +99,6 @@
\setmainjfont{§\meta{font name}§}[Language = §\meta{language name}§, §\meta{dir}§ = {JFM = §\meta{JFM name}§/{§\meta{JFM features}§}}]
\end{lstlisting}
其中,\meta{font name}自然为需要的字体名称。\meta{language name}在使用日文字体时可忽略,而使用简中、繁中字体时为必填\footnote{简中填\texttt{Chinese Simplified},繁中填\texttt{Chinese Traditional}即可。},因\LuaTeX-ja会默认将其覆盖为\texttt{Japanese}选项,而这会带来灾难性的后果\footnote{比如错误的标点位置:日文为冒号及分号中置、其余偏靠,简中是全部偏靠,而繁中则是统统中置。}。\meta{dir}选填\texttt{TateFeatures}(直书)或\texttt{YokoFeatures}(横书)。其后的\meta{JFM name}为调用JFM的文件名\footnote{\LuaTeX-ja会依\texttt{jfm-\meta{JFM name}.lua}的格式来查找该文件。}。最后的\meta{JFM features}选项为选择使用的JFM特性,详细请看第\ref{sec:feat}章。\段
-オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\meta{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
对于进阶用户,也推荐用
\begin{lstlisting}
\def\ltj at stdyokojfm{eva/{§\meta{JFM features}§}}
@@ -159,6 +160,9 @@
忽略标准特性。字体排印标准\cite{jlreq}认为逗号的压缩权重应比句号要低。本特性将句号的压缩优先级与逗号交换,使逗号被优先压缩\footnotemark{}。仅在使用\textsf{luatexja-adjust}宏集时有效。
}
\footnotetext{考虑逗号、句号在文字系统中占的重量,以及「开明」压缩风格。}
+\feature{plain}{PLAIN punct kerning style}{%
+ 不进行任何标点压缩。为程式码抄录环境而设(因为默认\texttt{verbatim}环境中也会有标点压缩,有时会很难看)。建议使用该环境提供的钩子调用。
+}
\section{行間標點特性}
\label{sec:lgp}
@@ -235,8 +239,5 @@
\bibitem{evang} 庵野秀明. \newblock 新世紀エヴァンゲリオン.
\end{thebibliography}
-\section*{程式碼}
-以下为\texttt{jfm-eva.lua}文件内容,供参考。%及二次开发等。
-\lstinputlisting{jfm-eva.lua}
\end{document}
Modified: trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/README.md 2023-05-19 20:25:16 UTC (rev 67163)
+++ trunk/Master/texmf-dist/doc/luatex/evangelion-jfm/README.md 2023-05-19 20:25:29 UTC (rev 67164)
@@ -8,11 +8,11 @@
本项目已上传至[CTAN](https://www.ctan.org/pkg/evangelion-jfm)。
-このメトリッ クは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォント とともに使用できます。これは、LuaTeX-jaで提供される優先機能を最大限に活用するフォントメトリックを提供し、標準に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすること を目的としています。
+このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォント とともに使用できます。これは、LuaTeX-jaで提供される優先機能を最大限に活用するフォントメトリックを提供し、標準に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。
より多くの情報は[ドキュメント](Eva-JFM_doc-jp.pdf)を見てください。
-それは[CTAN](https://www.ctan.oeg/pkg/evangelion-jfm)にアップロードされました。
+それは[CTAN](https://www.ctan.org/pkg/evangelion-jfm)にアップロードされました。
`Eva-JFM` is a JFM file which aims to support 'linegap puncutations', 'scaled font' and more features under LuaTeX-ja. It can be used with Traditional Chinese, Simplified Chinese and Japanese fonts, supporting vertical typesetting, making full-use of the `priority` feature, and added special support for Traditional Chinese font. It's based on jlreq, and insipered by `min10.tfm`. All its nine features are embeded into one single file `jfm-eva.lua` to simplify the using.
@@ -40,12 +40,24 @@
- 忽略标准 非標準 Non-standard
+- 原始 調整なし Plain
+
## 状态・現在のバージョン・Current Version
-`Ver 1.0.3 (c)`
+`Ver 1.0.4 (e)`
## 历史・変更ログ・Changelog
+- 2023.5.19 Ver 1.0.4 (e): update japanese documentation and README.
+
+- 2023.5.17 Ver 1.0.4 (c): sync the documentation (en&sc) for the new feature.
+
+- 2023.5.16 Ver 1.0.4 (b): trobble with error handling is fixed (i hope).
+
+- 2023.5.14 Ver 1.0.4 (a): add feature `plain` for verbatim environments.
+
+- 2023.5.5 Ver 1.0.3 (d): revised code and documentation.
+
- 2023.4.26 Ver 1.0.3 (c): jp doc (fin).
- 2023.4.25 Ver 1.0.3 (b): jp doc (mid).
Modified: trunk/Master/texmf-dist/source/luatex/evangelion-jfm/Evangelion-JFM.dtx
===================================================================
--- trunk/Master/texmf-dist/source/luatex/evangelion-jfm/Evangelion-JFM.dtx 2023-05-19 20:25:16 UTC (rev 67163)
+++ trunk/Master/texmf-dist/source/luatex/evangelion-jfm/Evangelion-JFM.dtx 2023-05-19 20:25:29 UTC (rev 67164)
@@ -78,7 +78,7 @@
pdfkeywords = {Japanese Font Metric},
pdfstartview = FitV
}
-\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
+\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\rightskip=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}}
%<sc,ja>\def\空{\quad}
%<sc,ja>\def\段{\par}
@@ -98,20 +98,22 @@
\begin{abstract}
%<sc> 本文档将介绍名为Evangelion Japanese Font Metric(下简称为``\textsf{Eva-JFM}'')的JFM文件。其适用于简体中文(以下简称为「简中」)、繁体中文(以下简称为「繁中」)及日文字体的横直排。旨在提供一个充分利用\LuaTeX-ja的\texttt{priority}特性,基于标准\cite{jlreq}的同时,支持一些罕用特性的JFM文件。文档暂使用中文及西文撰写。
-%<ja> 本ドキュメントは、高品質な中国語および日本語のドキュメントを組版するための日本語フォントメトリック「Evangelion Japanese Font Metric(以下「Eva-JFM」とする)」を紹介するものです。このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォントとともに使用できます。これは、\LuaTeX-ja で提供される優先機能を最大限に活用するフォントメトリックを提供し、標準\cite{jlreq}に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。\段
+%<ja> 本ドキュメントは、高品質な中国語および日本語のドキュメントを組版するための日本語フォントメトリック「Evangelion Japanese Font Metric(以下「\textsf{Eva-JFM}」とする)」を紹介するものです。このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォントとともに使用できます。これは、\LuaTeX-ja で提供される優先機能を最大限に活用するフォントメトリックを提供し、標準\cite{jlreq}に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。\段
%<ja> 本ドキュメントは、完全なものではありません。文法的な(および文脈的な)エラーが多数含まれている可能性があります。
%<en> This documentation is going to introduce Evangelion Japanese Font Metric (hereinafter referred to as ``\textsf{Eva-JFM}''), a Japanese Font Metric for typesetting high quality Chinese and Japanese documents. It can be used with Traditional Chinese, Simplified Chinese and Japanese fonts for both vertically and horizontally typesetted texts. It aims to provide a font metric which makes full use of the \texttt{priority} feature (provided by \textsf{\LuaTeX-ja}), bases on the standard~\cite{jlreq}, and supports some advanced (a.k.a., rarely-used) features. The documentation is now written in both Chinese and English.\par
%<en> This documentation is far from complete. It may have many grammatical (and contextual) errors.
\end{abstract}
+\tableofcontents
+
%<sc>\section{背景及略介}
%<ja>\section{背景情報と簡単な紹介}
%<en>\section{Background Information and a Rough Introduction}
%<sc>\TeX{}是高德纳教授于20世纪末开发的强大排版引擎,能够完全满足西文排版的需求。然因时代局限性\footnote{如没有事实上的统一字符编码等。}以及客观原因\footnote{如中日字符集较大,以及书写方式的不同(纵书、横书),标点等。}对中日排版支持十分有限。为达成中日排版需求,在宏扩展(如\textsf{CJK}等)之外出现了引擎扩展。影响力较大的是\pTeX{}系列。\段
-%<ja>{\TeX}は「美しい本の制作」を目的とした強力な組版システムであり、英語ベースのテキストの組版には完全に対応しています。しかし、CJテキストのサポートは限られています\footnote{おそらく普遍的に認められたCJ文字セット標準やエンコーディングシステムが存在しなかったためかもしれません}。{\TeX}でCJテキストを扱うために、マクロ拡張(\textsf{CJK}など)やエンジン拡張が開発されました。最も影響力のあるものの1つが{\pTeX}(シリーズ)です。\段
+%<ja>{\TeX}は「美しい本の制作」を目的とした強力な組版システムであり、英語ベースのテキストの組版には完全に対応しています。しかし、CJテキストのサポートは限られています\footnote{おそらく普遍的に認められたCJ文字セット標準やエンコーディングシステムが存在しなかったためかもしれません。}。{\TeX}でCJテキストを扱うために、マクロ拡張(\textsf{CJK}など)やエンジン拡張が開発されました。最も影響力のあるものの1つが{\pTeX}(シリーズ)です。\段
%<en>{\TeX} is a powerful typesetting system ``intended for the creation of beautiful books'', it has full support for typesetting English based texts. However, its support for CJ text is limited\footnote{Maybe because there was no universally recognized or accepted CJ character set standard as well as an encoding system.}. For handling CJ texts in {\TeX}, both macro extensions (i.e., \textsf{CJK}) and engine extensions were developed. One of the most influential one is (the) {\pTeX} (series).\par
%<sc>\pTeX{}系列采用虚拟字体的理念,使用\texttt{TFM/VF}映射TrueType或OpenType字体完成排版。其不支持宏配置字体,也不支持直接生成PDF格式文件。但可以满足日本的传统横纵排版需求(工业标准)。\段
-%<ja>{\pTeX}は仮想フォント方式を使用し、TrueTypeやOpenTypeフォントを\texttt{TFM/VF}ファイルを使ってマッピングします。マクロを介したフォント設定には対応せず、PDF形式の出力にも対応していません。その利点は、伝統的な日本語のタイポグラフィレイアウト要件を扱うための証明済みの能力にあります。
+%<ja>{\pTeX}は仮想フォント方式を使用し、TrueTypeやOpenTypeフォントを\texttt{TFM/VF}ファイルを使ってマッピングします。マクロを介したフォント設定には対応せず、PDF形式の出力にも対応していません。その利点は、伝統的な日本語のタイポグラフィレイアウト要件を扱うための証明済みの能力にあります。\段
%<en>{\pTeX} uses a virtual font scheme, by mapping TrueType or OpenType fonts using \texttt{TFM/VF} files. It doesn't support font configuration through macros, and has no support for PDF format output. Its advantage is the proven ability for dealing with traditional Japanese typographic layout requirements.\par
%<sc>\pdfTeX{}则是当时另一个\TeX{}的引擎扩展,支持不经DVI格式直接输出PDF格式的文件。然对Unicode(字符编码)及TrueType、OpenType(「现代」矢量字体格式)的支持繁琐或有限。\段
%<ja>{\pdfTeX}は、PDFファイルを直接出力できる{\TeX}エンジンの拡張です(その名の通り)。ただし、Unicodeや現代のフォント形式(TrueTypeやOpenTypeベクターフォント形式)に対するサポートは限定的です。\段
@@ -172,7 +174,7 @@
\ltjenableadjust[priority = true]
\end{lstlisting}
%<sc>(注意需要调用支持直书的文档类或使用\texttt{\string\tate}命令)。\LuaTeX-ja的JFM语法为:
-%<ja>\indent 上記は、縦書きの伝統的な中国語フォントを使用して縦書きのテキストを組版する例です。注意が必要ですが、縦書きのテキストをサポートするドキュメントクラスを読み込むか、\texttt{\string\tate}コマンドを使用する必要があります。\LuaTeX-jaのJFM構文は、次のようになります。
+%<ja>\indent 上記は、縦書きの伝統的な中国語フォントを使用して縦書きのテキストを組版する例です。注意が必要ですが、縦書きのテキストをサポートするドキュメントクラスを読み込むか、\texttt{\string\tate}コマンドを使用する必要があります。\LuaTeX-jaのJFM構文は、次のようになります
%<en>(and be aware that you need to load a document class which supports vertical typesetting or use the \texttt{\string\tate} command. \LuaTeX-ja's JFM syntax is the above
\begin{lstlisting}
jfm = §\meta{JFM name}§/{§\meta{JFM features}§}
@@ -184,7 +186,7 @@
\setmainjfont{§\meta{font name}§}[Language = §\meta{language name}§, §\meta{dir}§ = {JFM = §\meta{JFM name}§/{§\meta{JFM features}§}}]
\end{lstlisting}
%<sc>其中,\meta{font name}自然为需要的字体名称。\meta{language name}在使用日文字体时可忽略,而使用简中、繁中字体时为必填\footnote{简中填\texttt{Chinese Simplified},繁中填\texttt{Chinese Traditional}即可。},因\LuaTeX-ja会默认将其覆盖为\texttt{Japanese}选项,而这会带来灾难性的后果\footnote{比如错误的标点位置:日文为冒号及分号中置、其余偏靠,简中是全部偏靠,而繁中则是统统中置。}。\meta{dir}选填\texttt{TateFeatures}(直书)或\texttt{YokoFeatures}(横书)。其后的\meta{JFM name}为调用JFM的文件名\footnote{\LuaTeX-ja会依\texttt{jfm-\meta{JFM name}.lua}的格式来查找该文件。}。最后的\meta{JFM features}选项为选择使用的JFM特性,详细请看第\ref{sec:feat}章。\段
-オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\meta{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
+%<ja>オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\texttt{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
%<en>Option \meta{font name} is the font (that you'd like to specify as the main font for your document)'s name. When using Japanese fonts, simply ignore the \meta{language name} since \LuaTeX-ja will automatically fill it for you. In this case, filling \texttt{Chinese} \texttt{Traditional} for Traditional Chinese fonts and \texttt{Chinese} \texttt{Simplified} for Simplified Chinese fonts is necessary\footnote{Without this, your output may result in wrong details, for instance wrong punctuation shape \& direction.}. \meta{dir} should be \texttt{TateFeatures} when typeset vertically and \texttt{YokoFeatures} for typesetting horizontally accordingly. The JFM's name is specified by the \meta{JFM name} option\footnote{\LuaTeX-ja searchs for a JFM file following the method \texttt{jfm-\meta{JFM name}.lua}.}. Finally, for the \meta{JFM features} key, fill in the JFM features. They are described in section \ref{sec:feat}.\par
%<sc>对于进阶用户,也推荐用
%<ja>上級ユーザーの場合、以下を使用することをお勧めします
@@ -299,6 +301,11 @@
%<en> This one ignores the standard priority rules for punctuation kerning. While Japanese text layout requirement~\cite{jlreq} suggests that the priority for the period should be higher than the comma (which means the period is easier to stretch), this makes the comma's priority higher than the preiod's. Only works when \textsf{luatexja-adjust}'s priority feature is enabled (set to \texttt{true}).
}
%<sc>\footnotetext{考虑逗号、句号在文字系统中占的重量,以及「开明」压缩风格。}
+\feature{plain}{PLAIN punct kerning style}{%
+%<sc> 不进行任何标点压缩。为程式码抄录环境而设(因为默认\texttt{verbatim}环境中也会有标点压缩,有时会很难看)。建议使用该环境提供的钩子调用。
+%<ja> 句読点間隔の調整は実行しません,\texttt{verbatim}環境のために設計された。提供されたフックで使用することをお勧めします。
+%<en> Disables the performance of spaceing adjustment for any of the puncts. Designed to be used in the verbatim environment. Developers can use the hook provided by that environment to specify this feature.
+}
%<sc>\section{行間標點特性}
%<ja>\section{行間句読点機能}
@@ -435,10 +442,11 @@
\bibitem{evang} 庵野秀明. \newblock 新世紀エヴァンゲリオン.
\end{thebibliography}
-%<sc>\section*{程式碼}
-%<en>\section*{Implementation}
-%<sc>以下为\texttt{jfm-eva.lua}文件内容,供参考。%及二次开发等。
-%<en>The above is the implementation of this font metric. Can be used for reference.
-\lstinputlisting{jfm-eva.lua}
+%<ignore>\section*{程式碼}
+%<ignore>\section*{実装}
+%<ignore>\section*{Implementation}
+%<ignore>以下为\texttt{jfm-eva.lua}文件内容,供参考。%及二次开发等。
+%<ignore>The above is the implementation of this font metric. Can be used for reference.
+%<ignore>\lstinputlisting{jfm-eva.lua}
\end{document}
Modified: trunk/Master/texmf-dist/tex/luatex/evangelion-jfm/jfm-eva.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/evangelion-jfm/jfm-eva.lua 2023-05-19 20:25:16 UTC (rev 67163)
+++ trunk/Master/texmf-dist/tex/luatex/evangelion-jfm/jfm-eva.lua 2023-05-19 20:25:29 UTC (rev 67164)
@@ -1,11 +1,11 @@
---- Evangelion Japanese Font Metric for LuaTeX
----- Current Version: 1.0.3 (c)
+---- Current Version: 1.0.4 (e)
---- Dev URL: https://github.com/RadioNoiseE/Evangelion-JFM
---- Copyright 2023, RadioNoiseE ©
-- 初始化
-local lang_jp, lang_tc, lang_sc, dir_vt, font_extd, punc_lg, punc_hg, std_nil, al_hw, al_fw
+local lang_jp, lang_tc, lang_sc, dir_vt, font_extd, punc_lg, punc_hg, std_nil, al_hw, al_fw, as_nil
if luatexja.jfont.jfm_feature then
lang_jp = luatexja.jfont.jfm_feature.jp
@@ -18,6 +18,7 @@
std_nil = luatexja.jfont.jfm_feature.nstd
al_hw = luatexja.jfont.jfm_feature.hwid
al_fw = luatexja.jfont.jfm_feature.fwid
+ as_nil = luatexja.jfont.jfm_feature.plain
end
-- 預處理及容錯
@@ -24,24 +25,29 @@
if font_extd == true and dir_vt == false then
tex.error('JFM feature "extd" only works with feature "vert".\n' ..
'For now I\'ll ignore it.')
+ luatexja.jfont.jfm_feature["extd"] = nil
end
if punc_lg == true and dir_vt == false then
tex.error('JFM feature "lgp" only works with feature "vert".\n' ..
'For now I\'ll ignore it.')
+ luatexja.jfont.jfm_feature["lgp"] = nil
end
if al_hw == true and al_fw == true then
tex.error('JFM feature "hwid" cannot be used with "fwid".')
+ luatexja.jfont.jfm_feature["hwid"] = nil
+ luatexja.jfont.jfm_feature["fwid"] = nil
end
if not ((lang_jp and not (lang_tc or lang_sc)) or
- (lang_tc and not (lang_jp or lang_sc)) or
- (lang_sc and not (lang_jp or lang_tc))) then
+ (lang_tc and not (lang_jp or lang_sc)) or
+ (lang_sc and not (lang_jp or lang_tc))) then
tex.error('Specify one and only one feature from three language specific features\n' ..
'"jp", "trad" or "smpl"\n' ..
'is required.\n' ..
'For now I\'ll use "lang_jp" for japanese by default.')
+ luatexja.jfont.jfm_feature["hwid"] = nil
end
-- 壓縮比例設定
@@ -54,13 +60,13 @@
-- 定義函數宏
local function logic_anif(f1, f2, r1, r2)
- local rta = f1 and (f2 and r1) or r2
- return rta
+ local rta = f1 and (f2 and r1) or r2
+ return rta
end
local function logic_if(f1, r1, r2)
- local rti = f1 and r1 or r2
- return rti
+ local rti = f1 and r1 or r2
+ return rti
end
local function context_height()
@@ -426,4 +432,11 @@
eva[10].width = 1
end
+if sa_nil == true then
+ for _, catnum in ipairs({1, 101, 102, 2, 201, 202, 3, 301, 302, 4, 5, 6, 7, 8, 9, 10, 11}) do
+ eva[catnum] = nil
+ end
+ eva[0].glue = {}
+end
+
luatexja.jfont.define_jfm(eva)
More information about the tex-live-commits
mailing list.