Skip to content

Instantly share code, notes, and snippets.

@trueroad
Last active February 17, 2019 13:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save trueroad/f71db83ff0781e677af674172f609266 to your computer and use it in GitHub Desktop.
Save trueroad/f71db83ff0781e677af674172f609266 to your computer and use it in GitHub Desktop.
upTeX 用 morisawa パッケージ互換 tfm, vf セット
#
# upTeX 用 morisawa パッケージ互換 tfm, vf セット
# https://gist.github.com/trueroad/f71db83ff0781e677af674172f609266
#
# pLaTeX 用の morisawa パッケージに入っている tfm, vf と
# メトリック互換の upTeX 用 tfm, vf を作ってみました。
#
# 無保証です。これを使った結果何が起きても責任は取りません。
#
# あらかじめ「upTeX 用 jis 互換メトリックセット」を
# インストールしておいてください。以下が参考になるでしょう。
# https://gist.github.com/trueroad/50db8b8c8152e151dc85aedbc84be173
#
# `make` で作成、`make install` でインストールできます。
# インストール先はとりあえず TEXMFHOME 以下にしてありますが、
# 必要に応じて書き換えてください。
#
# Copyright (C) 2019 Masamichi Hosoda.
# All rights reserved.
#
# License: BSD-2-Clause
#
all: tfm vf pstfm
.PHONY: all tfm vf pstfm install clean
#
# 各種ディレクトリ指定
#
# インストール先のプレフィックス(upTeX から見える場所)を指定
PREFIX = $(TEXMFHOME)
TEXMFHOME := $(shell kpsewhich -var-value TEXMFHOME)
#TEXMFLOCAL := $(shell kpsewhich -var-value TEXMFLOCAL)
#TEXMFMAIN := $(shell kpsewhich -var-value TEXMFMAIN)
#TEXMFDIST := $(shell kpsewhich -var-value TEXMFDIST)
# インストール先
MORISAWA_TFM_DEST_DIR = $(PREFIX)/fonts/tfm/uptex-fonts/morisawa-compatible
MORISAWA_VF_DEST_DIR = $(PREFIX)/fonts/vf/uptex-fonts/morisawa-compatible
#
# コマンド関連
#
MAKEJVF = makejvf
INSTALL = install
INSTALL_DIR = $(INSTALL) -m 755 -d
INSTALL_FILE = $(INSTALL) -m 644
CP = cp
RM = rm
RM_F = $(RM) -f
# ベースとするファイル
UJIS_TFM := $(shell kpsewhich ujis.tfm)
UJISG_TFM := $(shell kpsewhich ujisg.tfm)
UMIN10_TFM := $(shell kpsewhich umin10.tfm)
UGOTH10_TFM := $(shell kpsewhich ugoth10.tfm)
UTMIN10_TFM := $(shell kpsewhich utmin10.tfm)
UTGOTH10_TFM := $(shell kpsewhich utgoth10.tfm)
# 作成するファイル
MINCHO = Ryumin-Light FutoMinA101-Bold
GOTHIC = GothicBBB-Medium FutoGoB101-Bold Jun101-Light
MINCHO_H = $(addprefix u-,$(addsuffix -H,$(MINCHO)))
MINCHO_J = $(addprefix u-,$(addsuffix -J,$(MINCHO)))
MINCHO_V = $(addprefix u-,$(addsuffix -V,$(MINCHO)))
GOTHIC_H = $(addprefix u-,$(addsuffix -H,$(GOTHIC)))
GOTHIC_J = $(addprefix u-,$(addsuffix -J,$(GOTHIC)))
GOTHIC_V = $(addprefix u-,$(addsuffix -V,$(GOTHIC)))
MINCHO_H_TFM = $(addsuffix .tfm,$(MINCHO_H))
MINCHO_J_TFM = $(addsuffix .tfm,$(MINCHO_J))
MINCHO_V_TFM = $(addsuffix .tfm,$(MINCHO_V))
GOTHIC_H_TFM = $(addsuffix .tfm,$(GOTHIC_H))
GOTHIC_J_TFM = $(addsuffix .tfm,$(GOTHIC_J))
GOTHIC_V_TFM = $(addsuffix .tfm,$(GOTHIC_V))
MINCHO_TFM = $(MINCHO_H_TFM) $(MINCHO_J_TFM) $(MINCHO_V_TFM)
GOTHIC_TFM = $(GOTHIC_H_TFM) $(GOTHIC_J_TFM) $(GOTHIC_V_TFM)
MORISAWA_TFM = $(MINCHO_TFM) $(GOTHIC_TFM)
MINCHO_H_VF = $(addsuffix .vf,$(MINCHO_H))
MINCHO_J_VF = $(addsuffix .vf,$(MINCHO_J))
MINCHO_V_VF = $(addsuffix .vf,$(MINCHO_V))
GOTHIC_H_VF = $(addsuffix .vf,$(GOTHIC_H))
GOTHIC_J_VF = $(addsuffix .vf,$(GOTHIC_J))
GOTHIC_V_VF = $(addsuffix .vf,$(GOTHIC_V))
MINCHO_VF = $(MINCHO_H_VF) $(MINCHO_J_VF) $(MINCHO_V_VF)
GOTHIC_VF = $(GOTHIC_H_VF) $(GOTHIC_J_VF) $(GOTHIC_V_VF)
MORISAWA_VF = $(MINCHO_VF) $(GOTHIC_VF)
MORISAWA_PSTFM := $(addsuffix .tfm,$(foreach name, \
$(MINCHO_J) $(MINCHO_V) $(GOTHIC_J) $(GOTHIC_V), \
$(shell ./mapping.sh $(name))))
# upTeX 用の tfm を作る(単純にコピーするだけ)
$(MINCHO_H_TFM) : %.tfm: $(UMIN10_TFM)
$(CP) $< $@
$(MINCHO_J_TFM) : %.tfm: $(UJIS_TFM)
$(CP) $< $@
$(MINCHO_V_TFM) : %.tfm: $(UTMIN10_TFM)
$(CP) $< $@
$(GOTHIC_H_TFM): %.tfm: $(UGOTH10_TFM)
$(CP) $< $@
$(GOTHIC_J_TFM): %.tfm: $(UJISG_TFM)
$(CP) $< $@
$(GOTHIC_V_TFM): %.tfm: $(UTGOTH10_TFM)
$(CP) $< $@
# upTeX 用の vf を作る(pstfm もできる)
# makejvf のオプションは
# https://github.com/texjporg/uptex-fonts/blob/master/00uptex-0.30/source/Makefile
# を参考にして設定したもの
$(MINCHO_H_VF) $(MINCHO_J_VF): %.vf: %.tfm
$(MAKEJVF) -i -u jis -J rml $< $(shell ./mapping.sh $*)
$(GOTHIC_H_VF) $(GOTHIC_J_VF): %.vf: %.tfm
$(MAKEJVF) -i -u jis -J gbm $< $(shell ./mapping.sh $*)
$(MINCHO_V_VF) $(GOTHIC_V_VF): %.vf: %.tfm
$(MAKEJVF) -i -u jis -m $< $(shell ./mapping.sh $*)
# pstfm
$(MORISAWA_PSTFM): $(MORISAWA_VF)
tfm: $(MORISAWA_TFM)
vf: $(MORISAWA_VF)
pstfm: $(MORISAWA_PSTFM)
install: tfm vf pstfm
$(INSTALL_DIR) $(MORISAWA_TFM_DEST_DIR)
$(INSTALL_FILE) $(MORISAWA_TFM) $(MORISAWA_PSTFM) \
$(MORISAWA_TFM_DEST_DIR)
$(INSTALL_DIR) $(MORISAWA_VF_DEST_DIR)
$(INSTALL_FILE) $(MORISAWA_VF) $(MORISAWA_VF_DEST_DIR)
clean:
$(RM_F) *~ $(MORISAWA_TFM) $(MORISAWA_VF) $(MORISAWA_PSTFM)
$(RM_F) rml.tfm gbm.tfm
#!/bin/sh
#
# upTeX 用 morisawa パッケージ互換 tfm, vf セット
# https://gist.github.com/trueroad/f71db83ff0781e677af674172f609266
#
# tfm, vf 名を引数にとって pstfm 名を出力するスクリプト
# 詳細は Makefile をご覧ください。
#
# Copyright (C) 2019 Masamichi Hosoda.
# All rights reserved.
#
# License: BSD-2-Clause
#
case "$1" in
"u-Ryumin-Light-H" | "u-Ryumin-Light-J")
echo "u-ryumin-l"
;;
"u-Ryumin-Light-V")
echo "u-ryumin-l-v"
;;
"u-GothicBBB-Medium-H" | "u-GothicBBB-Medium-J")
echo "u-gtbbb-m"
;;
"u-GothicBBB-Medium-V")
echo "u-gtbbb-m-v"
;;
"u-FutoMinA101-Bold-H" | "u-FutoMinA101-Bold-J")
echo "u-futomin-b"
;;
"u-FutoMinA101-Bold-V")
echo "u-futomin-b-v"
;;
"u-FutoGoB101-Bold-H" | "u-FutoGoB101-Bold-J")
echo "u-futogo-b"
;;
"u-FutoGoB101-Bold-V")
echo "u-futogo-b-v"
;;
"u-Jun101-Light-H" | "u-Jun101-Light-J")
echo "u-jun101-l"
;;
"u-Jun101-Light-V")
echo "u-jun101-l-v"
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment