2019年9月3日火曜日

FontLinkのエントリには上限がある?

最近、視力が落ちてきた実感があるので、見やすいコーディングフォントを探しつつ設定もいろいろ考えています。

そんな中、MyFontsから面白そうなフォントがお薦めされたので買ってみました。その名もComic Code。作者は日本人っぽい名前です。それほど高くなかったので、サンプルを見た上でこれならよさそうかな?という感じで。

もちろん購入→インストールは問題なく済んだのですが、問題はFontLinkです。またかFontLink。いったいどれほど悩ませてくれるんだ。

今回の困ったこと:いきなりFontLinkが無効になった。今まで有効だったフォントも含めて。

たとえばConsolasとかInconsolataなんて、ずいぶん前からFontLink指定していて、あれこれ試すときには選択肢に入れているわけです。RstudioとかEmEditorとか、フォントを変えては使い勝手を試してみたり。

余談ですが、Rstudioはどうも神経質です。Comic Codeは悪くないんですが、なぜかバッククオートの表示が崩れます。EmEditorだと崩れないので、Rstudio固有の問題みたいですね。そういう問題で使えるフォントが制限されるのは本当に嫌なものです。

さて、困ったのはとにかくFontLinkをもう一度有効化する方法がわからないこと。もしかして最近のWindows Updateが何かしたのか?でもそういう話が出てきてないよねぇ…日本語英語問わず検索してもそういう話が最近出てきた様子がありません。ならば、これは「俺環」ってことです。

全部やり直すため、Comic CodeのFontLink指定を削除して再起動してみたら、あれ?InconsolataのFontLinkが復活した。ということは…

FontLinkのエントリ数に上限があるのでは?

早速、インストールされていないフォントのFontLinkエントリを削除し(たとえばBatangとか)、Comic Codeのエントリを再度入力して再起動。

…有効になりましたよ。

上限の条件を細かく検証する気にはならないけど、無効になっちゃってたときのFontLink-SystemLinkのエントリ数は100を超えていました。エントリ数の上限が100なのか96なのか、はたまた上限は総文字数(バイト数?)で決まっているのかわかりませんけど、とにかくFontLinkに指定できる内容には上限があるってことですね。

まぁ、ガンガン追加するようなもんでもないので、そうそう同じ事は起きないだろうと信じます。そして、似たような事が起きたらこの経験を思い出せばなんとか対処できるでしょう。

2018年5月2日水曜日

CamingoCodeのFontLink

(あまりやらないんだけど)プログラミングの時には等幅フォントが見やすい。なので、InconsolataとかConsolasとか、あるいはSource Codeなどのコーディングに適したフォントがいろいろある。

個人的には、いろいろ試した結果CamingoCodeが一番好きな感じ。

そこでこのフォントを使いたいところなんだけど、当然(?)日本語は含まれていないので、これをエディタのフォントに設定すると日本語がMSゴシックになっちゃうし、字幅も1バイト文字2文字分が2バイト文字1文字分にならないのがちょっと気持ち悪い。実のところ、あまり実害はないんだけど。

日本語の表示に関しては、特に画面で見る場合、メイリオが見やすい。游ゴシックはちょっと見づらい気がする。単なる慣れかもしれないけど。

そうすると、CamingoCodeとメイリオを組み合わせて表示したくなる。これを実現するのがフォントリンク。

細かいことは検索すれば教えてくれるサイトがいろいろあるので、ここではCamingoCodeに限った問題を。

たとえば、Inconsolataの場合、フォント名「Inconsolata」のレジストリをフォントリンクのフォルダに作ればいいんだけど、なぜかCamingoCodeはそれが通用しなかった。

ファイル名:CamingoCode-Regular(.ttf)
フォント名:CamingoCode
フルネーム:CamingoCode Regular

「フルネーム」はフォントのプロパティを表示させたときにタイトルバーに表示される名前。

さて、どの名前のレジストリを作ればいいんだろう?

…結論。「CamingoCode」と「CamingoCode Regular」の両方が必要だった。どっちかだけではダメらしい。

これは、はまった。レジストリの中身や名前を書き換えては再起動を繰り返すうちに、たまたま2個存在する時だけフォントリンクが有効になったのを偶然発見。

結果として好きなフォントが使えるようになったのはいいけど、ずいぶん苦労させられたなぁ…

2018年4月14日土曜日

Dropboxにファイルを置くとファイル名が自動的に書き換えられる件。

約1年ぶりの書き込み。

これまた、苦労した…もっとちゃんと知識があればいいんだろうけど。半端だから。

【問題の現象】

  • Mendeleyの添付PDFファイルのフォルダをDropboxに丸ごとコピーしてバックアップにしている。
  • バックアップツールで同期バックアップを行うと、何も変更していないのに毎回書き換えられるファイルがある。
  • バイナリ比較ツールで比較しても「完全に同一」と言われる。つまり中身が壊れたわけじゃない。
  • 問題のファイル名にはアクセント記号がついた文字がたくさん入っている。


【いろいろ確かめて(やっとこさ)わかったことなど】

  • どうやらジャーナル名の「ó」に問題があるようだ。この文字を「o」にするだけで問題が解決する。
  • でも正式なジャーナル名は変えたくない。
  • しかも、同じ「ó」が著者名にも含まれているので、ジャーナル名に使われたときだけダメってのは変だぞ?
  • エディタ(EmEditor)にコピー&ペーストしてみる。…この文字、ちょっと見え方が変?
  • 拡大すると…見え方が違う。左はMendeleyがファイル名につけたもの、右はDropboxに保存されたファイル名についているもの。
  • メモ帳にペーストしてみる。メモ帳のフォントでは見え方が同じ…かと思いきや、削除するときに右の文字は1ストロークで消えるのに、左の文字は2ストロークで消えるという違いが。EmEditorでは両方1ストロークで消えたけど。1ストローク目はアクセント記号だけが消える。…2文字が重なった状態なのか。
  • ということは…著者名に使われているのは右の方だった。
  • つまりMendeleyの書誌情報の中で、ジャーナル名のところを書き換えれば…
はい、解決しました。無事にバックアップソフトも同一ファイルとみなしてくれて、エンドレス消去・コピーの連鎖が止まりました。

さて、困るのは…
  1. Mendeleyが問い合わせたときにデータベースが返すジャーナル名がそもそもおかしい。
  2. Mendeleyがその変な文字をそのままファイル名につける。
  3. Dropboxがファイル名を勝手に書き換える。
すべての合わせ技ということね。1はどうしようもない。3もたぶん文句を言っても無理。なので、自分でどうにかできるのは2だけってことで。

今後もバックアップ時のログでエンドレス書き換えが見つかったら、ファイル名の文字をちまちま確認するしかないのかな。


ああ、面倒…

2017年5月1日月曜日

フォルダの暗号化とその解除

いや~久しぶり。

その間何もなかったかといえば、むしろいろいろあった。ありすぎた。

でもまぁ、自分が検索して簡単に得た答、あるいは検索しても結局わからなかったことは自分のブログに書いても関連情報の検索結果のS/N比が落ちるだけなので。

んで、久々に書くのは…やっぱり備忘録的なメモ。

とあるフォルダをサブフォルダも含めて全部暗号化しようとして、エクスプローラでそのフォルダを右クリック→プロパティ→詳細設定→「内容を暗号化してデータをセキュリティで保護する」のチェックボックスをオンにする。

これはまぁいい。

問題は、そのフォルダの暗号化を解除しようとするとき。

やっぱりエクスプローラで当該のフォルダを右クリックして…とやり、「内容を暗号化して…」のチェックボックスをオフにして適用する。

そうすれば、そのフォルダ以下の全ファイル・フォルダの暗号化が解除できる…はず。

ところが、「指定されたファイルの暗号化を解除できませんでした」っていうエラーが出ちゃうんだよね。

