OpenGLのサポート状況を確認する

HP Spectre x360のIntel Kabylake Refreshな環境で、NetBSD/amd64-currentを使うと OpenGLも有効になって、Blenderも使えて嬉しく思っていたのだが、 OpenGLのサポートするバージョンを確認する方法が分かっていなかった。

Debian wikiのMesaのページを 見ていたら書かれていた。 glxinfoコマンドは、pkgsrc/graphics/MesaDemosから glxinfo_mesademosを使う。

$ glxinfo_mesademos|grep "OpenGL core profile version string"
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.0
以上のようだと、OpenGL 4.5に対応している。

ffmpegのx11grabデータソースから30 fpsで取得する

自分の作業を記録しておくのに、スクリーンの内容をビデオとしてキャプチャーしておきたいと思った。 しかし、今使用しているHP Spectre x360 qe019TUは、USB Type-Cによる ビデオ出力はあるはずだが、NetBSDでは動かない。 調べてみると、ffmpegのx11grabデータソースでビデオキャプチャーできることが分かった。 とりあえず、以下のようにすると、30 fpsでMP4ビデオにできた。

$ ffmpeg4 -f x11grab -r 30 -s 1920x1080 -i :0.0+0,24 -vcodec libx264 capture.mp4

ここで、ffmpeg4コマンドは、pkgsrc/multimedia/ffmpeg4xcbオプションを有効にしてビルドしたバージョン4.1である。

mupdfでPDFファイルをPostScriptファイルに変換する

PDFファイルをNetBSD上で読むのに、長らくMotifベースのxpdf (pkgsrc/print/xpdf)を使ってきたが、文字化けしてしまうPDFファイルがあるのが悩みだった。 思い切ってmupdf (pkgsrc/print/mupdf)に乗り換えてみた。 これまでにmupdfで文字化けしてしまうPDFファイルには遭遇していない。

PostScriptプリンターで印刷するには、PDFファイルからPostScriptファイルに変換する必要がある。 mupdfでもPDFファイルをPostScriptファイルに変換できるはずと思って試してみた。 具体的には、pkgsrc/print/mupdfパッケージに含まれているmutoolコマンドが使用できた。 実際の操作は以下のようである。

$ mutool convert -o output.ps input.pdf
ビューアーとコンバーターの挙動が違うとトラブルの元なので、この方法を使って行きたい。

pkgsrcのpLaTeX (pkgsrc/print-platex)で作ったdviファイルをdvipdfmxでPDFファイルに変換する

本当に久しぶりにLaTeXでPDFファイルを作成したくなって、pkgsrcに日本語対応のLaTeXがあるか探してみたところ、 pkgsrc/print/tex-platexというのが 収録されていた。 pkgsrc/print/tex-jsclassesを使ってDVIファイルを作ってみて、pkgsrc/print/dvipdfmxで PDFファイルに変換しようとすると、以下のようなエラーになってPDFファイルを生成できない。

current-situation-of-coal-industry-in-the-world.dvi -> current-situation-of-coal-industry-in-the-world.pdf
[1
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+359/600 --dpi 959 rml
/usr/pkg/bin/mktexpk: gsftopk: not found
mktexpk: don't know how to create bitmap font for rml.
mktexpk: perhaps rml is missing from the map file.
kpathsea: Appending font creation commands to missfont.log.

dvipdfmx:warning: Could not locate a virtual/physical font for TFM "rml".
dvipdfmx:warning: >> There are no valid font mapping entry for this font.
dvipdfmx:warning: >> Font file name "rml" was assumed but failed to locate that font.
dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...

Output file removed.
私はRyumin-LightとGothicBBB-Mediumは、フォントを埋め込まないようにしたいので、以下のパッチのように f ptex-noEmbed.mapの行を追加する必要がある。
--- /usr/pkg/etc/texmf/dvipdfmx/dvipdfmx.cfg.orig       2018-11-08 14:28:42.047918996 +0000
+++ /usr/pkg/etc/texmf/dvipdfmx/dvipdfmx.cfg
@@ -223,6 +223,7 @@ f kanjix.map
 % minimal example for Chinese and Korean users
 % improvements please to tex-live@tug.org
 f ckx.map
+f ptex-noEmbed.map

 %% Include other config files
 %i 
ここで、tex-platex-2018dvipdfmx-20180217を使用している。

ちなみに、tex-platex-2018では、入力の.texファイルをUTF-8で書くことが可能だった。

インストールされていないOpenTypeやTrueTypeのフォントのプレビュー方法

以前からNetBSDとX.orgの環境で、OpenTypeやTrueTypeのフォントをfontconfigやXで使うようにしてからではなく、 プレビューしたいと考えていた。 Linux用のfont viewerを検索しても、依存関係が複雑だったり、利用できるようにしてからしか...