FontForgeを使用したOTF→TTFのフォント変換で一部の文字が行方不明になる件の対応メモ

OTFフォントは内部にグリフの参照テーブルを持っています。
フォントを扱うソフトによっては編集を開始する際・変換を行う際・保存設定によってはその情報が欠けることがあり、保存したフォントファイルを使用するとその文字が表示できなくなることが(割と)あります。
FontForgeでOTFをTTFに変換する際などが顕著で、OTEditでもグリフが抜け落ちるものができるものがあります。
cidmapでどうにかなりそうなのですが、情報にたどり着けなかったので。
とりあえずアスキー文字を中心に、拡張文字などは対象外にします。
キリがないので。

結局は編集前のグリフと比較しながらコピーするなどで補完するわけですが、その場合のコード変換表をメモしておこうかと。
スクリプトを組むこともできるんでしょうけど、やり方不明なので手動のほうが確実で速いです。
以下は「源ノ角ゴシック」の場合、フォントによっては影響が小さいものもあるし、大きいものもあるはずです。
フォントの造り次第。

<必須>
「-」 002D HYPHEN-MINUS ※2011参照
「_」 005F LOW LINE
「`」 0060 GRAVE ASSENT
「~」 007E TILDE ※223C参照
「−」 2212 MINUS SIGN ※FF0D
「∣」 2223 DIVIDES

<あったほうがいい・便利かも・機種依存?>
「¯」 00AF MACRON
「·」 00B7 MIDDLE DOT ※2219参照
「¸」 00B8 CEDILLA
「‘」 2018 LEFT SINGLE QUOTATION MARK
「’」 2019 RIGHT SINGLE QUOTATION MARK
「⃝」 20DD COMBINING ENCLOSING CIRCLE
「〜」 301C WAVE DASH ※FF5E参照

<不要かも>
「⁂」 2042 ASTERISM
「⁇」 2047 DOUBLE QUESTION MARK
「⁈」 2048 QUESTION EXCLAMATION MARK
「⁑」 2051 TWO ASTERISK ALIGNED VETICALLY
「₩」 20A9 WON SIGN
「₫」 20AB DON SIGN
「‧」 2027 INVERTED OHM SIGN
「℮」 212E ESTIMATED SYMBOL
「↕」 2195 UP DOWM ARROW
「↸」 21B8 NORTH WEST ARROW TO LONG BAR
「↹」 21B9 LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
「⇵」 21F5 DOWNWARDS ARROW LEFTWORDS OF UPWARDS ARROW
「∆」 2206 INCREMENT
「∉」 2209 NOT AN ELEMENT OF
「∏」 220F N-ARY PRODUCT
「∥」 2225 PARALLEL TO
「∦」 2226 NOT PARALLEL TO
「∶」 2236 RATIO
「∷」 2237 PROPORTION
「≅」 2245 APPROXIMATELY EQUAL TO
「≈」 2248 ALMOST EQUAL TO
「≌」 224C ALL EQUAL TO
「≢」 2262 NOT IDENTICAL TO
「≤」 2264 LESS-THAN OR EQUAL TO
「≥」 2265 GREATER-THAN OR EQUAL TO
「ゔ」 3094 HIRAGANA LETTER VU
「ゕ」 3095 HIRAGANA LETTER SMALL KA
「ゖ」 3096 HIRAGANA LETTER SMALL KE
「」3099 COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK ※前の文字に濁点(てんてん)をつける特殊文字
「」309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK ※前の文字に半濁点(まる)を追加する特殊文字

3016 ~ 301B
301D ~ 3020

※源ノ角ゴシックBOLD OTF→OTEDIT変換時に抜け落ちるグリフ 2265まで確認

…追記中

POAS新機能となる数量実装の実地テストを開始

新しく実装される数量の概念を導入します。
印刷物において同一仕様で複数件の注文をする場合、これまでは商品を複製することで対応していましたが、カートに入れた後に同じ仕様になっているか確認しにくかったこと、異なる仕様で注文してしまって後から判明することがあるなどの問題を解消するためのものです。

使い方としてはカートに入れる際に数量を指定、または入れた後に数量を変更することで、その数量に応じた入稿スロットが用意されます。
例えば名刺100枚を3名分注文する場合、これまでは名刺100枚の商品を3点カートに追加してそれぞれに入稿していましたが、実装後には名刺100枚を数量3件カートに登録し3名分をそれぞれの入稿スロットに登録することになります。
これで3名分の名刺100枚は同じ仕様であると簡単に確認することができ、直感的に注文ができるようになるわけです。

この数量機能は物販にも有効活用される予定で、今後に実装が予定されています。
この新機能は開発環境での実装を完了し、実地テストを開始しています。
不具合を解消しつつ、一定の水準に達した時点で全てのシステムを更新します。
なお、この更新は運営側の都合で行われますので、事前の日時の告知は行いません。

やっと1台のサーバーにSSLサイトを複数設置させられた

Apacheの設定の話です。
NSIとかSANsで1つのSSL証明で複数のSSLサイトを認証させる場合。
ルートに設定を書いても駄目で、仮想ホストごとにSSLの設定を書くべし。
細かい説明はなしで、とりあえずメモ程度に
以下のコードを繰り返し書くだけでいい。

とにかく
NameVirtualHost *:80
NameVirtualHost *:443
を忘れると思い通りに動かない
最低限の設定なので、実際にはもっとしっかり書くこと

httpd.conf

NameVirtualHost *:80
NameVirtualHost *:443

#---- www1.exsample.com
<VirtualHost *:80>
    ServerName a.exsample.com
    RewriteEngine On
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
</VirtualHost>
<VirtualHost *:443>
    DocumentRoot /home/www/public_html
    ServerName www1.exsample.com

    #--- SSL
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/www1.exsample.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www1.exsample.com/privkey.pem
    SSLCACertificateFile /etc/letsencrypt/live/www1.exsample.com/chain.pem
</VirtualHost>
#---- /www1.exsample.com

Let’s Encrypt の複数ドメイン対応SSL導入に手こずる

SANs証明とかいうやつで、1つの証明書で複数のドメインに対応させるやつです。
細かいことは省きます。

やりたかったこと
複数のホスト名で、1つのシステムにアクセスする
システムでホスト名を判別しているのでサーバー側ではイジる必要がない

まずはSSL化したいホスト名でアクセスできるようにApacheを設定して、1つ目のサーバーのドキュメントルート下の「/.well-known/acme-challenge/」にファイル書き込めるようにアクセス権を設定、さらにAliasを張って他のホスト名からも見られるようにする
※-dで指定するけど今回はパス

./certbot-auto certonly –webroot -w /home/www/public_html/ -d san1.exsample.com -d san2.exsample.com

重要なのは、ホスト名ごとに仮想サーバーを設定すること。別名ではcertbotが認識してくれない
※させる方法もあるのかな?

覚えておくこと
導入できたSSLは1つ目のホスト名で登録される
SSL証明を見るとDNS設定で同居しているホスト名が見えるので、バレては困る場合は使えない(IPでもわかるがサーバーが同じだからと初留者が同じとは限らないが、SSLでは所有者が同じでないと同居できない)

これでVPSを纏めることができる、かなり節約になるかな。
余裕できたらサイトを量産するぞ~

POASの新機能コンタクトボード実地テスト開始

印刷通販管理システム「POAS」に、新しくコンタクトボード機能が実装されます。
これはメールによる問い合わせをアカウントごとの掲示板に置き換えるもので、管理がしやすくなることを目指しています。

開発はすでに大部分が完了しており、一部のサイトに導入し実際にテストをはじめました。
この中で細かな調整や問題の洗い出しなどを経て、すべてのシステムに導入することとなります。

今しばらくお待ち下さい。

ネット版印鑑タワー「あった印房」開店

少し前に開店しました、Yahooストア2店目です。
あった印房」日本人の名字をあちこちからかき集めた、最大級のデータベースを構築し、それを認印で販売するコンセプトストアです。
現在9万7千件弱の苗字を登録しており、もし未登録のものがあれば300円の値引きも実施しています。
気持ち的にはタダにしたかったのですが、でたらめなもので注文されると困るので、値引きにしました。
証明できるものがアレば無料でよかったのですけどね。

日本人の名字の他に、架空のものも登録してあります。
マンガ(アニメ)の登用人物・ペンネーム・駅名・地名など

もし気になったらいろいろと検索してみてください。
もし未登録のものがあれば是非情報をお寄せください。
当然、お使いになるのであればお安くなります。

あと、
安室安室

降谷降谷
もありますので、今話題のコナンが好きな方にも対応できます。
と、本当はもう少し前に動く予定だったのですが、すこし遅れたのでブームには乗り遅れた感じではあります。

ひらがなをローマ字に変換したい

表題通り、ひらがなをローマ字に変換する必要がありました。
PerlやPHPのライブラリを探しましたが、コレだというものが見つかりませんでした。
変換と行っても、一度変換できればそれでいいので、大掛かりなものは必要ありません。
とりあえず10万件弱のレコードを変換してくれればいいだけなのです。

ということで、EXCELのマクロを探していましたが、アドインで実現できるらしいことを発見。
「ヘボン式ローマ字変換アドイン」
https://www.vector.co.jp/soft/data/business/se493167.html
使い方は簡単
=Hebon(A1)

これでなんとかなりそうです。
でめたし、でめたし。

横浜商工会の新会員交流会で

横浜商工会に入りまして、新会員の交流会なるものが有りましたので参加してきました。
石川町の駅から中華街を横切って会場となるビルまでカンカン照りの中、大量の汗を流しつつ水分も補給し続け移動。
若干脱水気味だったので、ライチソルト(?)に鶴瓶のミネラル麦茶と、気持ち多めに水分を補給していたわけですが、いざ会場に入ると空調が低めで徐々に寒気が。
急激な外気温の変化にはとても打たれ弱いのです。

一部の講演は耐えたのですが、二部の交流会に入り体も限界。
下った腹を我慢しながら、挨拶と乾杯の音頭を手ぶらで眺めるも、間もなく便所にGO!
とりあえず腸を空っぽにして戻ってみたものの特にやる気も起きず、8階から港を眺めるだけでした。
下手に飲み食いなんてしたらリバースする恐れもありましたからね。
今思えば、うまそうな飯とビールでした。
体調が良ければ名刺交換なんてそっちのけで食いまくってたかもしれません。

結局は商工会の人と同じ数だけ、新会員の名刺を獲得しただけで、何をしに行ったのか全くわからない半日でした。
取りえず帰りには、妻に頼まれた萬珍樓のシュウマイを買って帰りました。
家についたらストレスで晩飯までダウン、晩飯を食べた後もまたダウン。

慣れないことはするもんじゃないなぁと。
これからもちょくちょくあるみたいだけど、行く意味あるのかなぁ…
夏場は避けたほうがいいのかな、どうすればいいんだろ?