Skip to content

Instantly share code, notes, and snippets.

View aminophen's full-sized avatar
☃️
☃️⛄️🍣🦆🐦🤯🤮😱🤔🙃

Hironobu Yamashita aminophen

☃️
☃️⛄️🍣🦆🐦🤯🤮😱🤔🙃
View GitHub Profile
@aminophen
aminophen / rongorongo-rongo.tex
Created July 24, 2015 15:15
論語をロンゴロンゴ組版してみる遊び
% * Boustrophedon & Rongorongo Package ``boustrophedon.sty''
% https://github.com/aminophen/boustrophedon.sty
% * 縦書きハック (by doraTeX):https://www.overleaf.com/read/qkvrbgzqrmrv
% * 論語原文:http://www5f.biglobe.ne.jp/~mind/knowledge/classic/rongo001.html
\documentclass[a5paper,papersize,landscape,dvipdfmx]{jsarticle}
\makeatletter
\AtBeginDocument{\tate\message{《縦組モード》}\adjustbaseline}
\setlength{\@tempdima}{\textheight}
\setlength{\textheight}{\textwidth}
\setlength{\textwidth}{\@tempdima}
@aminophen
aminophen / dvipdf.md
Last active January 7, 2017 15:38
"dvips + gs" on Windows (inspired by "dvipdf" shell script in Ghostscript distribution)
@aminophen
aminophen / gs707-make-stderr.log
Last active October 15, 2015 10:31
GNU Ghostscript 7.07 の make で出てくる警告のログ
./src/echogs.c: In function ‘main’:
./src/echogs.c:277: warning: incompatible implicit declaration of built-in function ‘exit’
In file included from ./src/gp_unix.c:21:
./src/pipe_.h:44: warning: function declaration isn’t a prototype
./src/gp_unifn.c: In function ‘gp_pathstring_not_bare’:
./src/gp_unifn.c:48: warning: pointer targets in passing argument 1 of ‘bytes_compare’ differ in signedness
./src/gp_unifn.c:48: warning: pointer targets in passing argument 3 of ‘bytes_compare’ differ in signedness
./src/zfcid1.c: In function ‘z11_get_outline’:
./src/zfcid1.c:119: warning: cast discards qualifiers from pointer target type
./src/zchar1.c:1064: warning: no previous prototype for ‘z1_glyph_info’
@aminophen
aminophen / gs707w32full.diff
Created October 17, 2015 15:54
GNU Ghostscript 7.07 (win32) を make するために作成したパッチ
diff -urxN ghostscript-7.07.orig/examples/cjk/all_ac1.ps ghostscript-7.07/examples/cjk/all_ac1.ps
--- ghostscript-7.07.orig/examples/cjk/all_ac1.ps Tue Apr 02 23:53:39 2002
+++ ghostscript-7.07/examples/cjk/all_ac1.ps Tue Sep 29 01:34:56 2015
@@ -182,7 +182,8 @@
%[0 17407] % Adobe-CNS1-0,1
%[0 17600] % Adobe-CNS1-0,1,2
%[0 18845] % Adobe-CNS1-0,1,2,3
- [0 18961] % Adobe-CNS1-0,1,2,3,4
+ %[0 18961] % Adobe-CNS1-0,1,2,3,4
+ [0 18964] % Adobe-CNS1-0,1,2,3,4
@aminophen
aminophen / graphics-color-drivers.patch
Last active December 25, 2015 20:01
LaTeX の graphics / color ドライバ指定を「初回指定のみ有効」にするハック
diff -urN orig/color.cfg new/color.cfg
--- orig/color.cfg Fri May 31 12:10:50 2013
+++ new/color.cfg Sat Dec 26 04:52:04 2015
@@ -1,6 +1,30 @@
\ProvidesFile{color.cfg}%
[2007/01/18 v1.5 color configuration of teTeX/TeXLive]
+% Restore current definition of \Gin@driver (might be empty)
+\let\Gin@driver@prev\Gin@driver
+
@aminophen
aminophen / pdf-rotate.md
Last active November 19, 2015 04:32
dvipdfmx 経由での PDF の /Rotate サポート案

dvipdfmx の /Rotate サポート案

