昔の最近の出来事(2021.04)

2021/04/30

AM中に起床。

東京都コロナ感染者。新規は698人。続かないうちはダメだ。
クルーズ船 乗客のコロナ感染者。ウルトラ控え目に言ってもどん臭すぎる。 高々300人程度の乗客を管理できないのが問題なのか、自己管理のできない奴が 集まるような傾向のある場所なのか。いずれにしても今ミスるところではないというのは個人的な感想。
ところで、最近のニュースとかでは大阪の医療体制が崩壊している話はよく聞くのですが、 代わりにどういう人達が新規に感染しているのか言わなくなっているように思います。 そして去年のGWと比較して人出が多いは言うものの、「だから何?」を言う訳ではなく。 そろそろ 例えば「新規感染者のうち職場感染の割合が多くなっている。テレワークができるのにやっていない連中が 新規感染している傾向があるので、テレワークを推進しろ。」とか、 「20代の新規感染者のうち、路上飲みをしてた連中の割合が非常に高い。だから路上飲みは止めろ。」 の様に、単に「人出が多い」とか「路上飲みしている人が居る」以上の話は無いのだろうか?と思います。

おうちで体験! かはくVR」。国立科学博物館の展示をVRで見られます。 因みに実際に行ったことはありません😓
まずは日本館。フタバスズキリュウの存在はドラえもんのピー助とかで知ってはいたのですが、全身骨格で見ると「でかっ」 てのが第一印象😲。他にも色々見て回れるのですが、地下1階のミュージアムショップも見られるのが 面白いと思いました。宇宙食らしきものも売っているようです😀。 そして地球館。標本の数が圧倒的です😲 恐竜化石から月の石、衛星やスマホまでてんこ盛りです😅 小さな昆虫標本は解像度的に見られない感じですが、実際に行ける機会があればのお楽しみという所でしょうか。

2021/04/29

朝普通に起きてゴミ捨て。

東京都コロナ感染者。新規は1027人。ダメだこりゃ。

こちらのTweetスレッド。 非常に興味深い。以前おひとり様の飲食で感染した例を知りましたが、 今回知った例を鑑みて想像するに、換気状況がどうだったのか?は気になる所。 例えば飲食の場合、前の人が感染していてウイルス量が多くなった空気が滞留した状態になってて、 同じ席で後の人がそれをある程度の時間吸ったらアウトという感じなのでしょうか。これならば間接的に吸うこともあり得る訳で、 どこで感染したのかが判らなくなるというのも可能性としては起こり得るかも知れません。 ただ、この状況だと換気と言ってもうまくやらなくてはダメで、空気が流れるようになっていたとしても 「ウイルスを含んだ息を吐き出し続けている人が風上に居る状況で風下は大丈夫か?」という点は気になります。 完璧なのは焼肉屋の各席に吸い込み口があるタイプで、汚染された空気が 周りに広がらずに即排気されるので 理論上は一番クリーンに換気できると考えられます。
換気の話を書いていて一点気になっている事が。極たまに「歩きタバコの人」が前を歩いていた時、 距離を取っていても煙が匂う事はあります。風が無い時には煙がその場に 留まるので、その中を後ろから突っ切るという事なのですが、 「もし煙がウイルスだったらどうなるんだろう?」と毎度思います。 こう考えると、意図せず特定の人の後ろを付いて歩く (少し混雑して流れが遅く追い越しもできないと簡単に起こり得る状況だと考えます) っていうのはリスクあるのかな?と思ったりもします。逆に意識して追尾にならないようにすれば リスクは下げられるかも? 実際に感染リスクがあるか否かは判りませんけど。
少しWebを検索すると 「コロナウィルスのエアロゾル感染シミュレーション」 っていう文書を見つけたり(脱稿日は2020年6月5日と記されているので約11か月前ですね)。 考察の項でタバコで例えられていて、この文書ではマスクをしていない状況での想定のようですが、 感染可能性はあり得るという事みたい。個人的にマスクしてたらどうなるの?ってのは興味のある所です。 何故なら呼吸をしている以上は外気とは接している訳で、マスクを通すとむしろ超小さい飛沫だけが 選別されそうに思えるからです。でもまぁ、色々言い始めると息ができなくなりそうです😓 考えられる限りのリスク回避を行った上で、人間の粘膜フィルターシステムをもっと信用して良いのかも知れません。

先日、ELISPのネイティブコンパイルに関係する変更がコミットされたようですが、 こちらとかに説明があるようです(Google翻訳でどうにか読む感じですが😅)。 で、libgccjitという gccに含まれるJIT(Just-In-Time)コンパイルライブラリてのを使って実現されるらしい。 Cygwinにパッケージあったっけ?と思って探してみるもなんか見当たらず。 少しWeb検索してみると、Cygwinでビルドできない(コンパイルはできるがテストが通らない?)的な事がMailingListに投稿されているようです (やりとり最後)。 リリースされたばかりのgcc-11.1.0で野良ビルドを試してみたところ、そもそもビルドができないようです?🤔

$ ../../gcc-11.1.0/configure --enable-languages=jit --prefix=/usr/local/gcc-11.1.0 --enable-host-shared --disable-bootstrap --enable-checking=release
:
$ make
:
make[2]: ディレクトリ '/cygdrive/d/cygwin/home/TANE-HP/develop/work/gcc/build/build_gcc-11.1.0/gcc' に入ります
:
g++ -c   -g -O2 -DIN_GCC -fPIC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H  -DGENERATOR_FILE -fno-PIE -I. -Ibuild -I../../../gcc-11.1.0/gcc -I../../../gcc-11.1.0/gcc/build -I../../../gcc-11.1.0/gcc/../include  -I../../../gcc-11.1.0/gcc/../libcpp/include  \
        -o build/genmodes.o ../../../gcc-11.1.0/gcc/genmodes.c
make[2]: *** 'build/genmodes.exe' に必要なターゲット '../build-i686-pc-cygwin/libiberty/pic/libiberty.a' を make するルールがありません.  中止.
make[2]: ディレクトリ '/cygdrive/d/cygwin/home/TANE-HP/develop/work/gcc/build/build_gcc-11.1.0/gcc' から出ます
make[1]: *** [Makefile:4416: all-gcc] エラー 2
make[1]: ディレクトリ '/cygdrive/d/cygwin/home/TANE-HP/develop/work/gcc/build/build_gcc-11.1.0' から出ます
make: *** [Makefile:946: all] エラー 2

jitを含まず「../../gcc-11.1.0/configure --enable-languages=c,c++ --prefix=/usr/local/gcc-11.1.0」で あればビルドはできるようです(インストールはしていないので使えるかどうかは判りませんけど)。 という訳でしばらく様子見。 しかしながら、libgccjitがパッケージインストールできるようにならないとEmacsの野良ビルドが面倒臭くなり過ぎるというのはあります😅 その時はJITサポートを外すしか無いでしょうけど。

2021/04/28

テレワーク。早めに終了。

東京都コロナ感染者。新規は925人。ダメなまま連休に突入。

ちょろり調べ事。

2021/04/27

テレワーク。早めに終了。

東京都コロナ感染者。新規は828人。やっぱりダメだ。
大阪。なんか変異ウイルスのせいにしている感じの報道が多いように思えるのですが、 まん延防止等重点措置が適用された頃から大人しくしておけばここまで病床が 逼迫するとは思えないのですが。 病床の拡充や医療体制の強化は感染防御ではありません。ナメた連中が新規に感染して 結局 拡充したなりに埋まってしまうだろうと容易に想像できます。「感染したら死ぬ」って意識 に変えて行動しないとダメだろうと思われます。 まん延防止措置が出た当時の街頭インタビュー映像でも再放送してみれば? そして 「こんなアホみたいな意識で居たせいで今のような状況になっていると考えられる」って 医療の専門家にでもコメントしてもらえばいいのに。

久しぶりに画面がブラックアウトする現象に遭遇したのですが、ハング状態には陥らずに 復帰しました。グラフィックドライバに何か入ったからか、Windows10のアップデートによるもの なのか、たまたま復帰できただけなのかは判らず。まぁでもギリ許せる。

GCCの 11.1がリリースされた模様。

2021/04/26

テレワーク。早めに終了。

東京都コロナ感染者。新規は425人。月曜だけど 続かないのならばまだダメ。

emacsのgit logを見てみたら、なんだか大量の枝がマージされているようだったり。 ELISPのネイティブコンパイルに関係するコミットっぽいですがよく判らず。

2021/04/25

AM中に起床。

掃除したり洗濯したり。電子キーの部材交換対応。サクっと終了。

東京都コロナ感染者。新規は635人。ダメだな。

そういえば、卓上のデジタル時計が止まっていたのですが、液晶表示はされたままだったので、 壊れたか?と思って電池を外してもう一度入れたら起動せず。新しい電池に交換したら動いたので、 単に電池切れだったようなのですが、最後に液晶表示したまま時計の機能だけが電力不足で 止まっていたという事?てか、そんな事ある?とは思ったりも。

2021/04/24

昼前起床。

東京都コロナ感染者。新規は876人。ダメだ。

Webを散策していて、IBM Plexというフォントを知ったり(公式サイト)。 今はサポート言語文字が増えつつあるようで、日本語文字は2021年予定みたいです。
こちらのブログ記事でIBM Plexの話が記されている のですが、その中で Helveticaのフォントライセンス料がまぁまぁな金額だったのを知りました。 そしてHelveticaのWikipedia の中にArialとの関係やWindowsではArialの別名になっているというのを知りました。 Cygwinのemacs-w32でフォントファミリーの一覧には出てこないのですが、「Helvetica」を指定すると 確かにエラーする事無く設定できて、M-x describe-charで調べてみるとXLFD表示は 「harfbuzz:-outline-Helvetica-normal-normal-normal-sans-64-*-*-*-p-*-iso8859-1 (#x44)」となってて、 何事も無いかのようにHelveticaのフリをしてArialで表示しているようです。ほぅ..... 奥の深さよりも闇の深さを垣間見た気も😓

2021/04/23

テレワーク。早めに終了。

東京都コロナ感染者。新規は759人。ダメだ。
結局、緊急事態宣言。ここでは以前より 「今感染する奴はアホ」っていう風潮を植え付けた方が良いのでは?と記していますが、 そろそろ「感染防御のできていない奴らのとばっちりにより、余計な対応を行うハメになっている」 というのに気づくんじゃないかとは思ったりも。広げているのは人。ウイルスはただそこにあるだけ。

イタリックというか斜体表示実験。有効/無効を切り替えられるようにしてみようと 何気に「grep synth src/*.c」でソースをgrepしたところ、 w32-enable-synthesized-fonts っていう組み込み変数があるのを知り、 なんじゃろ?と思って見てみたら、

  DEFVAR_BOOL ("w32-enable-synthesized-fonts", w32_enable_synthesized_fonts,
               doc: /* Non-nil enables selection of artificially italicized and bold fonts.  */);
  w32_enable_synthesized_fonts = 0;

と書かれていました。どこからも参照されていないようなので、未使用の組み込み変数の ようなのですが、調べてみたらかつてはビットマップフォントについては、これで イタリックやボールドを表示していたらしいというのを知ったり。 Emacs23 くらいから効果が無くなっていたらしいので、Emacs22に相当する Meadow3 を 久しぶりに起動して<i>~</i>タグを含んだhtmlファイルを表示してみた ところ斜体で表示されました。そして「表示の欠け」も実験しているのと同じようになっているのが 判りました😅

さておき、これまでの流れからどういう事なのかやっと判った気がします。


そのつもりは無かったのですが、いつの間にかEmacsの歴史探索を行ってた感じです。沼が深すぎるわっ!😖 いいけど(<いいの?)

という訳で、表示は欠けるけど少し普段使いでテストしてみよう。

Emacs 任意フォントで斜体表示テスト

2021/04/22

テレワーク。早めに終了。

東京都コロナ感染者。新規は861人。神奈川がダメだ。
てかこのままじゃ連休終わる頃まで増え続けそうなんだけど。そろそろ感染防御できないなら 動く権利は無いという感じに思います。医療従事者の人は「もーっ、ちゃんと防御しろや!」って 思わないのだろうか。

イタリックてか斜体表示実験。文字の背景描画は矩形なのに文字は平行四辺形領域なので右側にはみ出る分の 文字描画が右隣の文字の背景描画で塗りつぶされて欠ける場合があるのがイマイチです。 描画の順番や描画の範囲をうまくコントロールできれば欠けが起こらないように 文字レンダリングできそうですが、なんか難しそう.....🥺

2021/04/21

テレワーク。早めに終了。

東京都コロナ感染者。新規は843人。ダメだ。
感染拡大するのは感染防御ができていないからなのですが、結局できていない場面のフィードバックが無いのがダメです。 「対策してたのに感染した」をもっと深堀りしてくれないだろうか? ちゃんとした分析もせずに 「変異種は感染力が強いのでしょうがない」ってほったらかすから、結局動きを止めるという方法にしか 行きつかないという感じになっているように思えます。気を付けているなら、むしろ問題無いと思い込んでいる 所に問題があるのかもよ?

イタリック。先日の手掛かりから synth_ital を使ってどうやっているのか参考にしてみようと ソースコードをgrepするも参照している箇所が見当たらなかったり。えぇぇぇ.....😦

ちょろっと実験。LOGFONTのlfItalicを使って描画するようにしてみたのですが、 文字幅が合わなくて描画が欠けたりとイマイチな感じに。あと CreateFontIndirect() で 描画前に現在のフォントのパラメータを弄ってHFONTを生成しているのですが、 うまく解放しないとリソースリークしそう。

2021/04/20

テレワーク。早めに終了。

東京都コロナ感染者。新規は711人。ダメだ。
若い世代という表現。重症化については40代~50代を指している模様。 でも20代の場合もあるようです。ミスリードするので相対的な表現ではなく 数値の範囲による絶対値で表現すべきと思います。

slantとweightの観察。やっと手掛かりを発見。どうやら src/dispextern.h の中に faceという構造体が定義されているのですが、そのメンバー変数の中に

  /* If non-zero, use overstrike (to simulate bold-face).  */
  bool_bf overstrike : 1;

/* NOTE: this is not used yet, but eventually this impl should be done
         similarly to overstrike */
#ifdef HAVE_NS
  /* If non-zero, use geometric rotation (to simulate italic).  */
  bool_bf synth_ital : 1;
#endif

overstrikeという変数があり、コメントの通りこれによってboldっぽいものをシミュレートしているようです。 具体的には overstrikeがTrueの時は 普通に文字を描画した後、x座標を1ズラしてもう一度同じ文字を重ね書きして 太文字っぽく見せるという事をやっているようです。つまるところ、weightを調節している訳ではないという事です。 で、その下にイタリックも同じようにシミュレートする 仕組みがあるじゃんと思ったのですが、HAVE_NS(macOSでのNeXTstep APIの場合にdefineされる模様)は Windowsではdefineされないので使えないという感じ。このフラグを見て一時的にLOGFONTのlfItalicを TrueにしたHFONT(フォントハンドラ)で文字描画できればイケそうですが、このフラグを参照する段階では glyphstringとやらになっていてやっぱり簡単そうでは無さそうです。
どうりでLOGFONTを観察しても反応箇所が判らない訳です。だってLOGFONTを操作している訳じゃないんだもん😅 てか、文字のレンダリング方法がごちゃごちゃで難し過ぎです😓

2021/04/19

テレワーク。早めに終了。

東京都コロナ感染者。新規は405人。月曜だけどダメだね。
それにしても TVのニュースとかの街中インタビュー回答は、なぜか他人事感を醸し出している ものばかりに感じます。例えば「蔓延防止の効果は感じない」みたいな回答を 酒を飲みながら答える奴とか。そしてコメンテーターも「こいつバカじゃねーの?」とは言わず 政治のせいにする。そしてそれは届く訳も無いという展開。

slantとweightの観察。まだ反応箇所を見つけられず。

2021/04/18

AM中に起床。

掃除したり洗濯したり。

東京都コロナ感染者。新規は543人。ダメだねぇ。

slantとweightの観察。表示フェイスを変更するinternal-set-lisp-face-attribute のコード から辿った先で weightに応じてbold表示を切り替えているのが判ってきたのですが、 weight値の内容変更してフレームの再描画指示をセットした後、フレームの再描画時に bold表示が反映されるようなのですが、nでステップ実行を進めていくと途中で止まらなくなって 肝心な再描画部分を観察できず。むぅ🙁。デバッガでステップ実行していても、ELISPの バイトコード実行のコードに入ってしまうとしばらく抜けられなくなったりと、なんか面倒臭いです😓

2021/04/17

昼頃起床。寝すぎ。

東京都コロナ感染者。新規は759人。ダメだなぁ。
そろそろ指数関数の急激に増えてくる部分に達してきたような。騒ぐとますます「今のうち行動」が 加速してしまうかも知れませんが 伝えないと静かにもならなくて、どちらが強く働くかが判らないのが 話を難しくしている気もします。「動くな」と言った瞬間に動きが止まる(「あとちょっとだけ」を一切許容しない) アルゴリズムであれば遥かに簡単だろうとは思います。

WindowsUpdateの新しいのも 0x800f0922 で失敗するので、不本意ながらインプレースアップグレード での修復をしてみたり。.isoイメージをマウントできるようになっていたようなので、USBメモリや DVDを使わなくてもアップグレード(といっても同じ20H2を再度上書きインストールする感じですが) できるようになってました。1時間ほどかかって完了。ひとまず最新状態になった気が。 事の発端は20H2でのIME関連の不具合が修正されているとされるオプションのアップデート適用に 失敗した所だった(過去のメモ)のですが、 結局 変な状態にスタックしたまま復帰できない状況に陥ったという感じです。 オプションの更新には迂闊に手を出さないようにしよう😓

なんかTwitterが死んでる?(@夜)。検索してみると全世界的に止まっているっぽい。その後戻った模様。

そういえば以前、日本語キーボード配列の 右シフトキーの左隣のキーが「_ \」になっていて、単体押しでは半角文字の「\」、 フォントによっては「¥」が入力できるのに気づきました。で、そういや 「Shift + フルキーの 0」って何も割り当てられていないなぁ?というのに気づいたり。 日本語配列って組み合わせに対して空きが少しあるように思ったりも。 ただ割り当てる事はできないのですが。

slantとweightの観察。set-face-attributeで任意のフォントフェイス(family)に対して weightにboldを指定できる仕組みがまだ判らず。むぅ🙁

2021/04/16

テレワーク。早めに終了。

東京都コロナ感染者。新規は667人。ダメだなぁ。
結局、下げ止まりになってから行動が変わらないのが今の結果になっていると考えられます。 対策が後手になっているとか言う人も 居るようですが、そもそも勝手に感染対策実践の手を緩めて事が大きくなったら対策が後手だとか、 チンピラの言いがかりレベルの様にも思えます。感染している人の行動を分析して行動変容を促す フィードバックを徹底的に行う必要があったのかも知れません。
ところで、「政府は何もやっていない」と言う奴は「政府は"お願いしかできない"のが判って言っている」 ような気が最近しています。例えるなら「プロのボクサーが手を出せないというのを判っていて "殴ってみろよ"って煽る素人」みたいな感じ。「自粛に協力するから金よこせ」も同じ。 この状況って完全に手を出せない方の負けなんだよなぁ....と思う訳です。

NVIDIAのドライバアップデート(466.11)を入れてみたり。OpenCL3.0になってます。

OpenCL3.0プロファイル

具体的にどういう事ができるようになっているのかは判らんけど😅

2021/04/15

テレワーク。早めに終了。

東京都コロナ感染者。新規は729人。ダメだなぁ。神奈川もダメだ。
GW前の「今のうち行動」っぽい所があるのか? 問題は感染対策が不十分なまま動いているってのと、 対策が不十分な事に気づいていない所があるって点なのでしょうけど。 今の新規感染理由が飲み会や飲食で感染したのが大部分ならば、もっとそういうのを大声で言えば良いと 思うのだけれど違うのかしら? 分析できていないグループ(==感染理由不明)の中に対処が必要だけど できていない要素があるのだろうなぁ。

そういやニュースとかの街並み映像を見ていると、いわゆる「鼻出しマスク」になっている人が 画面上 1人以上は居るように思います。で、思うのですが 普通に付けてて鼻出し状態になるか? というところ。ウレタンマスクでは喋る事で徐々にズレて鼻出し状態になるという映像は見た事があるので 起こり得るようです。恐らく、ウレタンマスクの場合はプリーツが無くて伸縮できない為、喋った時の 顎の動きに追従できないからだろうと想像します。なのですが、不織布マスクでは鼻の上まで覆って プリーツも伸ばせば 少々しゃべったくらいでは 自然にズレて鼻出し状態になる事は無いように思います。 鼻出しはわざとやってるんですかね?

NVIDIAのドライバアップデートが来ているのですが、来たばかりなので様子見。 個人的に一つ前の版から急に OpenCL3.0サポートが来ているようなので試してみたいと 思っているところ。NVIDIAはCUDAがある為かOpenCLのやる気がまるで無い感じだったのが どういう流れでそうなったのだろうと思う所はありますが。

slantとweightの観察。進展無し。

2021/04/14

テレワーク。早めに終了。

東京都コロナ感染者。新規は591人。ダメだなぁ。
てか、ここでは何度も書きますが、今、新規に感染している人ってどういう生活様式の人なのかさっぱり判りません。 結局、飲み会での感染が全ての元凶なのか?
ところで、ニュースとかで「飲んで 暴れたり動けなくなったりしている奴の映像」を流した後に 「気持ちはわからなくもありませんが....」って言うの、あれダメだと思います。 そもそもコロナに関係無く迷惑な行為なのに、電波を使って「気持ちがわかる」とか言うと、 折角の「アホを映した映像です。絶対にマネしないでください」というメッセージも 「しょうがないよね」って解釈に変わってしまう可能性があると考えられます。

slantとweightの観察。どうやら思っていた所で制御している訳ではないようだ。というのが判ってきた のですが、どこでweight値を仕込んで表示に反映されているのか、逆に謎が深まってしまったり。 うーむ🤔

2021/04/13

テレワーク。早めに終了。

東京都コロナ感染者。新規は510人。ダメだなぁ。

そういや全然関係無い流れで、perl6って最近どうなっているか聞かないなぁ? (以前のメモ;約7年前😅)と思って検索してみたら 2019年10月に「Raku」に改名されていた模様 (参考Wikipedia)。 入門文書の日本語訳もあるようです。 実装であるRakudoのNewsページを見る限り ここ数年は年1回くらいの頻度でステーブルリリースが行われている感じのようです。

イタリック。というかweightの観察。weightにboldを設定してその値がどう伝わっているのかを 観察してみるも、どこで値が設定されて実際にboldになっているのか何故か判らず。なんでだ?🤔

2021/04/12

AM中に起床。本日お休み。

東京都コロナ感染者。新規は306人。月曜だけど増えてるなぁ。

アクリル板の問い合わせ殺到。え?今頃?感しかしない。

イタリック。slantの処理でweightと同じ感じになっていない所を探せばよかろうと思って見てみるも違いが見当たらず。 あれぇ? 目が節穴だと自分で愕然とします😓

2021/04/11

AM中に起床。

掃除したり洗濯したり。

