マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

XeTeX

TeXのプリミティブで展開可能なやつ(4)

前回の続き。今回はXeTeXについて。 XeTeX関連の注意事項 ※一般の注意事項については初回の記事を参照。 各プリミティブの種別が何であるかについてのマニュアルの記述がかなりアレ。例えば、読取専用パラメタ(だから展開不能)なのに“Expands to …”と書い…

zxjaナンチャラの現状について語ってみる(2)

(前回の続き) 新しいzxjafont(1.1版)の機能を語ってみる 従来の版(0.4版以前)の情報については以下を参照。 そういえば ZXjafont が新しくなった(v0.4) xeCJKでもzxjafontできる話 zxjafontのプリセットの指定対象は、例えばipaの場合は以下のように…

zxjaナンチャラの現状について語ってみる(1)

つまり、zxjatypeとzxjafontの解説であるが、その前に一つ重要な話。 はじめに:zxjatypeは(ずっと昔から)壊れている zxjatypeの本来の主要機能は「少なくともpLaTeXと同等の品質の日本語組版をXeLaTeX上で実現すること」だった。しかし、その主要機能につ…

XeTeX のチョットアレな話

XeTeX の \font プリミティブの右辺の値はクオートで囲うことができる。\font\test="Times New Roman" この「クオート囲みの文字列」については以前の記事で解説したことがある。そこでの説明に従うと、このクオートは飽くまでも「空白を含む文字列を扱うた…

xdvipdfmx がうまくいきません

PDFタイトルでするとアレ 以前の記事で述べたように、XeTeX(xdvipdfmx)の既定の動作*1では、pdf:docview special などで与えられる「PDF の文書情報の文字列」について、UTF-8 → UTF-16BE の変換を行う。 % plain XeTeX 文書, 文字コードは UTF-8 \special…

XeTeX のバージョンを判定してナントカしたい話

