たまりば

  パソコン・インターネット パソコン・インターネット  三鷹市 三鷹市

Eee_キー分解
2009年04月27日 06:17

EeePCの右Shiftの効きが悪いので分解してみた。

ノートPCのキーボードを分解したことはないのでまずは観察する。
戦々兢々としながら端を少し持ち上げたり裏返したりして数十分覗き込んでみた。

けどよく分からないので適当に外そうと力をかけてみた。

結果、幸いにも無事に分解できた。奥側から外すのが正解のようだ。

キーはこのようになっている。
キーを裏から
上が奥、下が手前。
キーを横から
左が奥、右が手前、手前が右、奥が左。

…奥とか手前とかよく分からないかな。
こうね。
キーボード座標系

で、パンタグラフの方はこんな感じ。
パンタグラフ
左が上、奥が奥。
パンタグラフ
同上。
パンタグラフ表
表向き。左上が奥。
パンタグラフ裏
裏向き。同じく左上が奥。

キーに手前側だけはめるとこんな感じ。
キーwithパンタグラフ
手前は固定はされず可動式。奥はパチッとはまる感じ。

キーの下はこんな感じ。
キーの下

キーの下には4枚のフィルムがあるが、これが端から簡単にいじれてしまう。水とか入り放題。こんなことでいいのだろうか。
4枚の内訳はよく分からないが、一番上の白いのはたぶん保護用だと思うので、下の透明な3枚に配線が入っていると思われる。
なのでこの3枚の間の隙間をプラスチックの切れっぱしにティッシュペーパーを巻いて掃除し(た気になっ)てみた。
が、反応の鈍さは変わらず。残念。
他のキーも外せばより徹底的に掃除できると思うがさすがに怖いのでやめておく。
キーの構造を知れただけで良しとしておこう。  
タグ :EeePCメカ

  • 5×5フォント改 / JavaScriptフォント表示機
    2009年04月19日 00:48

    13.9/26追記: 改良版あります。→ KanaFive

    以前作った5×5ひらがなフォントに、カタカナと記号を追加してみた。
    ただし、PC上で使えるフォントファイルを作る方法はいまいちよく分からないので単なる画像である。
    5×5フォント_JIS2004
    (クリックで倍サイズ)
    折角なので最新のJIS X 0213:2004(通称JIS2004)に準拠した。

    ◆注意点等
    ・濃い灰色は描けなかった所、薄い灰色は文字が無い所。
    ・アクセント付きアルファベットは諦めた。
    ・逆にアクセントの付いてないアルファベットは無理して描いた(üがあるのは拼音的な意味で)。
    ・基本的に5×5に収まっているが、隣と繋がらなければ意味が無い「罫線素片」と「くの字点」は右と下にはみ出す。
    ・描けたつもりで後で見るとゲシュタルトが崩壊してる字が多数ある。その辺は諦めて。
    ・権利放棄、義務も放棄。
    ・漢字も描けるものは描いてみようかと思って数十文字描いてみたが、PCがフリーズしてデータが消えたため腹が立ってやめた。
    まあ一部だけの漢字にそれほど意味があるとも思えない。
    漢字が使える小型フォントを所望の向きには、「美咲ゴシック」をお勧めする。
    http://www.geocities.jp/littlimi/misaki.htm
    7×7サイズのフォントで、JIS第1第2水準の文字を搭載している。

    -----

    さて折角フォントを描いても使えないのでは意味がない。
    そこで、Web上でフォントを表示するプログラムを作ってみた。→フォント表示機
    仕組みは以下の通り。
    ・全文字をひとまとめにした画像ファイルを1枚用意する。
    ・画像を囲む<div>にoverflow:hiddenを設定して不要な範囲を見えなくする。
    ・画像にposition:absoluteを指定、topとleftの値を文字コードに応じて変える。
    ・それをtableでレイアウトする。
    現在のところ、文字コードの変換が面倒なのでひらがなカタカナのみに対応している。
    ローカルで使いたい場合は本体のhtmlファイルと文字画像を落とせばよい。画像を変えれば任意のフォントが使えると思う。htmlの書きなおす部分は見ればたぶん分かるはず。

    なおこの画像の一部だけを表示する方法はGoogleの真似である。
    GoogleTOPページの下にあるアイコンが上で言ったような方法で表示されているのだ。
    これを偶然発見したことでフォント表示機を作ることができた。
    Googleのアイコン  

  • 世界諸言語翻字機
    2009年04月15日 21:29

    異国の文字で文章が書かれていると、意味が分からない以前にまず読めない。
    なので世界の様々な文字をラテンアルファベットに翻字するプログラムを作ろうかと思う。
    さしあたってギリシャ文字とキリル文字のみをいいかげんに実装したのがこちら
    とりあえずラテンアルファベットに一意に変換できる文字は実装しようと思う。
    例えばアラビア文字・デーヴァナーガリー・ヘブライ文字あたり。
    デーヴァナーガリーは実は母音のつかない子音字はAが付く規則とかあって厳密には一意に変換できないのだが、まあその程度は気にしないことにする。

    -----

    4/16
    ヘブライ文字とアラビア文字を追加。  
    タグ :文字ソフト

  • ǝqnʇnoʎ
    2009年04月10日 05:50

    YouTubeに4/1から新しい機能が追加されている。
    URLの最後に「&flip=1」とつけると動画をはじめいろいろなものが逆さになる。


    特に面白いのが文字だ。
    「youtube」→「ǝqnʇnoʎ」のように上下逆転するのだが、特別な機能を使っているわけではなく、そういう文字を使っているだけだ。こんな変な文字があったのかと感心する。
    なお残念ながら日本語やアクセント付き文字などは文字の並びが逆になるだけである。
    いろいろな文字を検索してみたところ、どうやらうまく逆転する文字は英数字26+10文字に加え少々の記号のみのようだ。またアルファベットは全て小文字に直される。
    (細かい事だが、小文字になるのは英字に限らず、ギリシャ文字とキリル文字も小文字になっていた。恐らく大小文字のある文字は全て小文字に直しているのだろう。それでいてギリシャ文字やキリル文字は上下反転されないのでちょっと違和感がある。)
    反転されることを確認した文字は以下の通り。
    a-z 0-9 , . ; ! ? ' " [] ()
    括弧類は反転するものとしないものがあって、「~」や«~»は駄目っぽい。

    それぞれ反転先の文字を以下に示す。
    文字名、備考
    aɐ : 見慣れない記号だがIPAの文字の一つで名前はTurned A。中舌狭めの広母音を表す。イギリス英語でu(cutなど)および語末のシュワー(sofaなど)らしい。あー、巡音ルカがʌǝの区別ついてないのはイギリス英語だったのか。
    bq : 普通のQ
    cɔ : こちらはおなじみの発音記号、名前はOpen O。円唇後舌半広母音を表す。使用例は英語のaudienceなど
    dp : 普通のP
    eǝ : これもおなじみ、曖昧母音の発音記号のシュワー…かと思いきや同じ形の別の文字で、Turned Eという無味乾燥な名前が付いている。用途は不明。シュワーはこれ→「ə」。
    fɟ : Dotless J with Stroke。FじゃなくてJなんですね。有声硬口蓋破裂音の発音記号らしいけど何それ。
    gƃ : B with Topbar。なんだか角ばってると思ったらbの上に棒が付いた文字でした。壮[チワン]語とやらで両唇入破音を表していたが、正書法の改定で今は「mb」になったため使われない可哀想な文字。その両唇入破音を表すIPA「ɓ(b with hook)」や、使い道のよく分からない「(turned g)」といった文字もあるけど「ƃ」が一番メジャーな(=多くのフォントに入っている)文字なので逆さ文字によく使われるらしい。
    hɥ : 有声両唇硬口蓋接近音のIPA。フランス語のhuitなど
    iı : dotless i。トルコ語でiとは別の文字だったり、アクセントを付ける際などの表示上の問題で点を取ったりする時のもの。
    jɾ : 歯茎はじき音のIPA。日本語のラ行は基本的にこれ。「ſ(long s)」の方が合ってると思うんだけどなあ。gの時と違ってſはかなりメジャーな文字だし。フォントによっては左に出っ張りが付くのを嫌ったのかな。
    kʞ : 軟口蓋吸着音のIPAだったが、1970年に削除された。
    ll : 普通のL
    mɯ : 非円唇後舌狭母音のIPA。日本語のウ。
    nu : 普通のU
    oo : 普通のO
    pd : 普通のD
    qb : 普通のB
    rɹ : 歯茎接近音のIPA。英語のR音はこれ。実は世界的にまれな音素。
    ss : 普通のS
    tʇ : 歯吸着音の旧IPA。現在は[ǀ]又は[k͡ǀ]又は[ǀ͡k]で表す。なんかマイナーな言語で使ってるみたい。
    un : 普通のN
    vʌ : 英語のcutとかでおなじみの発音記号。turned Vって名前だけどAの横棒を取ったものと考えた方が発音に合う。
    wʍ : 無声両唇軟口蓋摩擦音のIPA。[w]の無声化したもので、英語のwhatなど。よく[hwæt]と書かれるけど、[h]と[w]を続けて発音するわけじゃない。
    xx : 普通のX
    yʎ : 硬口蓋側面接近音のIPA。わりとよく見かける。イタリア語などのギだかリだか分からない発音。
    zz : 普通のZ
    00 : 普通の0
    1 : 矢印の一種、Downwards Harpoon With Barb Rightwards。Harpoonは全部で8種類→「↼↽↾↿⇀⇁⇂⇃」。
    2 : ハングル字母「RiŬl」。R音とL音を表す。例: 갈비(カルビ)。
    3 : ハングル字母「T'iŬt'」。Tの激音を表す。いい例が思いつかない。
    4 : 主に台湾で使われる中国語の発音記号「注音符号」の一つ。拼音の「en」に相当。
    5ގ : ターナ文字のガーフ。って何ですか。こんな変な文字を使うくらいなら5やSを使っておいた方が見やすい気がするのだが。あとこの文字は右から左に書く文字だから扱いが面倒。
    69 : 普通の9
    7 : 注音符号の一つ。拼音の「eng」「-ng」に相当。
    88 : 普通の8
    96 : 普通の6
    !¡ : 逆感嘆符。スペイン語で感嘆文はこれと!で囲む。
    ?¿ : 逆疑問符。スペイン語で疑問文はこれと?で囲む。
    ,' : 普通のアポストロフィ。
    .˙ : 名前は安直にdot above。なんとなく上に点を書きたい時に汎用的に使えそうである。
    ;؛ : アラビア語のセミコロン。右から左に書く文字なので扱いが面倒その2。しかし左右だけでなく上下も反転するとは。ちなみにアラビア語の疑問符はこんな感じ「؟」で左右だけ反転する。
    ', : 普通のコンマ。
    ",, : 普通のコンマを2つ。


    -----
    4/10 15時ころ修正
    IEでほとんどの文字が正常に見えなかったので、英字部分にWikipediaを参考にフォント指定。
    WikipediaでIPAを使っている箇所に指定されているフォントを丸写しした。指定は以下の通り。
    .IPA {
    font-family: 'Chrysanthi Unicode', 'Doulos SIL', 'Gentium', 'GentiumAlt', 'Code2000', 'TITUS Cyberbit Basic', 'DejaVu Sans', 'Bitstream Vera Sans', 'Bitstream Cyberbit', 'Arial Unicode MS', 'Lucida Sans Unicode', 'Hiragino Kaku Gothic Pro', 'Matrix Unicode', sans-serif;
    }
    また、注音符号とハングル部分に言語指定した。  
    タグ :文字

  • 【KBD】超小型キーボードを考えてみた(後)
    2009年04月07日 16:24

    (前編の続き)
    キーボードを小さくしようとすると、アルファベットの文字数26個のキーを用意するのが困難である。
    そこでキー数を13個にして1キーに2文字を割り振ることを考えてみる。
    問題はどの文字とどの文字をまとめるかである。なるべく覚えやすい組み合わせを色々と考えた結果、次のようになった。
    ・無声音と有声音を組にする
    KSTFP : GZDVB ※6/13訂正
    ・母音と半母音などを組にする
    I : Y、U : W
    A : R[ɑːr]
    E : L[el]
    O : J(あまり)
    IとJの組も考えたが、使用頻度の高いYを覚えやすいIに割り当てた。
    ・残りは適当に
    N : M(両方鼻音)
    H : X(Xは言語によってはHと発音が似ている)
    C : Q(発音が似ていないこともない)

    キーの配置はQWERTY配列を基にして、上記の組み合わせで後に示したキーを削り左に詰めた。
    空き場所に、文字入力に必須のスペース、BS、Enterと矢印など特殊キーを入れ、次のようになった。
    [My6] 超小型
    超小型
    4×7キーでアルファベットと数字、ついでに一応日本語のローマ字入力用に「-」を入力できる。
    タッチタイプには無理があるが、基本はQWERTY順なので普通のキーボードに慣れた人ならキーが見つけられないということはないだろう。
    数字や矢印キーを省いたりすれば3×6キーも可能だと思う。

    ところで、英文中のアルファベットの出現頻度は、適当に検索して見つけたデータによると次の順である。
    E A T I O S N R H L D C U | M P F G Y W B V K J X Q Z
    今回のキー配列で単独キーで入力できるものを色分けしてみると、
    E A T I O S N R H L D C U | M P F G Y W B V K J X Q Z
    こんな具合である。
    別に頻度を考慮していたわけではないのに、かなり高頻度がわに固まっている。
    頻度データから計算すると、英文中の70%の文字を単独キーで入力できる。
    ちなみにきちんと高頻度から順に13キーを割り当てるとこの数字は80%になる。
    QWERTYに近い並びを考えなければ、Kを抜いてRを入れるとよいかもしれない。その場合Fn+C=Gにするのがよいだろう。

    さて英語はいいとして、日本語を打とうとするとこの配列はかなり使いづらい。次は日本語用の配列を考えてみよう。
    濁音半濁音は省略するとして、日本語入力に必要なキーは以下の通りである。
    A I U E O K S T N H M Y R W
    足りないキーはH,Y,R,W。不要なF,P,Cを削れば数はなんとかなりそうだが配置が問題だ。先ほどと同じようにQWERTYをベースに並べるとこうなる。
    W E R T Y U I O
    A S H K
    N M
    上の列がほとんど減っていない。
    QWERTYベースを改めるのも手だが、別の方法を考えてみる。
    そうすると、日本語を打つにあたってI,UとY,Wを統合してもさほど問題が起こらないことに気づく。
    つまり、Y,Wの後に母音が続いた場合はY,Wと解釈し、子音が続く場合はI,Uとして解釈するのだ。昔ラテン語ではIとJ、UとVの区別が無かったが、それとちょうど同じことである。
    試しに前編冒頭の1段落をI→Y、U→Wとして打ってみる。
    gyzywtwno shynpode konpyw-taha kogataka shytaga, ky-bo-dono sayzwha nyngennno teno ookysany seygensarerwtame kogatakanyha gendoga arw.
    kogatano konpyw-tanyha kanarazwshymo PCno yowna taswwno ky-wo towsayswrw hytwyowha nayga, swkwnakwtomo arwfabetto 26mozyha nywwryokw shytay. mata, swpe-sw, BS, ENTER oyoby yazyrwshy ky-mo hysswdarow. korewo dokomade tyysakw twmekomerwkawo kangaete myyow.
    nao, bwtwrytekyna ookysaga dorekwrayny narwkawo kangaerw wede, tattytaypw kanowna habawo kyzywnto swrw.
    tattytaypwno dekyrw genkayno ky-pyttyga dorekwraykaha hytonyyotte tygawto omowga, zybwnnno ayyow shyteyrw JORNADA680no ky-pytty 13.2MM, shyshagonyww shyte 13MM wo kyzywnto shyyow. yony shyhan sareteyrw yzyow korewo tattytaypw dekyrw hytoga hwtwwny yrwto kangaerarerw.
    驚いたことに全く問題が起こっていない。日本語でもラテン語でも半母音と母音の区別はあまり無いようである。
    もちろん問題が起こる場合も多数あり、例えば「いう」が「ゆ」、「うお」が「を」になってしまう。この辺を打てるようにするには多少ローマ字かな変換を改変する必要があるだろう。
    簡単に考えてみたが、YY→I、WW→Uと扱うことにすればとりあえず打ち分けは可能になる。「っゆ」や「っを」といった促音は無いので大丈夫だ。
    もっとも、「打てる」のと「実用になる」のは別の話だ。これを実際にやってみれば「いい」→「YYYY」など普段と大きく違うローマ字変換に戸惑うことは間違いないだろう。さらにキー配置まで違うのだ。
    ここまで考えてはみたものの、既存の例えば携帯電話入力より使いやすい自信がない。

    まあそれはそれとしてキー配置を考えてみると、最上段が2つ減ったのでうまく収まるようになった。1つ余るので小文字用にLを入れておこう。
    キーの組は、清音と濁音を組にしたが、その他は特に理由づけができなかったのでQWERTY配列で近い位置にある文字を組にした。その上Vは飛んでいる。この辺は上の英字用に大きく劣る点だ。
    [My7] 超小型_日本語Ver
    超小型_日本語Ver

    気分が乗ってきたのでおまけの3×6バージョン。
    [My8]極超小型_日本語Ver
    極超小型

    -----

    6/13 単純ミス訂正
    ×KSTFP : GZDVP → ○KSTFP : GZDVB  

  • 【KBD】超小型キーボードを考えてみた(前)
    2009年04月05日 07:00

    技術の進歩でコンピュータは小型化したが、キーボードのサイズは人間の手の大きさに制限されるため小型化には限度がある。
    小型のコンピュータには必ずしもPCのような多数のキーを搭載する必要はないが、少なくともアルファベット26文字は入力したい。また、スペース、BS、Enterおよび矢印キーも必須だろう。これをどこまで小さく詰め込めるかを考えてみよう。
    なお、物理的な大きさがどれくらいになるかを考える上で、タッチタイプ可能な幅を基準とする。
    タッチタイプのできる限界のキーピッチがどれくらいかは人によって違うと思うが、自分の愛用しているJornada680のキーピッチ13.2mm、四捨五入して13mmを基準としよう。世に市販されている以上これをタッチタイプできる人が普通にいると考えられる。

    まず手始めにQWERTY配列で並べてみると、最低でも横にQWERTYUIOPの10キー分の幅が必要である。1キー13mmで考えると物理幅は130mm。丁度DSLiteの幅くらいだ。
    配置は例えばこんな感じ。
    [6] セイコーインスツルの電子辞書
    セイコーインスツルの電子辞書
    これは電子辞書だが、アルファベットと矢印キーを備えている。これをベースにPC的なキーを入れようとすると、右の空きにEnterはいいとして、BSの場所が無い。幅を増やせない以上、上に1段増やして数字とBSを入れるのが良いだろう。

    次にQWERTYにこだわらずどこまで縮められるかを考える。
    QWERTY配列を見ると、左上にQがあることに気づく。Qは日本語入力には全く使わない上、英語でもほとんど使われない。邪魔だからどこかへ飛ばしてしまおう。Que?などと言っている言語は無視することにする。(そもそもQue?とか言ってる筆頭のフランス語はAとQ、ZとWの位置を入れ替えたAZERTYキーボードを使っている)
    飛ばすとこうなる。
    [My3] Qを上に (※My1とMy2は「ぼくのかんがえたさいきょうのキーボード」である)
    Qを上に
    QWERTY列(というかWERTY列)とASDF列のずれを調整したり、端のキーを少し削ったりと細かい変更をしてみたが、幅を1キー分減らして117mmがやっとだ。あまり減らない。

    もっと幅を減らす方法として、左右の手をずらすことが考えられる。正統な左右分担をしている人なら問題なく打てるはずである。
    [My4] 断層
    断層
    一応図にしてはみたものの、半キー分しか減らないし、BSやスペースなどどこに入れるか思いつかない。あまり実用性がないかもしれないが気にしない。
    物理幅は110.5mm。

    ホームポジションのキー幅は狭くすると指がぶつかるが、GとHの縦列は常に指があるわけではないので少し幅を減らしても大丈夫かもしれない。
    試しに3/4の幅に減らしてみるとこうなる。
    [My5] GH列スリム化
    GH列スリム化
    これでさらに半キー減って104mm。ちょっと無理すれば10cmに収まりそうである。

    普通のQWERTYキーボードの感覚で打てるのはこの辺が限度だと思われる。また、これ以上横幅を狭めようとすると縦の段を増やすことになるが、機器の縦横比を考えるとあまり増やすわけにもいかない。
    これ以上縮めるには更にキーを減らす必要がある。次はアルファベットに26個キーを使わずに入力する方法を考えよう。

    (後編に続く)