Home About
Apache FOP で日本語フォントを使用した fo を pdf に変換する

fop コマンドが既にあるとして、fo から pdf への変換は、 fop src.fo result.pdf するだけの話。 詳細は このページ を参照のこと。
しかし日本語文字列を含んだ fo を処理すると、日本語部分が意図通りには出力されない。 これを解消してみます。

こんにちは世界

» Read More
Part 2: テスト用に json を POST して json を返す ウェブサービスをつくる

デバッグのためのテストとして json を POST して json を返すウェブサービスを Micronaut でつくる話。

» Read More
Part 1: テスト用に json を返す ウェブサービスをつくる

デバッグのためのテストとして json を返すウェブサービスを Micronaut でつくる話。

» Read More
goldmark を使って markdown を HTMLに変換する mymark コマンドをつくった

hugo という静的サイトジェネレータを使いはじめて、 急にこのブログサイトのオレオレ静的サイトジェネレータがみすぼらしく感じはじめた。 ならば、このブログサイトも hugo で構築すればいいじゃないか、と思ったのだが、 hugo 用の気に入ったテーマが見つからない。

hugo で使うコンテンツは markdown で記述するのだが、それをHTMLに変換するエンジンには goldmark という golang 製の markdown パーサーが使われているという。 ならば、変換部分だけは goldmark を使うことにして、残りのサイト構築部分は既存のものを流用しつつ 良い感じにすればいいんじゃないの?ということで、オレオレサイトジェネレータの刷新がはじまった。

その顛末は長いので割愛するが、肝心の markdown を HTML に変換する goldmark がすばらしく便利なので、 そこだけ紹介します。

» Read More
Wnn7egg から tamago-tsunagi に変更, Emacs 26.3 日本語入力

Wnn8 server + Wnn7egg + Emacs の組合わせで日本語入力しているが、なんか変換結果を学習してくれないのです。 単に自分が設定を間違えているだけだと思う。 しかし、少し調べたくらいでは解決方法がわからなかったので、 試しに Wnn7egg に代えて tamago-tsunagi を使うことにした。 インストールしてみると、問題なく使える。目的の変換結果の学習もしてくれる。 とりあえず当初の目的は果たしたので、しばらくは tamago-tsunagi を使い様子をみよう。

» Read More
ついに Parallels Desktop 16 が M1 Mac に正式対応したので試した

とは言っても、M1 Mac ではなく、手元にある Intel Macbook Air にまずはお試しでインストール。

Parallels Desktop 16 for Mac のトライアルをダウンロードしようとすると、 ゴールデンウィーク向けのプロモーションとかで 25% OFF クーポンのオファーがあり、 もうこれ買うしかないのか、とか思いつつも、まずはトライアル。

インストールは簡単で、Ubuntu Desktop のインストールも、iso イメージファイルを指定するだけで あとはいつも通りです。 ただし、Parallels のアカウントを作成しないと試すことはできません。 これは少し煩わしく感じますが仕方ありません。

» Read More
GA-F2A88XN-WIFI にインストールした Ubutnu 20.04 Desktop の bluetooth (7260HMW) がうまく作動しない問題の解決

こんな古いマザーボードを今の使っている人はほとんどいないと思うが、とりえあず備忘録。

» Read More
歯車っぽい設定アイコン画像をつくる / 円周上の点を計算して図形を描画

歯車風の見た目の 設定アイコン をSVGで描画しようとおもった。 歯車の図形は円周上の点を計算してそれをつなぐとうまく描画できそうなので、 円周上の点の計算とそれらを組み合わせて図形をSVG描画する方法についてコードをまとめておきます。

settings_icon

» Read More
Amazon Music から YouTube Music (Premium) への乗り換え検討中

もう数年前から音楽の聴き放題ストリーミングサービスは Amazon Music 一本で來た。 もともとは、聴きたい曲で、Amazon Music で聴けない曲が YouTube Music にあったので、フリートライアルをはじめたのだが YouTube Music がすばらしすぎるので乗り換えるかも。

» Read More
NUC に FreeBSD 12.2 をインストールして それを Wnn8 サーバにした

少し前に Wnn7 + VirtualBox + FreeBSD 10.4 の環境をつくった。 しかし良く調べてみると Wnn8 を使えば、あんな苦労はしないで、最新の FreeBSD 12.2 に普通インストールできるらしい。 しかも Wnn8 で wnn7egg がそのまま使える。さらに Wnn8 は今でも購入することができる。

ならばということで、NUC ( NUC6CAYH ) を用意して Wnn8 サーバをつくることにする。 今回はその作業の覚え書きです。

» Read More
Android Studio を使わない ライブラリプロジェクトで Robolectric テストをする一番簡単なプロジェクト例

諸事情により Android Studio を使わないでライブラリはつくるようにしています。 その場合の Junit4 と Robolectric を使った 一番簡単なテストの書き方を覚え書きとしてここに残します。

更新 2022-10-07 : このエントリーの内容は古くなったので、そこそこ最近の環境にあわせたプロジェクトを作成しました。 こちらのエントリー(現時点での Android Robolectric テスト、一番簡単なプロジェクト例)をご覧ください。

» Read More
org.json.JSONObject で JSON データを読むときに欠落しているパラメータを上手に扱いたい

JSONは柔軟にデータを表現できて便利だが、 org.json.JSONObject を使ってプログラムでそれを読むときに、 プログラムからみて想定外のデータ構造(たとえば、キー name に対する値があるはずだが、無い場合もある、のような場合)に 例外が発生してプログラムがそこでストップすることになる。 それは困るので、例外をキャッチして、デフォルト値を代わりに適用するなどというコードを書くわけだが、 そのようなコードは非常に読みづらい。これをなんとかしてスマートに書く方法はないのか? ということであれこれ試行錯誤した結果をここに書き残す。

» Read More
Wnn7 の FreeBSD 用アップデートを適用する

Wnn7 を macOS Catalina + emacs 26.3 nox で使う, VirtualBox + FreeBSD 10.4 を利用 では 製品版CDROM の内容でインストールを進めていましたが、 こちらから FreeBSD アップデートパッケージ が配布されていることが判明。 なるべく最新のものを使いたいので、このアップデートを適用してみます。

» Read More
Wnn7 を macOS Catalina + emacs 26.3 nox で使う, VirtualBox + FreeBSD 10.4 を利用

随分前には ThinkPad X230 + Ubuntu + VirtualBox + Vine Linux + Wnn7 の組合わせで、運用していたこともあったが Wnn7 のためだけに VirtualBox をバックグラウンドで起動しておくのが負担になっていつしか使わなくなってしまっていた。

しかし、M1 chip 搭載の Mac が登場したことで、バッテリー効率が飛躍的に良くなったらしい。 それならば M1 MacBook Air などで、Wnn7 を常用する環境つくることできるのでは? と思いリサーチを始めた。

» Read More
VirtualBox のゲストOSイメージのファイルサイズを減らす

検索すれば Windows がゲストOSの場合などの説明はあるのですが、 ゲストOSが macOS の場合の説明を見つけるのに苦労したので、ここに備忘用に書きます。

» Read More
オブジェクト指向的な JavaScript

先日 closure を使った オブジェクト指向的なコードを JavaScript で書くというデモをする機会があり、これはその覚書です。

» Read More
Chromebook Spin 13 レビュー

アメリカアマゾンから購入したものの到着してみたら外箱がぶっ壊れていて……という 幸先が悪かった Spin 13 ですが、初期不良の問題(キーボードの不具合)が解消してからは安定して利用できています。 しばらくは、また不具合が再発しやしないかとおっかなびっくり使っていたのですが、どうやら大丈夫のようです。

chromebook-spin-13-w640

» Read More
Macの標準の日本語入力をやめて Google 日本語入力を試しはじめる

Macの日本語入力といえば「ことえり」だと思っていたのですが、Catalina から「日本語入力プログラム」と呼称されているようですね。趣がない。 その「日本語入力プログラム」が最近とても気に入らない。自分が期待した変換がこない感がすごい。理由はわからない。 そこで、Catalinaを機に使わなくなっていたATOKに戻ろうと思ったが、Macユーザはもはやサブスクリプションしか選択がなくなっていた。 毎日使う日本語入力なので、月額330円はアリといえばアリなのだが、どうしようかと思って調べてみると、 Macでも Google 日本語入力が使えることを知る。そうなんだ。 それなら、ATOKに行く前に先に Google 日本語入力を試すことにする。

» Read More
V Corn をテスト導入

ここしばらくはずっと Sarasa を使ってきましたが、偶然 V Corn を使う機会に恵まれ、これを試験的に使いはじめました。

v-corn

» Read More
ExtendScript で 指定したフォルダ以下のフォルダ全部を探すには その2 (もっと単純に)

ExtendScript で 指定したフォルダ以下のフォルダ全部を探すには その1 よりもっとシンプルに書く方法。 フォルダを順に辿りながら、フォルダを見つけたら callback する方式。

» Read More
ExtendScript で 指定したフォルダ以下のフォルダ全部を探すには その1

指定したフォルダ以下のサブフォルダ、サブサブフォルダ...を含めてすべてのフォルダを探す、というコードを書いてみた。 ExtendScript では each や map, reduce などが使えないので、実装は少し面倒でした。

» Read More
Chromebook Spin 512 を導入

数カ月前から Acer の Chromebook Spin 512 を購入しようかと悩んで今回のアマゾンプライムデーでようやく踏ん切りがついたというか。 とうとう入手しました。 ずっと日常的にペン入力できる Chromebook を探していて、Spin 13 が手元にあるのですが、あれは日常的にペン入力するには筐体が少しばかり巨大すぎました。 Android Studio 用の開発マシンとしては申し分ないのですが。

» Read More
Chromebook で AsciiDoc をビルドする環境をつくる

執筆用のChromebookにAsciiDocでコンテンツをビルドする環境をつくったときの備忘録です。 HTMLに変換するだけならわけないのですが、PDFに変換しようとすると日本語が文字化けしてしまう問題がありました。 ググってもかなり苦労したのと、Chromebook の Linux(Crostini) 環境での構築説明が見つからなかったのでメモを残します。 ChromeOS バージョンは Version 86.0.4240.77 (Official Build) (64-bit) です。

» Read More
macOS のターミナルでよく使う open コマンドを Chromebook の Terminal でも使いたい

macOS のターミナルでファイルの内容を閲覧するときに使う open コマンド。 これを Chromebook の Linux でも使うには、 open コマンドの代わりに xdg-open を使えばOK! と思っていたら、そうでもなかった。

» Read More
VSCode と ExtendScript Debugger の使い方 覚書

VSCode での ExtendScript 実行は、 Adobe Script Runner を使えば簡単ですが、 これで実行したときにエラーがあってもその内容が表示されません。 これでは開発には困るので、 代わりに使うのが ExtendScript Debugger です。

» Read More
回線を ADSL から Rakuten UN-LIMIT に乗り換え(暫定)

ADSLサービスがそろそろ終わりを迎えるので、いよいよ何かに乗り換えなければならない。 MVNOのSIM と ATERM の据え置きルータ(PA-HT100LN)を使った事前の調査で ここの環境では LTE の方が ADSL より速いことはわかっていた。 今年のはじめ頃には Fuji Wifi あたりに乗り換えて、しばらく様子を見ようなどと考えていたが、 コロナ禍により Fuji Wifi は契約できず。契約できるようになった頃にはお得なキャンペーンは終了してしまっていた。

» Read More
SVGコマンドを android.graphics.Path に変換

以前に書いた Kotlin による簡易SVG parser の実装実験 を使って自前のAndroidアプリのアイコン描画などを行っていたのだが、 そんなの標準に提供されているライブラリで対処できるだろう、と思って調べたところ対処できたのでメモしておきます。

» Read More
Java で JSON を diff したい → JSONassert が便利

Java を使って json データの差分を調べる必要が生じたので、便利なツールを探した。 Stackoverflow に JSONassert がよい、的な情報があったので、使ってみました。 とても便利だったので、紹介します。

