タグ

ブックマーク / project-the-tower2.hatenadiary.org (12)

  • potraceをjavascriptに移植した - Webと文字

    生存報告 ( ^ω^)とりあえず生きてます。 potraceとは potraceとはラスター画像からSVG等のベクター画像を作成するソフトです。無料で使えてソースも公開されているオープンソースなソフトです(参考資料1)。元はCで書かれていますが、python、ActionScript、C#に移植されていたりします。 だから何ができるの? 左が元のビットマップ画像、右がそれをpotraceでトレースした画像 C→javascript(´・ω・`)、ActionScript→JavaScript(゚∀゚) ActionScriptとJavaScriptは兄弟みたいなものなので移植はとっても簡単です。今回は参考資料2をパクって参考にしてjavascriptに移植してみました。 処理フロー imgタグで画像を読み込み 画像をcanvasに転写 画像をグレースケールに変換 画像を二値化 画像の輪郭の

    potraceをjavascriptに移植した - Webと文字
    snaka72
    snaka72 2011/07/24
    javascriptでラスタ画像をベクター形式に変換する
  • Windowsでも文字綺麗にしたい その1 - Webと文字

    1.文字の綺麗さ:Mac >> Windows 少し前にMacを買ったのですが、文字が綺麗で見ているだけでテンションが上がりますね。対するWindowsは…。XPでこれを改善するには下記のような点があります。 フォントをいじる:今回やります。 フォントを変える:MS系→ヒラギノ、メイリオ レンダリングを変える:gdi→gdi++派生系 (次回やるかも) 今回はMSゴシックとMS明朝で、ClearTypeを有効にするを参考にしながらMS系の文字にアンチエイリアスをかけてみたいと思います。 2.準備 上記の参考サイトは7年も前の記事なのでリンクが貼られているツールの幾つが消滅しています。そこで、ツールを自分で作ってみました。よければ利用してみて下さい。ただし、C#で作ったので.net framework 3.0以上が必要で、予期せぬバグが発生しても責任は負えません。 フォントの仕様に興味がない

  • Google日本語入力をオンラインで - Webと文字

    近況報告 少し忙しくなりました。更新は滞ると思いますが、購読を継続していただけると嬉しいです。 , - ,----、 (U(    ) お願いします | |∨T∨ (__)_) Google日本語入力 いつ出来たのか、Google日本語入力のWebAPIが公開されていた。 Google 日本語入力 - CGI API デベロッパーガイド Google CGI API for Japanese Input は、日語変換をインターネット上で実現するための、CGI サービスです。 以前作ったオンラインIMEに組み込んでみた。メニューからGoogleIMEを選択すれば変換できる。 IMEとブラウザIME 2005年以前 ・ボタンや画像に文字を当て、一文字ずつ追加していくタイプのブラウザIMEは前からあった。テキストエリアの文字列に+=していくだけなので誰でもできた。Unicode文字を入力するサ

    Google日本語入力をオンラインで - Webと文字
  • TrueTypeフォントのフォーマットを調べる その20 - Webと文字

    二年ぶりぐらいに再開 FreeType2が便利すぎて放置してました. とりあえず今まで書いた記事の一覧です. 記事 内容 その1 仕様の概要 その2 テーブル概要 その3 − その4 − その5 − その6 − その7 − その8 cmapテーブル - format0 その9 cmapテーブル - format2 その10 cmapテーブル - format4 その11 cmapテーブル - format4 その12 cmapテーブル - format6 その13 cvtテーブル その14 EM,FUnitの説明(重要!),cvtテーブル その15 headテーブル その16 headテーブル その17 EBDT,EBLC,EBSCテーブル その18 EBDT,EBLC,EBSCテーブル ⇒ あきらめた(´・ω・`) その19 − フォントよりグリフを抜き出す 今回はglyfテーブルを中心

    TrueTypeフォントのフォーマットを調べる その20 - Webと文字
    snaka72
    snaka72 2010/07/14
  • typeface.jsで日本語を - Webと文字

    Web製作者がクライアントのフォントレンダリングに手を加えることは今のところ出来ない。しかし、typeface.jsを使うとそれを擬似的に実現することができる。 typeface.js -- Rendering text with Javascript, <canvas>, and VML With typeface.js you can embed custom fonts in your web pages so you don't have to render text to images. 仕組みはこうである。使用するフォントのFontファイルより輪郭のベクターデータ、メトリクス、著作情報等を抜き出し、それをJSON形式にして、jsファイルに書き込む。使用したいhtmlでそれを読み込み、jsのレンダリングエンジンが、対象テキストから分解された文字をcanvasに描く。最後にcanv

    typeface.jsで日本語を - Webと文字
  • ベクター→ビットマップ - Webと文字

    白黒はっきりつける程度の能力 /\___ |ヽ.   , '"::|l 閻 l|::::::`ヽ./| |:::::\'::::,.r-y-y-、___/:::::/ |::_r'ァ'-':: ̄i:::::::i::::`ーヽ二<] [>r'7:::/::ヽ!、ハ::::ハ_;!::ィハ:::::Y::Yト、 Y:::::|:ハア;ニ; レ' ,ア;ニ;ヽ!ハ|:::::| iヽ. //レヘレi ! !_r!   !_r! ノ|::ト、|:::| \〉 |__|/ く|:::|"       "|:::|ソ::::;イ |::i>、   ̄  ,.イ|::|ヘ:::::::| ゝイ_;!ィ`7二T<、!_|::ハヘ/ ,'  .Y/::::`T´::::::7ゝヽ.! .〈  /i::::::::Ф:::::::::|l   〉 ,' ` ハ::::::::Ф:::::::::7 ´ ',

  • C++でWindowsのIMEを作ろう( ゚∀゚) その5 - Webと文字

    1.前回 第1回目:C++WindowsのIMEを作ろう( ゚∀゚) その1 - Webと文字 前回:C++WindowsのIMEを作ろう( ゚∀゚) その4 - Webと文字 前回は表示属性の作成とそれをレンジへの適用する方法についてやりました。今回はレンジの下に候補ウィンドウ(CandidateWindow)を表示させる方法です。 2.サンプル 参考資料1のCandidateList.zipがそれです。以下の画像の用にコンポジションの下にウィンドウが出るサンプルです。 3.その前に… ずいぶんと久しぶりなのでおさらいをします。 IME(テキストサービス)の核はDLL。それをregsvr32コマンドでOSに登録して使用する。登録を抹消するには-uオプションを付ける。IMEのDLLはCOMと呼ばれる仕組みで作られる必要がある。COMとは必要とされるインターフェースを実装して機能を作って

    C++でWindowsのIMEを作ろう( ゚∀゚) その5 - Webと文字
  • C++でWindowsのIMEを作ろう( ゚∀゚) その4 - Webと文字

  • C++でWindowsのIMEを作ろう( ゚∀゚) その3 - Webと文字

    1.前回やったこと 第1回目:C++WindowsのIMEを作ろう( ゚∀゚) その1 - Webと文字 第2回目:C++WindowsのIMEを作ろう( ゚∀゚) その2 - Webと文字 前回はコンポジションのテキスト入力とキャレットについてやりました。今回は候補ウィンドウと変換候補の取得についてです。 2.候補ウィンドウ 候補ウィンドウ(CandidateWindow)はコンポジションエリアのすぐ下に現れて、変換候補の提示をするものです。候補窓を使ったサンプルは参考資料1のサイトのCandidateList.zipがそうです。ファイル郡からプロジェクトを作成し、ビルドして登録すれば動作するサンプルが得られます。 この候補ウィンドウはコンポジションの用にTSF特有の物ではありません。標準的なWindowsアプリケーションで作成する様にしてウィンドウを作成する必要があります(参考資料

    C++でWindowsのIMEを作ろう( ゚∀゚) その3 - Webと文字
  • C++でWindowsのIMEを作ろう( ゚∀゚) その2 - Webと文字

    1.前回 前回C++WindowsのIMEを作ろう( ゚∀゚) その1 - Webと文字はアイコンの変更とテキストの変更をやりました。 2.コンポジション コンポジションとはテキスト入力における一時的な入力エリアです(参考資料1)。 コンポジションを使ったサンプルはTSFmarkにあります。このサンプルのコンポジションは純粋にTSFに対応した様なアプリケーション(WordとかWordPadなど)にしかあたりません。其れを解消するには登録言語を変更する必要があります。globals.hのMARK_LANGIDマクロを以下の用に変更します。このマクロは以前に説明したAddLanguageProfileで使用されます。 #define MARK_LANGID MAKELANGID(LANG_JAPANESE, SUBLANG_JAPANESE_JAPAN) こうすることでテキストサービスが日

    C++でWindowsのIMEを作ろう( ゚∀゚) その2 - Webと文字
  • C++でWindowsのIMEを作ろう( ゚∀゚) その1 - Webと文字

    1.目標 JavaScriptで日語IMEを作ろう( ゚∀゚) - Webと文字で作ったJavaScriptIMEをWindowsに移植する。 2.必要な実装 文字列の挿入と一時的な入力エリアの挿入 一時的な入力エリアにおけるテキストの変更とキャレット位置の取得とキャレット位置の設定と書式変更 一時的な入力エリアの下に出すWindowとその書式設定 キーイベントの取得 WwbAPIより変換候補を取得する 3.準備 今までに以下に示す関連するエントリを書きました。 C++について1:C++をかじる - Webと文字 C++とCOMについて:C++とCOM - Webと文字 COMとTSFの概略、環境の構築:COMとTSF - Webと文字 DLLとレジストリ、TSFの登録:TSFのサンプル? - Webと文字 TSFの説明が日語資料としてMSDNにあります。 Text Services

    C++でWindowsのIMEを作ろう( ゚∀゚) その1 - Webと文字
  • TrueTypeフォントのフォーマットを調べる その14 - Webと文字

    1.em emは相対的な単位です。フォントにおけるアルファベットの大文字Mの値の高さで定義されます(参考資料1)。グリフは一般的に縦横1emの正方形内に収まるようにデザインされます。これは文字がまだ金属の活字であった頃の名残です。金属の枠をはみ出すようなデザインは使えませんでした(参考資料2)。TrueTypeではこの制約に縛られません。 emのもう一つの定義が表示されるpointの値と同値になるというものです。12ポイントで表示されている場合、その時1emは12ポイントとなります。そのフォントが18ポイントで表示されると、emは18ポイントとなります。 2.pixcel(px)、dvi、point(pt)、絶対的な大きさ emは相対的な単位ですから、ディスプレイに表示される実際の大きさについては環境により異なります。ディスプレイにおける最小単位はピクセル(pixcel)です(参考資料3)

    TrueTypeフォントのフォーマットを調べる その14 - Webと文字
    snaka72
    snaka72 2010/07/14
  • 1