つまり、「バージョンが 0.85 以上だったらアレをする」みたいなことをやりたい。どうすればよいか。 XeTeX のバージョンの形式 XeTeX を起動すると次のようなバージョン表示が出てくる。This is XeTeX, Version 3.14159265-2.6-0.99992 (TeX Live 2015/W32T…

新しい XeLaTeX でどうしても xeCJK したい場合は

「LaTeX が新しくなってアレ」の話の続き。 XeLaTeX や LuaLaTeX で数式がアレな件は、unicode-data というパッケージの不具合が原因なのであるが、これについては修正版がもう CTAN に上がっているので、そのうち TeX Live にも反映されるであろう。 もう一…

XeTeX で安心して寿司できるになった話

[ステマ] TeX & LaTeX Advent Calendar 2015/12/01 〜 2015/12/25 〜たかが TeX、されど TeX〜 参加者募集中!! * * * window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(i…

きょうの XeTeX (3) : \XeTeXinputencoding, \XeTeXdefaultencoding

例の Qiita の記事で触れたように、XeTeX エンジンには入力ファイルの文字コードを選択する機能がある。 \XeTeXinputencoding <文字コード名> :[命令] 現在読込中のファイルの、以降のテキスト行の文字コードを指定する。設定は常にグローバルである。 \X…

XeTeX の謎の正規化の謎についての補足

前回の続きの話。XeTeX が文字を出力する際に行う「正規化」についてもう少し調べてみる。 % plain XeTeX/LuaTeX 文書, 文字コードは UTF-8 \ifdefined\luatexversion \input luaotfload.sty \fi \font\fTest="[OpenSans-Regular.ttf]:-liga" \fTest % NFDで…

きょうの XeTeX (2) : \XeTeXinputnormalization

「XeTeX で Unicode 正規化する件」に関するプリミティブ。 \XeTeXinputnormalization :[整数パラメタ・読書可] テキスト行読込の際に適用される正規化の種類を指定する: 0=処理なし、1=NFC、2=NFD。 例えば、\XeTeXinputnormalization=1 % これ以降はNF…

easylist を雪だるまに対応させてみた

最近、easylist という LaTeX パッケージが話題になっているようである。 LaTeXでの箇条書き作成は easylist パッケージが便利 easylist とは何か 簡単にいうと、このパッケージの機能は「リスト(箇条書き)のためのソース記述を簡潔にする」ことである。言…

zxjatype が(実は)アレな話

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

zxjatype でアレな環境を使うとアレな件(2)

(前回の続き) 対処法 これに対処する方法であるが、挿入されるトークン列の方に細工を施して、そちら側で先読み処理をする、という方法も考えられるが、元々の挿入トークン列の性質によっては困難な可能性がある。恐らく、\end マクロの方を修正する方が簡…

zxjatype でアレな環境を使うとアレな件(1)

アレのことだけど。 [zxjatype] 文字サイズの \begin{} ... \end{} による指定 zxjatype じゃなくて xeCJK を指定して同様の文書を作った場合にも同じエラーが発生するので、これは xeCJK の問題といえるだろう。で、きちんと調べたわけではないが、何となく…

xeCJK で CheckSingle で BMP 外の文字を書くとアレ

zxjatype で「花園明朝B」をフォールバックに使うと上手くいかないという報告をもらった。調べてみると、次のような場合にエラーになるようだ。(^^^^4e01 は XeTeX の「拡張 TeX エスケープ形式」で U+4E01 の文字を書いたのと同値になる。数字が 5 桁の場…

XeTeX は IVS(Unicode 異体字セレクタ)に対応したようだが?

参考→以前の記事 また IVS が流行っているようだが……。 Support for variation selectors. キタコレ! …なので試してみた。(IPAex明朝における IVS の対応状況については以前の記事を参照。) % 文字コードは UTF-8; plain XeTeX 文書 \font\fIpaexm="IPAe…

アレだった XeTeX の縦書きがアレになった

最近に W32TeX を最新版に更新したのだが、そうすると、XeTeX の縦書き(の横転出力)の動作が変わっていることに気が付いた。例えば、次の単純な plain TeX 文書で試してみる。% plain XeTeX 文書; 文字コードは UTF-8 \font\fLatn="LMRoman10-Regular" \fo…

xeCJK の便利かもしれない機能の話

xeCJK 3.x 版に対応した ZXjatype(0.6 版)を正式にリリースしました。ZXjatype (github)当然であるが、ZXjatype は xeCJK に「日本語用の設定」を加えたものであるから、xeCJK の高度な機能を知ることは ZXjatype を使う上でも有用である。ここでは、「…

xunicode で Unicode しない場合のエラーの話

アレの話。要するに、xunicode パッケージ(fontspec の中で読み込まれる)を読み込んだ後、(何か不幸な理由があって)従来の 8 ビットのエンコーディングのフォントに切り替えると、分割不可空白の命令〈~〉がエラーになるということである。これは XeLaTe…

XeTeX ではフォントの属性として色が扱える

qa:56483 は XeTeX ではどうなるのかという話。 XeTeX ではフォントの属性(特性値)として「色」が指定できる。例えば、次のようにして「赤いフォント」を定義できる。 \font\redipaexmin="IPAex明朝:color=FF0000" XeLaTeX(fontspec パッケージ)では、特…

ドイツ語用の新しい分綴パターン

ドイツ語用の分綴パターンについては、従来のものの欠点に対する改善を行った(試験的な)新しいパターン(新・旧正書法の各々に対するもの)が作られていて、dehyph-exptl というパッケージ名で配布されている。数年前から W32TeX/TeX Live の欧文 TeX の…

大きな定数を定義する話

TeX で定数を表すトークンを作りたい時は、\chardef を「借用」する。LaTeX では次のような定義が行われている。このトークン(\@ne 等)自体は TeX プログラミングをする人なら必ず見たことがあるだろう。((ちなみに \z@ は chardef トークンではない。)) \…

palt 特性が有効な場合に余分な空きが出現する

「フォントにない文字を別のフォントで補う」(2011-02-20)に対する K. Okada 様のコメントに対する私の返答:XeTeX で最初の行の丸括弧の空きが不釣り合いになっている件について。これは、XeTeX で日本語用の設定を施して、ヒラギノ等の高品位 OpenType …

OpenType の palt 特性の既定値

XeTeX で OpenType フォントを用いる場合、palt 特性(プロポーショナル幅を指定)が存在するフォント(IPAex、ヒラギノ、小塚、等)については palt が既定で有効になるので、等幅で用いたい場合(大概はそうであろう)は -palt を明示的に指定する(XeLaTe…

zxjatype で日本語と中国語を混在させる

「フォントにない文字を別のフォントで補う」(2011-02-20)に対する K. Okada 様のコメントに対する私の返答:upLaTeX の既定設定は日本語に適したものなので、中国語には必ずしも適切ではないと思います。この点は zxjatype の日本語用スタイルも同じです…

フォントにない文字を別のフォントで補う〜xeCJKの場合〜

以前に「フォントにない文字を別のフォントで補う」の機能を xeCJK パッケージ(または ZXjatype パッケージ)上で実現するパッケージを作ってみた。以前の記事で挙げた方法は xeCJK の処理とはかなり相性が悪いので、全く別の方法を使っている。でも、多少…

「文字間トークン自動挿入機能」の話

以前に述べた「フォントにない文字を別のフォントで補う」の処理のように、「LaTeX の命令(TeX の制御綴)を表に出さずに独自の処理を割り込ませる」目的のために XeTeX エンジンが用意しているのが「文字間トークン自動挿入機能」である。(この機能自体の…

フォントにない文字を別のフォントで補う

2011-01-26 の記事のコメントについて: たとえば,日本語の中にほんのすこし中国語が混在するような場合とか,手持ちのフォントがadobe1-4しかカバーしていない時,自動で補完すること(unicode によるフォント割付)はできないかとおもっています。「メイン…

般若心経 LuaTeX

「LuaLaTeX で fontspec する件」が無事に動作したので、集いの発表でもネタに使った「般若心経」を組版してみる。ソースはこんな感じである。なお、強制改行や改段落を多用して行分割や分綴の問題を避けていることに注意されたい。 \documentclass[a4paper]…