» Read More
Groovy で collectWithIndex 的な機能を実現する

Groovy で java.util.Collection コレクション に対するメソッドとして eacheachWithIndex があるので、 同じように collect にも collectWithIndex があるのかと思ったらない。
そこでそれを実現する方法を考えてみた。

» Read More
再帰の復習

再帰のコードを書こうと思ったがわからなくなったので、 Groovy で復習した。

» Read More
nginxで複数ドメイン運用と Let's encrypt 引越し&設定覚書

2つのVPSを使って、それぞれに一つのドメインをSSL/TLSサーバ証明書を入れて運用していたが、 諸事情により、これを一つにまとめたのでその時の手順の覚書です。 すごく面倒になると思って、先延ばしにしてきましたが、やってみたら簡単でした。

» Read More
Elm, Hello, World!

Elm で Hello, World! したので、備忘録としてブログへ書き残しておきます.

» Read More
Chromebook Spin 13 購入顛末 本当は怖い 米アマゾンからの個人輸入

Chromebook 単体 で Androidアプリ開発が完結できる ことがわかったので、 Android Studio が作動するスペックのChromebook を導入することにしました。 いくつか候補はありますが、 お絵描き系アプリをつくっているので、 スタイラス対応で、海外では評判が高いらしい Acer Chromebook Spin 13 にしました。

» Read More
Chromebook に Androidアプリをサイドロードする、非デベロッパーモード

Chromebook に Android アプリを入れるには Google Play Store 経由が普通ですが、 開発中のアプリを ストア経由でなく直接 adb でインストールできないものかと思って 調べたところ普通にできることが判明。 今まで、Chromebook 自体をデベロッパーモードに変えないとそういうことができないと思っていたので これはうれしい。

» Read More
LAMY ローラーボール再び、ただし中身は サラサ というか MUJIのサラサ互換替え芯

uni-ball シグノ vs LAMY safari に書いた通り、かつては、LAMYのローラーボールに LM-63 のアダプタを使って 替え芯は スタイルフィット ( UMR-109 ) または ZEBRA SARASA ( NJK-0.3 ) を使っていたのだが、 書き味がイマイチなのと、インク容量が少なくすぐなくなってしまう上に、価格が割り高なので、使うのをやめてしまっていた。

lamy-1

» Read More
新しいサラサグランド 2020

新しくなった金属軸のサラサグランドを買いました(ダークグレー)。 古いサラサグランドを持っているのですが(ブラック)、 次第に気に入って頻繁に使うようになったので、もう一つ購入することに。

sarasa-grand-2020

» Read More
帰ってきた iPhone SE (2016)

世間では iPhone SE 2020 が先月発売されたばかりですが、 iPhone SE (2016) のバッテリーを交換して使いはじめました。

iphone-se-2016

» Read More
Rhino で js を実行中にファイルにログを書き出したい

Java から evaluateString する形で javascript コードを実行する場合に logger.log() で指定したファイルにログを書き出したい、という場合の解決方法.

» Read More
Rhino で実行する javascript をコンパイルしてから使う

いままで Javaから javascript を実行するのに、 evaluateString ばかり使っていたが、事前にこれをコンパイルして使うことができるらしいので、試してみた。

» Read More
改良版) Rhino を使って Java から JavaScript を実行する

Rhino を使って Java から JavaScript を実行する から、さらにあれこれ試していて多少進捗があったので、 現在までに得た見地をまとめます。

» Read More
Mac の sed を GNU の sed に入れ替えよう

MacBook Air 2020 へ作業環境を移行しつつあるのだが、sed で躓いてしまった。 なんか作動がいつもと違うのだが・・・と思ったら Mac の sed と Linux の sed は振る舞いが違うのだった。 古い Mac では、GNU sed に入れ替えて使っていたのだがそんなことはすっかり忘れていた。

» Read More
Rhino で console.log() したい

Java から evaluateString する形で javascript コードを実行する場合に Node.js のように console.log() したい、という場合の解決方法.

» Read More
macOS Catalina に emacs をソースからインストール

