pukiwikiプラグイン/uni
表記、そんな感じのものを作ったので、一応公開しておきます。
ちなみに・・・こんなプラグインを使わなくても、直接参照を書いてもいいんですよ?(笑)
単に友瀬が忘れっぽいので、参照用の書式(&#xxx)みたいなのを忘れるので「言葉的に覚え/思い出しやすい」ようにプラグイン化しただけです。
プラグイン概要†
指定した文字に対応する「Unicodeのコードポイント」で指定する文字参照を出力するためのプラグインです。
大前提として、このプラグインは EUC環境でPukiwikiを動かしている方のためのものです:UTF環境ではこれを使う必要はないはずです。
難しいことは調べればいくらでも情報があると思いますが、簡単に言うと次のような感じ。
- Webサーバが使用している文字コード種類によっては、うまく扱えない文字がある。
- 例えば丸付き数字はEUCコードではサポートされていないので、EUCで書かれたWebページでは単純には扱えない(そういう文字を表示しようとすると「?」のように化ける)
- ブラウザが提供している「文字参照」という仕組みを使うことで、EUCのページもUTFコードを直接指定して文字を表示できる。
インストール方法†
- 本ページに添付されている下記ファイルをダウンロードし、uni.inc.php のファイル名でpukiwiki の pluginフォルダにおいてください。
使い方†
書式
&uni(<code>[,<code>][...]);
パラメータ†
- code: 表示したい文字指定。以下のパターンをサポートしています。
- 10進数指定。指定されたコードの文字を出力
- 16進数指定。指定されたコードの文字を出力
- o+数値( 0<x<50 )指定。指定された数字の丸付き文字
- a+数値(1〜9)指定。テンキー指定での矢印
- a+<n|e|w|s> 指定。N=北・上、E=東・右のような方角指定での矢印。ne/nw/se/sw の2文字指定で斜め指定可。
- 現状大文字・小文字の両方を受け付けていますが、「小文字指定」を仕様とします(将来なんらかの理由で大文字に別の意図を加えるかもしれません)
文字コードはいろいろな方法で調べることができると思います:以下、参考サイト。
https://dc.jikkyo.co.jp/common/jo/con-ksj4-022/utf16.html
使用例†
16進数指定†
&uni(x3004);
〄
10進数指定†
&uni(12342);
〶
丸付き数字†
&uni(o1);
①
テンキー方向の矢印†
&uni(a1);
↙
方角指定での矢印†
&uni(ane);
↗
複数文字を指定する例†
&uni(9312,9313,9314);
①②③
&uni(a2,a3,a6);
↓↘→
今後の拡張ネタ†
単純な文字コードだけだと暗記できないので、別の指定方法も提供したいところ。
例えば「o1」と書いたら「①」というような丸付き数字を出すとか。→ Ver0.11でサポート済。
ここまでで一応一段落。他にも何か頻用しそうな文字がでてきたら拡張しようかと思いますが、あんまりないんじゃないかな・・・
技術的な話†
ものすごく単純に、引数を解析して対応する参照式を出力するだけです。
10進・16進は完全に「&#」を付けるだけ。
o,a などは続く文字を判定して置き返しています。
補足というか†
意味論的には、pukiwiki自体の「default.ini.php」で実施している置換系と同じことでもあります。
あちらに埋め込むという選択もあるにはあるのですが、それよりはプラグインとして別パーツにしておいたほうがpukiwikiバージョンアップ時にらくちんかな、という打算もあります。
コメント†
ご意見などがあれば。

