2014-11-22

Status of 縦書き on Firefox

今週とある情報筋よりMozillaは縦書きのレイアウトに反対しているから実装しないと言っているという痛い噂が流れているという情報を耳にしたので、現状の話を書いておく。

元々の縦書き (CSS Writing Mode) のスペックにはいろいろ問題があって、例えば世の中のどの言語であっても存在しないレイアウトが規格として存在してた (これは後に削除) とか、縦中横の時の文字のレイアウト (90度回転するかどうかとか) が決まってなかったとか (これは後にunicode.orgでTR#50としてちゃんと定義される)。そんな感じでまだstableではないという判断をしてて、もう少しstableな仕様になった時に実装を始めようということで内々の人たちでは合意が取れてたって感じだった。すごく中途半端な仕様で実装を始めても、それはCSS Flexboxみたいに間違った利用をする人たちを増やすだけだからね!

ということだったんだけど、今年になってある程度stableになったという認識になっていて、最低限のところ (実際には writing-mode プロパティ) の実装は始めるということでPlatform Teamの今年の目標になってた。

この縦書きレイアウトの実装に関しては、Gecko 36の開発サイクルの中で開発が大きく進んで、Nightly Buildのみabout:configでlayout.css.vertical-text.enabledをtrueにすればwriting-modeプロパティで縦書きを指定可能になった。

もちろんcontenteditableを使えば、こんなHTMLで縦書き編集も可能。

<div contenteditable="true" style="writing-mode: vertical-lr;">
私の名前は中野です
</div>


仕様があっても仕様がstableじゃないと実装ってのは進まないものなんだよってこと。リリース版でも有効になればFirefox OSでも使えることになるよ。

2014-11-09

gcc 4.9でARMv8の暗号化命令を使うときのオプションメモ

gcc 4.9だと、arm_neon.hにAESE/AESMCとかに対応したvaeseq_u8などのintrinicが追加されているんだけど、これはデフォルトの設定ではコンパイル不可。

aarch64の場合は、-march=armv8-a+cryptoが必要。
aarch32 (arm 32bit)の場合は、-mfpu=crypto-neon-fp-armv8が必要

IntelのSSEみたく-mcryptoなんて感じは使えないので、メモっておく。