Mac は Catalina から emacs がインストールされなくなった。 普通は homebrew などからインストールすればよい話だと思うが、 emacs のためだけに homebrew を入れるのもいやだったので、 今回、ソースからインストールしてみた。 特に難しいことはないのだが、備忘録としてシェアします。

» Read More
Node.js で XML文書をパース

大量のXML文書から InDesign 文書を生成する必要が生じたので、Node.js での XMLパース方法をメモ。

» Read More
java.util.Timer を使って、連続で発生するイベントが小休止のときを見計らって処理する

手書きのタブレット向けアプリで、ペンの入力が連続して発生するのだが、そのたびに保存処理を行うと作動が重くなる。 そこで、ちょっと入力が止んだそのスキを見計らって、保存処理を実行するようにしたい。 そのための java.util.Timer と TimerTask の使い方のメモ。
例によってコードはすべて Groovy です。

» Read More
MacBook Air 2020 ついにシザー式キーボードが搭載

シザー式キーボードが MacBook Air に来たら買おうと決めていたので、今回は発売されてすぐにオーダーしました。 まだ数日しか使用していませんが、このキーボードは(今のところ)気に入っています。

macbook-air-2020-w360

» Read More
Node.js で 指定されたディレクトリ以下にある InDesign ファイルを サブディレクトリを含めてすべて取得

別に対象が InDesign ファイルに限った話ではないが、再帰的にディレクトリを検索して、すべての InDesign ファイルリストをつくる、 という必要が生じたので備忘録として書き残します. 基本的には 再帰を使って木構造をリストに変換する JavaScript で書いたのと同じです.

» Read More
Android Jetpack: RecyclerView を使った一番簡単なリストの改良:二列に表示

いまさらですが Jetpack によるUI構築編、その2。 前回 一番簡単なリストをつくりましたが、それを改良して、二列表示に変えます。

recyclerview-two-columns

» Read More
Android Jetpack: RecyclerView を使った一番簡単なリスト

いまさらですが Jetpack によるUI構築編、その1。 シンプルなリストを RecyclerView を使ってつくります。
これ Create a List with RecyclerView を参考にしました。

recyclerview

» Read More
Chromebook で PyGame 環境をつくって遊ぶ

今、「たのしくまなぶ Python ゲームプログラミング」を読みながら PyGame を試しているのですが、 ちょうどよいタイミングで Chrome OS が 80 にアップデートされて Crostini で Debian 10 Buster が使えるようになったため、 PyGame 環境の構築が簡単になりました。

この本には 環境構築については WindowsとMac用の説明しかないので、Chromebook(OS 80) + Crostini での環境構築方法をメモしておきます。

python-idle-with-shoot-the-fruit

» Read More
ブラウザのテキストエリアで Emacs キーバインド を使いたい

Firefox Quantum がリリースされた結果、 Emacs キーバインド を簡単に実現できる Firemacs が使えなくなって随分時間がたつ。 Firemacs がなくても macOS では、もともと Firefox だろうと Chrome だろうと、ブラウザのテキストエリアで Emacs キーバインド が使えるので、その点ではよいのだが、 普段 ChromeOS と macOS と両方を使うので、うっかり Chromebook (のブラウザのテキストエリア)で、 Ctrl + N を使おうものなら、新規ウインドウが開いて大変なことになる。 たいてい Ctrl + N って連打してしまうから、無駄にウインドウがたくさん開いて、すごくいやな気分になる。

» Read More
ADATA SSD SU650 が作動しない... 安物買いのなんとやら

Ubuntu 18.04 との組み合わせで問題発生。 現象としては、使いはじめてしばらくは問題ないが、大きなファイルの読み書きなどが連続で続くと、ファイルシステムが壊れてしまう。 詳しい理由までは調べていない。 SSDをHDDに変えて、他の条件はすべて同じにすると全く問題が生じないので、原因はSSDにある。 ただし、SU650 という製品が悪いのではなく、購入したこの製品の問題(初期不良ってことになる)かもしれない。 それから Windows10 なら問題がないとか。または、マザーボードとの組み合わせ問題?それから冷却が足りないとか。 でも、もうこのSSDのせいでこれ以上の時間を無駄にしたくないのであきらめることにした。