東京都コロナ感染者。新規は421人。増加傾向は変わらず。
理論上、感染防御が完璧ならば人出が多くても感染拡大する事は無いのですが、 人出が増える事に連動しているように見えるというのは感染防御が十分でないからと考えられます。 先日の飲食店での感染例の話を鑑みるに、マスクをしていても会話をする事自体が感染リスクが 高い行動のようだと想像できます。「マスクをしているから会話してもOK」とか 「マスクをしているから距離が近くてもOK」という考えではダメそうだという感じに思えます。 そして、「マスクをしていた」も飲食店での話だと、厳密にどうだったのかは判りません。 本当に会話する時はマスクをしていたか?食べてる時に声をかけられてうっかり返答していないか? 例えばラーメンだと息吹いて冷ましていないか?と言った点まで見て、 できていたか否かが問われると思われます。黙って並んで待っている時だけを指して 「マスクしてました」だとダメな訳です。息を吹いて冷ます行為の必要な食べ物ではなく、 一切会話無しで、食べたらさっさと店を出る、今は「これができないなら外食する権利は無い」のだと思います。

フォントのスタイルについて。そもそもイタリック体やボールド体は「飾り表示要素」なのか否か?という疑問が湧いてきたり。 ちょっとややこしいですが、ここではフォントの字形としてファミリーに含まれているフェイスの事を 「フォントフェイス」と記します。また、Emacsで「M-x list-faces-display」で表示されるフェイスの 一覧の事を「表示フェイス」と記す事にします。「飾り表示要素」は「フォントフェイス」とは関係無く 「表示フェイス」に反映されるものとしています。
Emacsでは、例えば「アンダーライン」はフォントフェイスによらずテキストプロパティを指定する事で 飾り表示要素として付加する事ができるように動いています。 この為、「MS Gothic」のようにフォントフェイスがレギュラー(標準)しかないものにも付加する事ができます。 もしイタリック体やボールド体にする事はアンダーラインのように「飾り表示要素として付加するもの」 であれば、フォントフェイスによらず付加できるという解釈で正しいように思います。 何故このように思ったかというと、先日気づいたように、 フォントフェイスによらず 表示フェイスとして weightへのbold指定は可能となっていたからです。 しかし slant への italic指定はできません。 もし slantが「飾り表示要素」に分類されるのであれば、 フォントフェイスにイタリック体を用意しなくても、「表示フェイス」としては反映される べきと思った訳です。
どこを弄るのが良いのか?というのにも関係します。例えばレギュラー(標準)の フォントフェイスを元にイタリック体のフォントフェイスが存在するように見せれば、 フレームフォントとしてもイタリック体で表示可能になるとは思います。 しかし飾り表示要素なのだとすれば、フレームフォントとしてはイタリック体で表示する事はできないけど 表示フェイスとしてはイタリック体やオブリーク体で表示できる(つまりweightやunderlineと同じ) というのもアリかな?と思った次第です。

そういやemacs-X11ではどうなっているんだろう?と思って調べてみたり。 メニューの「Options→Set Default Font...」からフォントセレクタでフレームフォントを選択できますが、 Windowsのフォントセレクタでいう「フォント名」と「スタイル」の組み合わせをバラして 並べた感じになっています。見掛け上 「MSゴシック 標準」「MSゴシック Italic」「MSゴシック Bold」「MSゴシック Bold Italic」 と4つのフォントフェイスから選べるように見えるのですが、実際には例えば「MSゴシック Bold Italic」 を選んでも「MSゴシック 標準」が設定されるようです。メイリオの場合も 「メイリオ レギュラー」「メイリオ イタリック」「メイリオ ボールド」「メイリオ ボールド イタリック」 の4つのフォントフェイスから選べます。メイリオはフォントフェイスとして組み合わせ通りの4つが実際に存在しているので 選んだ通りに設定されます。即ち emacs-w32と同じくフォントフェイスが 存在しないものは表示できないという仕組みのようです。やっぱり 選択肢として示されているにも関わらず、 実際に選ぶと無効というのは混乱を招くと思われます😓

エビフライの絵文字(🍤)について。Windowsを20H2にアップデートしてから、MS-IMEの候補表示の絵がカラーになって いるのですが絵も変わっています。ただ、単にカラーになっているのではなく絵自体が違うのですが、 これってどのフォントで表示されているのか判らなかったり😅

エビフライ絵文字の違い

フォント設定で調べてみると何故かユーザーローカルのフォントフォルダと Windows/Fontsフォルダの 両方に seguiemj.ttfが 存在していてバージョンの違いがある事が判りました。 ユーザーローカルの方が少し古いようだったので、そちらをアンインストールしてみたところ、

エビフライ絵文字一致

という感じでMS-IMEの候補の絵と実際の絵が一致するようになりました。 古いのはカラーとモノクロとで見た目が一致しないようなものだったのか?と思ったりもしたのですが、 前の方がエビフライ感があるようには思ったりも。個人的な感想です。 それよりも ユーザーローカルのフォントフォルダとダブっているフォントが 沢山あるように思ったり。何かやったかなぁ?😓

4月8日付けでgcc-10.3が出ているのに気づいたり。ん?11.1ではなくて10.3? 11.1はいつも通り4月末になるようです。

2021/04/10

昼前起床。

東京都コロナ感染者。新規は570人。神奈川もダメだな。

たまたま見たニュース番組で、飲食店での感染が疑われる人がその時の状況を答えてました。 おひとり様の入店で店主と別の常連とで、マスクをしていたが会話はしたという感じだったそうです。 距離感や滞在時間、店の換気状況などまでは判りませんでしたが、感覚的に「これでダメそうなんだ」 というのは判るように思いました。これを踏まえると、もしある集団で誰かが感染していたとした場合、 マスクをしてても会話をする事自体が危険そうという事や、素性を完全に把握できない人と会食すると いうのは相当にリスクが高い行動だという事は言えるかも知れません。
あと、山梨県で実施されているやまなしグリーン・ゾーン認証 取得後の抜き打ち検査について、基準をクリアしている店の映像が流れていたのですが、 少なくとも客席の感染対策として「これが出来ている店」ってのが判る感じでした。 「割り箸をテーブルに置かないようにする」とかは、なるほどねという感じだったように思います。
なんか具体的で有効な事例をニュース番組で情報として得られたのは初めてかも知れません。 「感染拡大が収まりません」という1mbit(ミリビット;造語)も情報の無い定型文が繰り返し流れている中 でもあるので、余計に有効に感じたのかも知れません。

