2018年8月15日水曜日

Linuxのfont-familyの動作が謎過ぎる

以前書いた、2chのAAをOSに依存せず綺麗に表示するJavascript/CSSの設定方法 が、少し前は動いていた気がしたのだけど、LinuxのFirefox (ver.61) で動かなくなり、さらにChrome (ver.70〜?) でも動かなくなってしまった。
この記事は最初「UbuntuのFirefoxのfont-familyの動作が謎過ぎる」というタイトルでUbuntuのFirefoxだけの問題だったのですが、結構大きな問題になってきて無視できなくなってきたのでタイトルを変えました。


上記のページでは過去に以下のような指定を推奨していました。 LinuxではMS Pゴシックがないのでfont-familyを辿っていき、それなりに利用しやすく見やすい梅Pゴシックを指定しているのですが、 この指定は今のLinuxのChrome/Firefoxでは動きません。
# これは駄目
font-family: 'MS Pゴシック','MS PGothic','梅Pゴシック',Textar,sans-serif;

ではどうすれば良いかと言うと、MS Pゴシックの記述をなくして梅Pゴシックだけにすればとりあえずは動いた。 しかしこの動作は明らかにおかしい。 フォントがなかった時にはfont-familyのリストを探索してくれないとOS間の差を吸収できなくなってしまうため、font-familyの存在意義がない。 なので私はFirefoxはフォントが見つからなかった時の処理が間違っていると思う。
# これは動く
font-family: '梅Pゴシック',Textar,sans-serif;
font-family: '梅Pゴシック','MS Pゴシック','MS PGothic',Textar,sans-serif;


主に自分のためだけど、ズレが発生するAAを以下に貼っておきます。 このAAがズレなくなれば問題が直った事の確認ができる。




嘆いていても仕方ないので、対応方法を考えてみます。 例えば以下のようにWindows以外ならfont-familyを変更してしまうのが良いかも知れません。 いっその事、すべての設定でも梅Pゴシックを先頭にする手もありそうですが、 梅Pゴシックは完璧なAAフォントではなく若干ズレる時があるので、部分的な適用のほうが良いかなと。 JavaScriptを介してしまうためレンダリングが遅くなってしまいますが、仕方ない。
var aa = $("pre.aa");
var ua = navigator.userAgent;

if (ua.indexOf("Win") == -1) {
  aa.css('font-family', "'梅Pゴシック',Textar,sans-serif");
}

フォントとか文字コードって今でも結構大変な分野で、OSを問わずChrome (ver.66) は今でも文字化けする事もある。 例えば「( ・᷄ὢ・᷅)」というAAがあるのだけど、これを表示できるでしょうか? 私の環境では豆腐系の文字化けを起こしてしまう。アドレスバーへの入力でも同様に文字化ける。 文字コードってほんと難しい。



追記修正: 私にはなぜそのような事が起きるのかよくわからなかったこの問題ですが、UbuntuでAA(アスキーアート)がずれるのはMS Pゴシックが置換されるからだった(かも?) - Palm84 某所の日記 にてMS Pゴシックの置換指定の問題である事がわかりました。感謝!

最近のUbuntuはデフォルトフォントが変わったり色々変化していたので、 ちょうど良い機会なのでもっとしっかり確認しようと私も検証をしてみました。
まずUbuntu 18.04を仮想マシンで起動してみたところ、標準日本語フォントは以下の3つしかありませんでした。(梅Pゴシックないのか…)
  • Noto Sans CJK JP
  • Noto Sans Mono CJK JP
  • Noto Serif CJK JP
ちなみにCentOS 7はぱっと見ではVL ゴシックだけで、Debian 9.5ではIPA, VL ゴシック、UKIJ、Noto Sansがあるように見えました。 Linuxはフォントのインストールは簡単だけど、デスクトップ版くらいはもう少し標準日本語フォントを統一して欲しいなあ。


上記のような標準日本フォントが用意されているインストールしたばかりのUbuntu/CentOS/Debianで、以下のフォント指定がきちんと表示できるか確認してみたのですが、どれも駄目。
font-family: '梅Pゴシック','MS Pゴシック','MS PGothic',Textar,sans-serif;

梅Pゴシックが見つからないのは良いのですが、やはりMS Pゴシックの判定に入った時、置換指定の問題で結局バグるようです。 となるとWindows以外ではMS Pゴシックを指定する事自体が危険であり、 先に述べたように何らかの方法で項目を削除するのが現状では妥当なのかも知れません。 もういっその事すべてTextarに頼ってしまうのもありかも。

私はこの実装は良くないと思うんだけどなあ。 もしかするとWebフォントの普及を狙った実装変更なのかも知れない。

2018年8月9日木曜日

フリゲ紹介: MECHA Ritz (メカリッツ)

MECHA Ritz (メカリッツ) は、爽快感のある縦スクロールシューティング。



シンプルな縦スクロールシューティングなのですが、凄く面白いと思いました。 普通シューティングゲームは死んで覚える難易度の高いものか、難易度を抑えたサクサクタイプのどちらかに分けられます。 しかし MECHA Ritz はその両方を絶妙なバランスで再現している凄い作品だと思いました。 何が凄いかというと、ラスボス間近まで敵の攻撃を「見てから対応できる簡単過ぎない難易度」に調整されている。

もっともこのへんの難しさはプレイヤーの上手さに左右されるみたいです。 上手い人はシステムのRankが上がり難しくなり、下手な人はRankが下がり対応できるくらいの難しさになるように作られている。 プレイヤーのRankが上がると手に追えなくなるくらい難しくなるみたいですが、 最初プレイした時は下手くそゆえにRankはあまり上がらず、私にはそれがちょうど良い面白さでした。 シューティングってどこかで必ず初見殺し的な要素とかシビアな要素が出るものだと思っていたのですが、それをまったく感じなかった。

多少のミスはボムやシールドで対応できるのが大きいのかなあ。 それなりにシューティングに慣れているほどこの面白さを感じると思う。 ステージや物語もテンポよく進み (左)、敵の攻撃もスピーディに切り替わっていくので (右)、まったく飽きが来ない。 シューティングはたくさんの作品があるため、その中で強く印象に残るのは意外と難しいと思ってるのですが、MECHA Ritz は強く印象に残りました。



ステージごとに中ボスがかなりたくさん出てくるのも面白いと感じる要因の1つなのかも知れません。 以下の画像は1面の最初の中ボス。 1面なのでたいして強くないんですが、ステージが進むにつれて当然ながら強くなっていきます。



こんな良作を見逃していたとは。 プレイし損ねた作品を振り返ると、たまにお宝が見つかります。 最近プレイしたシューティングで一番凄いと思いました。 ちなみにMECHA Ritz第11回ふりーむ!ゲームコンテストのページから見つけました。

フリゲ紹介: Recovery Pain

Recovery Painは、王道的なストーリーとハイテンポなバトルシステムが組み合わさったRPG。 作者様の紹介通り、無駄なウェイトがまったくなく、フルボイスで意気込みが感じられる。 そして実際凄くプレイしていて面白い作品だと思いました。



本作の主人公はおっさんの魔物…もといリベルテさん (左)。 随所にスパイスが効いていてストーリーものとしても面白いです。 サイドビューで戦闘を行っていくのですが、リベルテが縦横無尽に技を繰り出す姿は格好良いです (右)。 戦闘は非常にスピーディでストレスも溜まらない。



ステータスや技は自由にカスタマイズできるようになっていますが (左)、他にも武器防具の重さと行動回数に左右されるシステムになっています。 ステータスの伸ばし方を間違うと厳しいボスなども居るかも知れない。 また一人で戦うシステムという訳ではなく仲間も登場します (右)。 仲間の支援を受けながら戦闘を行う事で、戦い方の幅が広がっていきます。



プレイしていて非常に気持ちの良い作品だと思いました。

物価上昇+人件費上昇=低収益企業の赤字化

吉野家が人件費や物価上昇によって2期連続の赤字になっていました。 まあ4Qは固定赤字なので、実質的には1Qで久々の赤字という状態だと思います。 単一期での判断は危険ですが、吉野家というか飲食業は全体的に少し気になる兆候が出ている。

飲食企業は景気に左右されないと言われていますが、 私の理解で言えばこれはインフレ率の安定、低賃金の安定、円高による仕入れ価格の安定が大きく、 固定需要の利益保証と、雇用保証に役立った事によるものだと思っています。 またこのような外食チェーンの成功によって売上至上主義が進んだのではとも思っています。 しかし様々な諸経費が値上がりする中、こういった事業の前提が崩れてきて、利益を残すのが大変になっているように見えますね。 他にも中国の牛肉需要の爆発的増加や、和牛の世界的人気などで仕入れ価格が上がっている事なども、さらに利益を圧迫する要因になっていそうです。

人件費と利益の均衡値の近い飲食業は、少し人件費が上がっただけで会社利益が結構飛びます。 また日本は景気がアレでもインフレ率を上げていますが、これによって起きる事は消費の低下です。 インフレ率が異常上昇すると当然ながらここも削られていくと思います。 まあ実際には外食率は安定してるので何とも言い難いですが、 ステルス値上げで消費者も敏感になっているので、外食でも意識される程度に消費が落ちてくると下がるかも知れない。 アパレル系では既に値引きで利益を増やす状況になっているのは印象的です。

このような情勢を見ていると、低収益の飲食業はたいていの企業よりよほど景気の影響を受けている気がします。 株価も赤字が出るまでは上がっていたのですが、 2期連続の赤字を出した事で少し下がりました。どうやら赤字は嫌みたいです。 ただ株価に関しては飲食企業全体で同様の傾向があった事のほうが理由として大きいような気もしますけどね。


飲食企業は値上げとインフレ率の問題以外にも、 出店数を増やす事で誤魔化している会社が多い事は気になります。 出店数は増えていて全体的には伸びているけど客足そのものは値上げで減少しているようなところが多い。 でも値上げと人件費増の問題が解決できず出店数を増やすと、 客足が止まった時に採算が取れなくなった店舗は潰すしかありません。 これが自動車企業だったりすると生産調整で対処可能なので影響は小さいんですが、 飲食業はお店を潰す以外に手がない。 客足が一気に止まるような状況にならないと明るみにはなりませんが、潜在的リスクは大きい。

このような飲食業の情勢を見ていても、日本で利益率の低い事業は今後厳しいのかなあとも思っています。 利益が伴わなくてもそう簡単に潰れる事はないと思うけど、会社利益は残せなくなる。 そうなると株価だったり補修費に転換できなくなる。 そのためインフレターゲットに耐えるためには利益主義にしないとバランスが取れない。 それが明確になってきたと思います。 といって値上げをすると客足も減ってしまいやすい業態なので、 単純に物価を上げて人件費を上げればみんながハッピーとはなかなかなりにくいと思う。

解決案としては、例えば米国の飲食企業がわかりやすい例を示しています。 米国の飲食企業は実にぼったくり企業(笑)なのですが、 それが世界中で通用しているのはブランディングに成功しているからです。 日本の飲食企業は安さ志向ですが、味で見ればまったく引けを取りません。 そのようなブランディング路線に舵を切れれば、一番ハッピーなのではないかと思いますね。 そういう意味では和食を海外に広める潮流は良い路線なのかも知れません。 ただ日本国内でそれをやっても客足が遠のくだけという気もしますけど。

他にも大阪城公園でのたこ焼き販売で1億3千万円脱税がバズっていましたが、やはり儲かっているところは儲かっているんだな、と改めて思いました。