adata-ssd-2

» Read More
無印のデスクライトから Z light に乗り換え

無印良品 手元をてらすリビングライト が素敵 とか言っていたのですが、結局 Zライトに戻ることになりました。

zlight-zg4000

» Read More
消しゴム付きの S Pen 互換品を入手した話 / raytrektab 標準ペン

数少ない日本の Chromebook の情報源の一つ おふぃすかぶ 氏のページを拝見していたところ、なになに LAMY AL-star の EMR Pen があると。 これが S Pen を代用できるとのことで、そのあたりを調べてみると、AL-star EMR だけでなくいつくも出てくる:

raytrek-pen

» Read More
Uni-ball Signo から Zebra Sarasa Clip + MUJI さらさら描けるゲルインキボールペン への乗り換え顛末・・・からの高級?軸サラサグランド購入顛末まで

途中 LAMMYを使うこともあったものの 基本的に uni-ball Signo を気に入って使い続けてきた。 しかし、もっとたくさんの色を使いたいなどの不満がにわかに高まってきてオルタナティブを探す活動を開始。 その結果、現在のところ、替え芯は無印良品「さらさら描けるゲルインキボールペン」、ペン軸はZEBRAの「サラサクリップ」を使う形で落ち着いてきた。

sarasa-grand-black

» Read More
Node.js での 巨大なエクセルデータ読み込み

前回( Node.js での エクセルデータ読み込み )で、エクセルデータが簡単に扱えると思っていたが、 実践的なデータを使って前のコードで処理したところ、ハングアップしてしまい作動しない. よくコードを見てみると xlsx.utils.sheet_to_json として、エクセルデータ全体を json object に変換している. 推測ではあるがおそらくこれが原因であろう.

» Read More
Moleskine Weekly 2019-2020 ポケットサイズ

2019年は デニムのラージサイズのWeekly Dialy を使ってきましたが、 2020年用には結局ポケットサイズに戻しました.
デニムのカジュアルな感じもよい、 ラージサイズなのでたくさん書き込みができる、など それになりに気に入って使っていたのですが、 使用頻度で言えば併用していた ポケットサイズの moleskine classic notebook が圧倒的でした.

moleskine-classic-notebook-and-diary

» Read More
Node.js での エクセルデータ読み込み

カタログ系組版では、エクセルデータを起点としてカタログを組んでいく仕事があります。 いままではもっぱら Java / Groovy + POI を使って処理してきましたが、 Node.js でエクセルデータをパースできるか調べてみました。

» Read More
Pixelbook Go

Pixelbook Go が登場。

pixelbook-go

» Read More
Node.js と Jimp で画像をクロップする

ちょっとした画像操作に Groovy を使ってきたが、最近 Node.js を使う機会が増えてきたので、 Jimp を使って画像を操作する方法をメモしておきます.

» Read More
再帰を使って木構造をリストに変換する JavaScript

Adobe XD の ドキュメント構造は scenegraph.root をルートノードとした木構造として表現されています。
これらのノードをスクリプトから操作するには、この木構造をたどる必要があります。 いちいちたどるのは面倒なので、木構造からリストに変換することを考えることにします。

» Read More
Excelで 行を一行おきに合計したい、つまり奇数行または偶数行のみの値を足し合わせたい件

この問題をググってみると sumproduct 関数を使え、ということらしい。 あちこち見たのですが、結局一番わかりやすかったのが オフィシャルページの説明 SUMPRODUCT function です。

» Read More
Rhino で Java 側でつくった配列クラスを使う

カスタムオブジェクトを Java側でつくって JavaScript であれこれしたい場合で、 そのカスタムオブジェクトが配列的なクラスの場合 list[0] のようにアクセスしたときに意図した値を返す方法.

» Read More
Rhino を使って Java から JavaScript を実行する

今更な話題ですが 将来 nashorn (JEP 335: Deprecate the Nashorn JavaScript Engine ) が廃止になるらしい.
nashorn の代わりに Rhino で実行する方法を調査したのでメモします.

» Read More