イタリック。切り替えの継ぎ目を見つけられず。

2021/04/09

テレワーク。早めに終了。

東京都コロナ感染者。新規は537人。

Emacsのフォント設定。少し仕組みが判ってきたようなそうでもないような。 やっぱりフォントのフェイスがレギュラー(や標準)の1個しかない場合に、 例えばfont-specでslantやweightを指定しても、しれっと無視される感じになるけれども 何が原因なのか判らないのが話をこじらせているように思えてきました。 例えばスクラッチバッファで

(set-frame-font (font-spec :family "Meiryo" :slant 'italic))   ;and press C-j
nil

だとメイリオのイタリックに表示が切り替わるのに、

(set-frame-font (font-spec :family "MS Gothic" :slant 'italic))   ;and press C-j
nil

だとMSゴシックのイタリックにはなりません。単純に「Windowsの他のアプリでは表示できるのに なんで?」 って、そりゃ そうなりますわな と思います。

ところで先日、イタリック体と斜体(オブリーク体)は別物って事を知りましたが Win32 APIでは区別ができるようにはなっていなさそうです。 X-Windowのフォント制御ではこれを区別できるのかしら?

あれ?「M-x list-faces-display」でfaceの一覧を「M-x describe-char」で観察していたのですが、 「bold」っていうfaceは フォントフェイスがレギュラーしかない MeiryoKe_Console でも ボールドで表示できているなぁ? と思ったり。italic も faceの方に何か秘密があるのか?と思い直したりも。

2021/04/08

テレワーク。早めに終了。

東京都コロナ感染者。新規は545人。
過去の傾向や現在の大阪などの状況から見て、新規感染者の増加傾向は指数関数だと考えられるので、 感染防御の対策や意識が変わらない(==関数が変わらない)と、 ある人数を超えると急増するような感じになるのだろうと推測できます。 少なくとも、現状微増でも増加傾向にあるうちはやっぱりダメです。 そういや最近のニュース番組とかでは新規感染者の感染原因についての情報を言わなくなった ように思うのですが なんで?

少し前に厚生労働省職員が都内の飲食店で深夜まで送別会を開いていた話の続き。 その後 3人の感染が判明したみたい。今のところ送別会との関係はまだ不明としているようです。 なのですが、先日の東京都の人口に対する新規感染者数の割合の話とかを考えてみても、 感染する人は予防の意識が低く そういう人には同種の人が集まるという感じに思えてしまいます。 色眼鏡をかけた個人的な感想ですが。

以前、Google翻訳で単語の「least」を翻訳すると、形容詞に「いらばん少ない」って 出てきてたのですが (2016年9月 ,2019年3月)、 今どうなっているか見てみたら、やっぱり「いらばん少ない」って出るようです。 翻訳の方は「少なくとも」って出てくるので、翻訳と単語辞書は連動していないのかしら?と思ったりも。

以前、職場のWindows環境のEmacsが何故かBARカーソルになってて どうにも変えられなかったのですが、 こちらの Emacs 27.2の日本語翻訳マニュアルのPDFでフォントの設定について調べていたところ たまたまその後ろに「G.11 その他のWindows固有の機能」というセクションが あり、変数 w32-use-visible-system-caret って変数が 非nil だと システムカレット(system caret/キャレットとも言うらしい; 参考) を使う、つまりカーソル描画をEmacs自身で行わないという設定があるのを知りました。 「いやいや、そんな設定してないし?」と思って確認してみたら思いっきりデフォルトが t になってて、明示的にnilに設定すれば馴染みのあるBOXカーソルになりました😶 なんてこった..... てかなんで?🤔 の調べはまだ付いていません。

そういや前述のEmacsの日本語訳マニュアルですが、infoの同じセクションを見て みたところ、 w32-grab-focus-on-raise の説明の翻訳が無いなぁ?と思ったり。 何か違うのかも知れませんが。

Emacsのフォント表現。Emacsでは 「フォントオブジェクト(font objects)」 「フォントスペック(font specs)」 「フォントエンティティ(font entities)」 があり、関数fontp で検査できるようです。関数font-specでフォントスペックは生成できる ようですが、フォントオブジェクトやフォントエンティティって生成するものなのか?
もう少し調べてみると、関数find-font を使えばフォントスペックに対応するフォントエンティティを得られるみたい。 スクラッチバッファで試してみたのが以下。

(find-font (font-spec :family "MS Gothic")) ;press C-j
#<font-entity harfbuzz outline MS\ ゴシック mono iso10646-1 normal normal normal 0 nil 110 nil ((:format . opentype) (:script symbol kanbun ideographic-description han kana cjk-misc cyrillic greek phonetic latin))>

(find-font (font-spec :family "MS Gothic" :slant 'italic)) ;press C-j
nil

(find-font (font-spec :family "MS Gothic" :weight 'bold)) ;press C-j
nil

(find-font (font-spec :family "Meiryo")) ;press C-j
#<font-entity harfbuzz outline メイリオ mono iso10646-1 bold italic normal 0 nil 0 nil ((:format . opentype) (:script symbol kanbun ideographic-description han kana cjk-misc cyrillic greek phonetic latin))>

(find-font (font-spec :family "Meiryo" :slant 'italic)) ;press C-j
#<font-entity harfbuzz outline メイリオ mono iso10646-1 bold italic normal 0 nil 0 nil ((:format . opentype) (:script symbol kanbun ideographic-description han kana cjk-misc cyrillic greek phonetic latin))>

(find-font (font-spec :family "Meiryo" :weight 'bold)) ;press C-j
#<font-entity harfbuzz outline メイリオ mono iso10646-1 bold italic normal 0 nil 0 nil ((:format . opentype) (:script symbol kanbun ideographic-description han kana cjk-misc cyrillic greek phonetic latin))>

ふむ。「MS Gothic」ではフォントスペックとして「:slant 'italic」や「:weight 'bold」 で探しても対応するフォントエンティティ(実フォントというニュアンスか?)が見つからない となっているように思います。「Meiryo」はフォントフェイスとして「イタリック」も「ボールド」 もあるので対応するフォントエンティティが返ってきているという感じみたい。 このフォントエンティティをどうにか弄って MS Gothic も Meiryo と同じように boldとitalicを強引に変えればイケるのか?

2021/04/07

テレワーク。早めに終了。

東京都コロナ感染者。新規は555人。ダメだな。
ダメな実感が湧かない。 例えば555人の新規感染者数ってのは 東京都の人口 約1395万人対して 0.0039% の割合しかありません。 10万人に約4人。懸賞とかならほぼ当たらないと思って良い確率な訳です。 この確率で感染するってなんなの?と思うところがあるのはさておき、 周囲に沢山居るって感じがしないのは当然だと思います。 ただ、感染者の行動範囲などから感染確率の高い地域があるんじゃないか とは思います。しかし如何せんサンプル数が少なすぎるようにも思うので 絞り込みも難しいのかも知れません。
夕方のニュースの特集だかで感染した人の話をしてましたが、「対策はしていなかった訳ではなくて」 の後に、「出社は週に1回、電車は混雑時間を避けて、外食は感染対策された店を選んでいた」 って言ってたのですが、なんだ外出てんじゃん、人と接してるじゃんって思う訳です。 加えてPCR検査の結果が出る前に、出社したとか飲み会に出たとかいう話を聞いていると、 やっぱり「日常的に感染対策をしているつもりが できていない(穴だらけ)」のが原因としか思えません。 実際のところ、発症から5日間くらい前の日の行動を思い出すだけだと思われるのですが、 結果として「心当たりが無い」というのは、普段からできていないけどたまたま周りに 感染した人が居なかっただけか、疑わしい期間に普段と違う行動をしてたけど嘘ついているかだと思われます。 それにしてもインタビューに答えてる人って(今までTVでは数人しか見たことはありませんが)、 なんかこんな感じなんだよなぁ(以前のメモ)? というのは個人的な感想です。

フォントにイタリックのフェイスが無い場合に create-fontset-from-ascii-font とかで slantにitalicを指定するとエラーする件。どこで反応しているか調べてみるも深すぎてまだ場所が判らず。

2021/04/06

テレワーク。早めに終了。

東京都コロナ感染者。新規は399人。ダメだな。

そういや EmacsでHTMLモードやOrgモードでイタリック表示 のタグ(HTML5では意味合いが変わっているようですが)を使用するとEmacs上の表示も イタリックで表示されていました。最近気づいたのですが、今のEmacsって イタリック表示が反映されていないなぁと。
で、ちょっと調べてみたのですが、Webでも同じような話題が挙がってたり するものの、これといった対策に着地できない感じのようです。 ちょっと弄るんじゃダメなのか?と思った訳ですが、調べ始めたらだいぶ沼が深い 感じのようです。まだ解決した訳ではありませんが、深そうなので少しメモを残して おこうと思います。

まず「イタリックとはなんぞや?」という所から😅。 イタリック体のWikipedia を見てみると、「イタリック体」と「斜体(オブリーク体)」の違いがあるのを 知りました。厳密にはイタリック体は少し筆記体のようなテイストがあるようで、 傾きの無い「立体」とは別のデザインとなる場合があるようです。一方「斜体」 は「立体」を傾けただけという違いがあるそうな。 Emacsのフォント指定などを行う際に「slant」というパラメータがあり、指定できるシンボルが 「italic」と「oblique」に分れています。「イタリック体は斜体の事」って思っていたので 「何が違うんだ?判らん」ってなっていた疑問が解消されました😃。

少し話は変わりますが「メイリオの日本語文字はイタリック体が無い」という話。 メイリオには「レギュラー」「イタリック」「ボールド」「ボールドイタリック」 の4つのフェイスがあるのですが、Windowsの「フォント設定」で調べてみると 確かに日本語文字は「レギュラー」と「イタリック」に差はありません。

メイリオ フェイス

これはフォントのデザインを優先している為の様です。 因みに MeiryoKe_Consoleは「レギュラー」のみとなっています。

で、ポイントはここから。Emacsの Options→SetDefaultFont でフォント選択ダイアログを 開くと、「スタイル」を選択してサンプルでプリビューする事ができますが、 「MSゴシック」や「游ゴシック」や「MeiryoKe_Console」ではスタイルに「斜体」を 選べばサンプルは斜体で表示されます。 所が、Emacsではこれらのフォントを使って 例えば slantにitalicやobliqueを指定する事で create-fontset-from-ascii-font関数で fontsetを生成しようとするとエラーになってしまいます。
「MSゴシック」のフェイスは「標準」(レギュラーの事かと)しかありません。また、 「游ゴシック」のフェイスは「Light」「Regular」「Meidum」「Bold」の4種類がある のですが、いわゆる「Weight」の違いで分れているだけです。 メイリオの日本語文字はレギュラーもイタリックも同じ文字形が登録されているので イタリックを選択しても傾かないのは理解できる訳ですが、MSゴシックや游ゴシック のイタリック体や斜体が無くて表示できないというのであれば、サンプルでプリビュー できるのは何故だ?となりました。因みにExcelやLibreOffice Calcなどで試してみると 確かにメイリオの日本語文字はイタリックにしても傾かないですが、それ以外のフォントは 斜体になります。

と、ここまでを踏まえて、Emacsでは 指定したフォントにイタリックのフェイスが無い場合は エラーするという反応をしているように見える訳ですが、なんかおかしくね?と思った訳です。 多分、イタリック体(もしくは斜体)にしたい場合、

  1. フォントファミリにイタリック体のフェイスがある場合はそのフェイスを使用する。
  2. イタリック体のフェイスが無い場合は機械的な変形で「斜体」としてレンダリングする。

なんじゃなかろうか? 実装としては WindowsAPI的に LOGFONTのlfItalicを1にすれば よしなに処理されるんじゃないかと思います。ただ、「イタリック体のフェイスは持っているが、 敢えて 斜体(オブリーク体) で表示したい」という要件には応えられないAPIかもと 思ったりはします....🤔

という訳でフェイスの有無に関係無く slantの指示があった通りにフォントを構築 すれば良いんじゃね?と思ってコードを見てみるも、どこで何やってんだかよく判らず。 Lisp_Object渡しは辛い.....🥺

2021/04/05

テレワーク。早めに終了。

東京都コロナ感染者。新規は249人。月曜だしな。

Revision 2021 Onlineの結果発表を見られたり。 ダイジェストとして1位だけはどんなのか観られたのですが、 他も気になるので動画が上がったらゆっくり観ようと思います。

2021/04/04

AM中に起床。

掃除したり洗濯したり。

東京都コロナ感染者。新規は355人。

感染対策に応じない客を追い出す権限。 ここでは何度かダメな客を追い出す権限について記した事があります (1, 2, 3)。 実際にそれが施行される事になった訳ですが、それに対して 飲食に直接関係の無いニュース番組のコメンテーターなどが 「客に言うのは難しい」的な事を言うのはダメだと感じます。むしろ言うなら 「今の状況で出来ていないという指摘に応じないられない奴は頭がおかしい」くらいに アホな客は一切擁護できないという姿勢で臨むべきだし、そう言わないと外野が余計な 事を言って邪魔をしている事になると考えられます。
ちゃんと対応できている客ならば問題は無い訳で、そういう客ばかりであれば店も客も Win-Winの関係になる訳ですから、トータルで見てプラスになる可能性が高いと考えられます。 デタラメな客を一度でも許容すると そういう客ばかり集まる可能性があり、 集客的な面で一時的には潤うかも知れませんが、「あの店で感染した」ってなったら 恐らく一発アウトになるだろうと思われます。

たまたまPouetのページを見てて、 「Revision 2021 Online」 が開催中だというのを知ったり。 去年はパーティー自体はキャンセルされて 急遽オンラインで行われた感じみたいでしたが、今年もOnlineで開催です。 タイムゾーンはCESTで、CEST=JST-7時間 という時差なので、 Oldskool Graphicsを少しだけ見られました。もう少し早く気づけば....というのはさておき メインのコンポは日本時間で4月5日の早朝5:00から なので残念だけどちょっと見られんなぁ😞 結果発表は日本時間の4月5日19:00から なので見られるかも😃

2021/04/03

起きたら午後もいい時間。寝すぎ。

東京都コロナ感染者。新規は446人。

今日から 「Thunderbolt Fantasy 東離劍遊紀3」 が始まりました。前までのストーリーをすっかり忘れてしまっていますが、 アクションすげぇなぁと毎度思います。

そういや子供の頃(40年近く前か?)に公民館のイベントか何かで人形劇を見た事がありました。 いわゆる「ハンドパペット」による人形劇で 演目は孫悟空でした。 TANE自身は何も判らずに連れられてきた感じだったので期待は全くしていなかった訳ですが、 孫悟空が登場したところで

ハンドパペットでバック転

っていうバック転技を披露。その後も敵との乱闘で連続バク転を行ったりしてて 一瞬で引き込まれました。 人形の操者は中国の人で、今回披露する為に声当てはカセットテープで日本語に吹き替えてた というのを最後に説明されたのを覚えています。しかし、その後同じような技を見る事も、 そういう人形劇団の話も聞くこと無く今に至ります。 で、現在のテクノロジーWeb検索で少し探してみたのですが、今のところ特に情報は得られませんでした。

子供の時に「海老一染之助・染太郎」を普通に観ていた頃はあまりに簡単そうにやるので そういう物だってくらいの感じでしたが、今観てみるととんでも無い技を息をするかの如く披露しているのに プロの芸ってのを改めて認識し直してしまいます。

2021/04/02

テレワーク。早めに終了。

東京都コロナ感染者。新規は440人。

org-modeを使った手持ち文書の中に shellのコードブロックを実行するものがあるのですが、 出力の挙動が変わっていたり。9.4系で 仕様が変わっていたらしく (15.6 Results of Evaluation)

#+BEGIN_SRC shell :results value raw :exports results
LANG=C echo "Last update is `LANG=C date`"
#+END_SRC

って書くと、コマンド echo の終了コードが結果(文字列の「0」)として返って来ているようです。 以下の様に「:results value raw」を「:results output raw」に書き換えて対応。

#+BEGIN_SRC shell :results output raw :exports results
LANG=C echo "Last update is `LANG=C date`"
#+END_SRC

org-modeはバージョンが上がると非互換な文法の変更が割と行われるのが辛いです🥺

2021/04/01

テレワーク。早めに終了。

東京都コロナ感染者。新規は475人。
ところで こちらの 新規感染者数のグラフを見ると、最近の変化は微増くらいの感じに見えるのですが、 これまで最多の約2500人で正規化されているせいで、昨日と今日とでは60人くらいと まぁまぁ大きな差があるのにイマイチ伝わらない。

「まん延防止等重点措置」。対策として何をやるのかと思えば 実質緊急事態宣言と同じなのでは とは思ったりも。 結局のところ、感染拡大するのは感染防止対策や行動ができていないから。 以前も記しましたが、やっぱり敵はコロナウイルスではなく 人だと思います。てか実際そうなってるよね? ここでは何度も記していますが、 「N波になるのが懸念される」って感染拡大を自然現象のように受け身で捉えてないで、 「もし第N波が起こった時、その原因は感染予防のできていない奴らだからな!」 って、ちゃんと言えば?

ちょろり調べ事。


TOP PREV