現在の ZR 案の状況

  1. extractbb は従来どおり「原座標系」に則った Box 値を返し、これに加えて %%Rotate: 行も出力する。dvipdfmx.def は bbox 値と rotate 値を取得し、TeX が確保すべき箱のサイズを計算する。
  2. dvipdfmx.def は bbox 値について従来どおり「bb= オプションがあればそれを採用 → オプションがなければ .xbb ファイルを探して読む → ファイルがなければ extractbb を実行してパイプ入力する」。rotate 値については bbox 値取得と同じ段階で行われ、「bb= オプションがあれば pdfrotate= オプションの値を読む → bb= オプションがなければ .xbb ファイルを探して読む → ファイルがなければ extractbb を実行してパイプ入力する」(bbox 値取得と同じ段階での読み込みに失敗すれば0とみなす)。
  3. epdf special の bbox 値には、viewport を考慮した画像表示範囲を「原座標系」で与える。あとは dvipdfmx がその範囲の画像を /Rotate にあわせて回転して取り込む。

上記 ZR 案の問題点

@aminophen
aminophen / iconv-conv.sh
Last active January 21, 2016 12:48
Convert encodings of all files in a directory
#!/bin/sh
walk(){
for path in $1/*; do
if [ -d "$path" ]; then
walk "$path"
elif [ -f "$path" ]; then
if [ ${path##*.} = "pdf" -o ${path##*.} = "tfm" -o ${path##*.} = "pfb" -o ${path##*.} = "vf" ]; then
echo "$path ignored."
else
iconv -f UTF-8 -t ISO-2022-JP "$path" >"$path.conv"
@aminophen
aminophen / ctan-texjp.txt
Last active January 22, 2016 16:25
File encoding in ptex-texmf tree
doc/man/man1/mendex.1 : x
doc/platex/base/Changes.txt : UTF-8 (LF)
doc/platex/base/COPYRIGHT : ASCII (LF)
doc/platex/base/README.txt : UTF-8 (LF)
doc/platex/base/README2.txt : UTF-8 (LF)
doc/ptex/base/Changes.txt : EUC-JP (LF)
doc/ptex/base/COPYRIGHT : ASCII (LF)
doc/ptex/base/COPYRIGHT.txt : ISO-2022-JP (LF)
doc/ptex/base/INSTALL.txt : ISO-2022-JP (LF)
doc/ptex/base/jfm.tex : ISO-2022-JP (LF)
@aminophen
aminophen / Makefile-20160127.0-A
Last active March 30, 2016 10:36
ptex-texmf の source/platex/base の Makefile のたたき台
SRCDIR = source/platex/base
TEXDIR = tex/platex/base
DOCDIR = doc/platex/base
TARGET1 = platex.ltx jarticle.cls jarticle.sty nidanfloat.sty
TARGET2 = platex.pdf pldoc.pdf
all: $(addprefix $(TEXDIR)/,$(TARGET1)) \
$(addprefix $(DOCDIR)/,$(TARGET2))
@aminophen
aminophen / platexrelease-doc.md
Last active May 17, 2016 11:44
pLaTeX2e で latexrelease してみる実験

platexrelease の仕様(pLaTeX 2016/04/17 に導入済みのもの)

pLaTeX kernel 本体は「latexrelease が使われたのに platexrelease が使われていない」場合に警告を出す。また、仮に「読み込まれた latexrelease について pLaTeX が未知である」なら、platexrelease が万全ではないため警告を出す。

  • \RequirePackage[yyyy/mm/dd]{platexrelease} とすると「yyyy/mm/dd 時点の LaTeX kernel を読み込んだ後に、同じく yyyy/mm/dd 時点の pLaTeX kernel を読み込んだもの」をエミュレートする。
  • オプション current と latest は、latexrelease の仕様を踏襲する。
    • current ならば「何もしない」、すなわち今ある \pfmtversion そのままの挙動。
    • latest ならば「latexrelease が知っている最新の LaTeX kernel を読み込んだ後に、platexrelease が知っている最新の pLaTeX kernel を読み込んだもの」をエミュレートする。

以下、開発者向け。今後 ptex-texmf のカーネルやパッケージを改変する方法: