スマホからパソコンに接続できないときは「ホームグループ」設定を見直そう

スマートフォンからWindows PCへ接続したくてできないことがあった。

ことの始まりは、パソコンをリカバリーしたことだ。以前からWindows10が入っていたもののいじりすぎて調子が悪くなってしまい、あらかじめ作ってあった回復ドライブDVDからリカバリーをした。やりすぎなくらいにハードディスク内を真っさらにしてくれたおかげで、Linuxパーティションまでも消えてしまったが。

そうして綺麗になったWindowsだが、むしろもしかしたらそれによって、不都合が生じた。それまではAndroidスマホ (Solid Explorerというアプリで)やiPad (同じくFilza)からパソコンに接続してファイルの転送をしていたのがうまくいかなくなった。

解決は単純なことだった。
パソコンのネット接続が「プライベートネットワーク」扱いになっているかを確認し、もし「パブリックネットワーク」か何かになっていたら、それに変える。
それだけのことだ。それから「ホームグループ」を作成した。もしかしたらこれは必要ない作業かもしれないが、一応やっておいて損はないだろう。

具体的な手順はここが参考になった。

news.mynavi.jp

コントロールパネルの「ネットワークとインターネット > ホームグループ」の画面で、黄色い三角の!が出ているはずだから、「ネットワークの場所の変更」を押して、確認画面で「はい」を選ぶ。

この時点でスマホアプリ側では接続できるようになっていることと思う。一旦前の設定を消して、再度IPアドレスやユーザー名を入れ直す。そうすると "C:\Users\" 以下やドキュメントフォルダにアクセスできる。

それで終わりなのだが、まだどうも腑に落ちない。以前の環境では、スマホ側でCドライブ直下からファイルを表示できていた気がするのだが、はてどこをどうやったらそうできるのか…

iOS辞書アプリのURLスキーム

iPadiPhoneで使えるドイツ語辞書アプリには、有名どころのアクセス独和や独和大辞典以外にも選択肢はある。
Langenscheidt(ランゲンシャイト)社の出している独独辞書 German Learner's Dictionary だとか、

German Learner's Dictionary

German Learner's Dictionary

  • Langenscheidt GmbH & Co. KG
  • 辞書/辞典/その他
  • ¥2,400

PONS(ポンス)社の Dictionary German English (独英・英独辞書)とかだ。

Dictionary German - English ADVANCED by PONS

Dictionary German - English ADVANCED by PONS

  • PONS GmbH
  • 辞書/辞典/その他
  • ¥2,600

どちらも日本の出版社の出す辞書アプリと違って全文検索など当然のようにできるし、そもそも辞書のほぼ全ての内容がオンラインで公開されている。

Online-Dictionary by Langenscheidt

Online-Wörterbuch von PONS

日本の辞書業界と違って(2回目)このように辞書というものに対しての意識が欧州人はまるで違うのだが、一点だけは不親切なところがある。
アプリ間連携の話だ。

公式サイトにもアプリ解説文にもURLスキームの話は載っておらず、検索ハブから飛びたい場合にどういう具合に指定すればよいのかわかりづらい。
そもそもできるのかどうかすら怪しかったが、結論から言うと出来るのだ。しかもコールバックまで設えられている。

この方のツイートに助けられた。感謝感謝。

これでPONSのほうは他アプリからの検索ができるようになったわけだがもう一つのほうは、はて?
同氏のツイートによればLangenscheidt社も同じ規格に則ってアプリを作っているらしいので、Open Dictionary API Allianceの解説ページを見てみると、こう書けば良いことがわかる。

com.slovoed.api.<数字>://show=<検索ワード>|return=<戻る先のアプリのパッケージ名>

ここで<数字>には辞書ごとに1から999までのいずれかが入る。
いずれかである事は確かなのだが何番なのかがわからない。不親切極まりない

じゃあどうやって探そう?
iOS9の変更がもたらすURLスキーム利用への変化 – canOpenURL | reliphone
を参考にして、標準のメモアプリにでもこんな風に書いて、青文字になればその行がアタリ。

javascript:location.href='com.slovoed.api.210://show='+encodeURIComponent('_Q_')+'|return=myfind%3a%2f%2fback'

ここにテキストファイルを置いておくのでめんどくさいひとはどうぞ

url_schemes.txt - Google ドライブ

これでやっと終わった!
Langenscheidtの方は210番、PONSの方は228番とわかった。

"User experience" in Japanese???

User Experienceを日本語で何と言えばよいのか、いい訳語は無いものか。 ユーザーエクスペリエンスとは「使用感を得ること」。 これ以上に適切な日本語を探す語彙は私にはないし、あったとして日常を遠く離れた漢語の世界だろうからそれを人前で使うのは現実的でない。 日本語の表す「経験」「体験」のイメージとexperienceのイメージがどうにも合わないのだ。

CSSに変数を使い、さらに文字種ごとにフォントを変える

フォントを変えよう

ウェブサイトの中にはMS PゴシックCSSで強制してくるものがあります。とくに古くからあるものだとその割合は高いです。ブラウザ設定で自分好みのフォントにしていてもそのサイトだけはダサく見える…、そんなこともあるかと思います。そんな時にはStylishを使ってブラウザ側で書き換えてしまいましょう。

Stylishとは