で、失敗する。

これはなぜかというと、暗号化の解除作業のためにエクスプローラで当該フォルダを右クリックしたとき、エクスプローラがそのフォルダにロックをかけちゃうから、らしい。

作業するための作業が作業できない状況を作るという意味不明な展開。

解決方法:詳細設定のダイアログを表示させたら、エクスプローラを終了する。それから暗号化解除の設定を適用する。

ま、要は作業中のダイアログ以外をすべて終了してしまえ、と。

しかし、これは、ちょっと…なぁ…。

2016年3月1日火曜日

Windows 10 (8以上?)でUSBメモリをFAT32フォーマットすると…

う~ん、またまためっちゃマイナーなネタ。

困ったこと:Fuji Xerox DocuCentre-IV C4475がUSBメモリを認識してくれない

  • マニュアルではUSB2.0、128GBまでOKとのこと
  • サポートに確認したらフォーマットはFAT12・16・32とvFATに対応。exFATは未対応。
  • Transcend製だけ認識しない問題は修正済み。しかも今回はTranscend製ではない。
  • USBメモリをいろいろ用意してみた。とりあえず4(USB2.0)・16(USB2.0)・32(USB3.0)GBの3種類。
  • 3本ともFAT32でフォーマット。OSはWindows 10。
  • なぜかDocuCentreからは4GBのメモリだけ認識される。あとは壊れているとかなんとか言って認識されない。
  • PCでは3本とも全部ちゃんと読める。
さて、困った。サポートに聞いてみてもわからない感じだし、サービスマンに来て実際に見てもらってもわからないみたい。

PCでは読めているわけだからフォーマットしたPCの問題ではないと思いつつ、手近にあった別のPC(Windows 8.1)でフォーマットし直してみたが、やっぱり認識せず。

ここでサービスマンは一旦社に戻って確認するとのこと。つまりはお手上げ。(お手数をおかけしました)

しかし、その後でふと考えた。Windows 10はWindows 8.1からの「アップデート」みたいなもんなので、実質的に「同じOS」なんじゃないか?Windows 7でフォーマットしてみたら?

…読めたよ。DocuCentreがさくっと認識したよ。16GBも32GBも。

では、Windows の7と10でフォーマットしたUSBメモリは何が違うんだろう?

DiskPartで情報を見てみる。DISKの情報、PARTITIONの情報、VOLUMEの情報。

…PARTITIONの情報に気になる違いが。「detail partition」の出力の中に「オフセット(バイト)」の値がある。

読めるメモリ(Windows 7でフォーマット):4194304
読めないメモリ(Windows 10でフォーマット):4128768

よくわからんが、オフセットの値が問題になるのは「アライメント」の問題でもあるらしい。

ここまでで一応の対応策として、「4GBより大きな容量のメモリはWindows 7でFAT32フォーマットして使え」ということになるんだけど、身近からWindows 7が減ってきている状況でこれはあまりありがたくない。

では、「アライメントを修正する」という解決策を考えてみる。それには、何やらツールが必要とのこと。適当にググってみたら「MiniTool Partition Wizard」ってのが見つかった。

こいつでWindows 10でフォーマットした「読めない」メモリのアライメントを修正してみる。

…読めない。

ダメなのか、やっぱり?…と思いつつ、今度はMiniTool Partition Wizardに搭載されたフォーマッタでFAT32フォーマットしてみる。

…読めた!

う~む。一応、解決。Windows 10 (8以降かな?)でも、OS標準じゃなくてMiniTool Partition Wizardみたいなツールを使ってフォーマットすれば、DocuCentreで認識できるメモリが作れる。

しかし、なぜこうなったんだろう。Windowsのバージョン違いでFAT32フォーマットのアライメントが変わったのも謎なら、PCで読む分にはまったく問題にならないその違いをシビアに見分けて弾いてしまうDocuCentreも謎。

とりあえずサポートに連絡して状況を説明したので、そのうちどっちのフォーマットでも認識してもらえるようになることを祈りつつ。

2016年1月6日水曜日

Windows 10 の「システム音量」問題

これは「バグ」だと思うんだけど、どうもそういう話ではない方向になっているようにも思える。

まず、前提として…
  • Windows 10の「音量ミキサー」を見ると、「デバイス」ってのが一番左にあって、これは出力先を選択すると同時に、ハードウェアとしての音量の上限を決めているように思える。
  • その右には「アプリケーション」という括りがあって、だいたい最初(一番左)には「システム音」ってのがある。ここを操作すると、システムの通知音のボリュームが変わる。…ように思える。
  • その他、アプリケーションごとに音量を変えることができる。でもこれは今回あまり関係ない。
さて、問題は2点目。「システム音」で変更した音量に従わないで、大音量で通知音が鳴る。設定に従う通知音もあるんだけど。

基本的にシステムの通知音は気づけば十分なので小さめにセットして、音楽や映像の音声を大きめにしてるんだけど、そういう設定を無視して突然「ぴろり~ん」とでっかい音が鳴るとマジでびっくりする。

「Windows 10 システム 通知音 ボリューム」みたいなキーワードでググってみた。
  • 「システム通知音の消し方」→違うんだ、消すんじゃなくて小さくしたいんだ
  • 「そういうモンだ、あきらめろ(英語)」→イヤだ
そこで、通知音のファイル自体をいじくることにした。だってイヤなんだもん。

Windows\MediaフォルダにあるWAVファイルをどこかにコピーし、Audacityなどのツールをつかって音量を小さくする。この辺はあまり細かく考えず、実際に聞きながら適当に変えた。

これを「サウンド」→「サウンド」→「プログラムイベント」の各項目で鳴らすファイルとして指定すればいいと思ったんだけど…

そもそも「システム音」の音量設定に従ってくれない通知音は、Windows\Mediaフォルダにあるファイルを使うことに決まっちゃってるみたい。プログラムイベントに表示される項目についてはすべて音量を調整したファイルを指定したんだけど、やっぱり爆音で鳴っちゃう。

ということは、つまり、Windows\Mediaフォルダにあるファイルそのものを書き換えないといけない。

ところが、最近はシステムファイルをいじくろうという行為は、たとえ管理者権限があろうとも許されないのね。拒否されちゃう。

しかし、これを書き換えなければ通知音はうるさいまま。それは本当にイヤ。

なので、「コマンドプロンプトで起動」を使って、強引に書き換える。システム起動時の詳細ブートオプションからコマンドプロンプトを選択して起動し、音量を調整したWAVファイルをWindows\Mediaフォルダにぶち込む。その後改めて通常のWindows 10を再起動。起動後に確認したところ、無事にシステムフォルダ内のファイルが書き換えられていた。

さて、面倒だったけど、これで通知音がうるさ~い!ということはなくなった。

それにしても、いろいろ事情はあるんだろうけど、どんどんデフォルトは使いにくくなり、その上カスタマイズの自由度を制限する方向にシフトしていくね。それでいいと本気で思ってんのかな?> Microsoftさん(およびその他のソフトウェアメーカー)

Google Chromeで突然入力できなくなる

何か検索しようと思ってGoogle Chromeを開く。

検索する言葉を入力していると、突然全く入力されなくなる。

あるいは最初から入力されないこともある。

いつもじゃない。でも、何かきっかけがあるようだ。特に、日本語入力のOn・Offを切り替えたときに何かフォーカスが吹っ飛ぶようなタイミングがあるんだろうか。

そんな気がするだけなので、確かめていないし確かめようがない。

で、どうするか、というと…

違うアプリケーション(デスクトップでもいいよ)にフォーカスを移動し(キー操作ならCtrl+Tab)、もう一度Google Chromeに戻す。

これだけ。

他にもやり方があるみたいだけど、まぁこれで一応使えるのでいいかな、と。

それにしても、Chromeの問題ならさっさと直して欲しいな。