FirefoxChromeで使えるアドオンです。CSSを上書きすることで、あらゆるサイトの見た目を好きなように変えてしまえます。 例えば

body {
  background-color: red;
}

このように書いておけばbodyタグ以下のページ要素、すなわちページ全体に対して背景色を指定できます。この場合は真っ赤になります。

何ができるの

とまあ、ここまではご存知のかたも多いでしょう。ここからが本題です。 お伝えしたい点は3つです。

  1. CSSで(LESSやSASSではなく)も変数が使える
  2. @font-facesrcというプロパティでローカルにあるフォントファイルを指定できる
  3. @font-faceunicode-rangeというプロパティでフォントを適用する文字を絞り込める

では具体的に見ていきます。

CSSで変数を使う

このように指定します。

:で始まる名前が名前空間を表し、変数名の先頭には--を付けます。

:root {--font-japanese: "源ノ角ゴシック";}
body {
  font-family: var(--font-japanese);
}

こうすることで、別のフォントに変えたい時、編集が楽になります。この例では意味がありませんが、CSSが複雑に、長大になってくると効果を発揮します。 ただこれは、残念ながらFirefoxだけしか対応していないようで、Chromeでは使えないのが難点です。

srcプロパティ

ふつうこのようにsrcはサーバーの別ディレクトリーにあるフォントを指定する時に使います。

@font-face {
  font-family: "MS Pゴシック";
  src: url('/fonts/myfont.ttf');
}

が、local()を使うと自分のパソコンに入っているフォントファイルを使う事ができます。 さらに先述の変数化と組み合わせると

@font-face {
  font-family: "MS Pゴシック";
  src: local(var(--font-japanese));
}

unicode-rangeプロパティ

さて、ここまででも十分にウェブサイトを美しいフォントで表示できるようになりました。 しかしまだ残念な点があります。というのは、上掲のCSSをそのまま書いてしまうと、アルファベットや数字まで日本語フォントに引きずられてしまうのです。そのほうが統一感があってよい、という人にはここからの話は関係ありませんが、実際問題アルファベットはアルファベット専用に設計されたフォントで見るほうがより綺麗に見えます。そんな時にはどうするか?

@font-face {
  font-family: "MS Pゴシック";
  src: local(var(--font-japanese));
  unicode-range: U+0080-FFFF;
}

unicode-rangeにはUnicodeの番号を、その名の通りハイフンで繋いで範囲として指定します。この場合80番からFFFF番まで…つまり英数字以外全部です。英数字には別途指定することもできます。また、うまく数字を区切れば、ひらがなだけ、カタカナだけ、キリル文字だけ、サンスクリット文字だけ、というようなこともできるかもしれません。


私の使っているものを晒そうと思いましたが、結構な分量だったので別記事に分けることにします。

zauberer.hatenablog.com

CSSで文字種ごとにフォントを変える (実例)

CSSに変数を使い、さらに文字種ごとにフォントを変えるということを別記事で書きました。

zauberer.hatenablog.com

こちらがそのStylishCSSです。

@charset "UTF-8";

:root {--font-english: "AvenirNext LT Pro Regular";}

:root {--font-japanese: "さわらびゴシック";}

:root {--font-coding: "源ノ角ゴシック";}

/*──────────*/

body {
  font-family: var(--font-english), var(--font-japanese);
}

/*──────────*/

@font-face {
  font-family: "MS PGothic";
  src: local(var(--font-english));
  unicode-range: U+0000-007F;
}

@font-face {
  font-family: "MS PGothic";
  src: local(var(--font-japanese));
  unicode-range: U+0080-FFFF;
}

@font-face {
  font-family: "MS Pゴシック";
  src: local(var(--font-english));
  unicode-range: U+0000-007F;
}

@font-face {
  font-family: "MS Pゴシック";
  src: local(var(--font-japanese));
  unicode-range: U+0080-FFFF;
}

@font-face {
  font-family: "MS Pゴシック";
  src: local(var(--font-english));
  unicode-range: U+0000-007F;
}

@font-face {
  font-family: "MS Pゴシック";
  src: local(var(--font-japanese));
  unicode-range: U+0080-FFFF;
}

/*──────────*/

@font-face {
  font-family: "MS ゴシック";
  src: local(var(--font-english));
  unicode-range: U+0000-007F;
}

@font-face {
  font-family: "MS ゴシック";
  src: local(var(--font-japanese));
  unicode-range: U+0080-FFFF;
}

@font-face {
  font-family: "MS Gothic";
  src: local(var(--font-english));
  unicode-range: U+0000-007F;
}

@font-face {
  font-family: "MS Gothic";
  src: local(var(--font-japanese));
  unicode-range: U+0080-FFFF;
}

@font-face {
  font-family: "MS ゴシック";
  src: local(var(--font-english));
  unicode-range: U+0000-007F;
}

@font-face {
  font-family: "MS ゴシック";
  src: local(var(--font-japanese));
  unicode-range: U+0080-FFFF;
}

/*──────────*/

@font-face {
  font-family: "MS UI Gothic";
  src: local(var(--font-coding));
  /*src: local("Consolas");*/
  unicode-range: U+0000-007F;
}

@font-face {
  font-family: "MS UI Gothic";
  src: local(var(--font-coding));
  /*src: local("Meiryo UI");*/
  unicode-range: U+0080-FFFF;
}