読者です 読者をやめる 読者になる 読者になる

しらいとブログ

ネットで検索してもなかなか出てこないIT情報を独自にまとめています

X operations 高解像度パッチ(自作)

Direct Xの勉強がてらX operationsの改造パッチを作ってみました。 X operations公式サイトはこちらhttp://hp.vector.co.jp/authors/VA022962/xops/

「WinFont+」開発記録 Part 6

今回は実験結果を記録として残すのが目的なのでソフトの公開はありません。

MacType非公式パッチ更新 v1.23

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) 1.20以降一部のゲームで不都合があったのを修正 ダウンロード (Download) MacTypePatch_1.23.zipMacTypePatch_1.23.zip…

MacType非公式パッチ更新 v1.22

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) 1.21でOTFフォントに効かなくなっていた問題を修正 ダウンロード (Download) MacTypePatch_1.22.zipMacTypePatch_1.22.…

MacType非公式パッチ更新 v1.21

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) Windows 10 Creators Updateで不具合が残っていたのを修正 ダウンロード (Download) MacTypePatch_1.21.zipMacTypePatc…

MacType非公式パッチ更新 v1.20

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) Windows 10 Creators Updateをサポート 古いゲームとの相性を改善 無駄なチェックを減らした その他バグ修正 ダウンロ…

MacTypePatch 1.19.3 dev

gitが正しく動かないバグを修正しました。これは他のソフトでも起こりうるバグです。 MacTypePatch_1.19.3_dev.zip 今回のバグ修正は私が書いたコードにバグがありました。GetModuleHandleW(L"Kernel32.dll")が返す値は不変だと思っていましたが違ったみたい…

MacTypePatch 1.19.2 dev

MacTypeをWindows 10 Creators Updateで追加されたDPIスケーリングに対応させました。 もしかしたら不都合があるかもしれないので正式版ではなくdev版とします。 MacTypePatch_1.19.2_dev.zip 昨日の記事にも書きましたが、現在Creators UpdateでMacTypeを使…

近況報告(2017-04-07)

Creators Update MacTypePatch 1.19.1 dev

源ノ明朝をいろいろなフォントと縦組みで比較してみた

※2017/04/07比較画像を全て一新しました。アンチエイリアスのアルゴリズムを変更しています。 先日、Adobeから源ノ明朝というフリーの明朝体フォントが公開されました。これは縦組みで電子書籍を読むのにちょうどいいのではないかと思い、いろいろなフォント…

近況報告(2017-03-30)

歯医者通い Insider Previewについて Creators Updateについて

近況報告(2017-02-26)

開発PCが壊れた 1.5TBのHDDで不良セクタ MacTypeとWinFont+について

MacType非公式パッチ更新 v1.19

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) 安定性の向上 ダウンロード (Download) MacTypePatch_1.19.zipMacTypePatch_1.19.zip(予備)

MacType非公式パッチ更新 v1.18

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) MacType v1.2016.830.0以降のMacTrayでも安定するように調整 DynamicCodePolicyに対応 ダウンロード (Download) MacTyp…

MacType非公式パッチ更新 v1.17

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) DPIの計算が間違っていたのを修正 UserParams.iniにForceNoHintingを追加 ダウンロード (Download) MacTypePatch_1.17.…

MacType非公式パッチ更新 v1.16

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) 1.15で文字の間隔が広くなるバグを修正 ダウンロード (Download) MacTypePatch_1.16.zipMacTypePatch_1.16.zip(予備)

MacType非公式パッチ更新 v1.15

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) 1.14の不都合を修正 ダウンロード (Download) MacTypePatch_1.15.zipMacTypePatch_1.15.zip(予備)

MacType非公式パッチ更新 v1.14

MacType非公式パッチのメイン記事はこちらhttp://silight.hatenablog.jp/entry/MacTypePatch ダウンロード (Download) 変更点 (Changed) 高DPI環境で正しく拡大されないバグを修正 特定のフォントで半角スペースに対応できない問題を修正 DirectWriteでフォ…

「WinFont+」開発記録 Part 5

今回のWinFont+はGDIはフックしていません。DirectWriteをフックしてラスタライズ処理をFreeTypeに置き換えています。

「WinFont+」開発記録 Part 4

今回はFreeTypeを使ってみました。 GDI++(FreeType版)やMacTypeのコードを読むと難しそうな印象でしたが、FreeType公式の最新のドキュメントを見ながらやってみたら思ってたより簡単でした。ラスタライズは全部FreeTypeでやっていますが、フォントの読み込み…

「WinFont+」開発記録 Part 3

今回はWinFont+_alpha2の不都合をまとめてみました。

「WinFont+」開発記録 Part 2

前回のalpha1ではDirect2Dを使っていましたが、今回はDirect2Dを使わずに自分でGDIに描画するようにしました。DirectWriteにはラスタライズ機能とレンダリング機能があるのですが、ラスタライズ機能のみを使用することになります。 実はChromeと同じ手法だっ…

Yu Gothic UIがダメな理由

見ての通りひらがなと漢字で太さが違います。これが原因で文字の統一感が失われています。

Yu Gothic UIをMeiryo UIに置き換えた結果

こんな感じになった。 MacTypePatchに組み込むか思案中(FirefoxやChromeの挙動がおかしくなる)

「WinFont+」開発記録 Part 1

Windowsのフォント描画を置き換えるソフトにはgdi++.dll、gdipp、ezgdi、MacTypeがあります。きちんと調べたわけではありませんが、最初に作られたのがgdi++.dll(本家)、gdi++.dll(本家)から派生したのがgdi++.dll(FreeType版)、gdi++(FreeType版)から派生し…

Float,Double型をバイナリに変換して精度を確認

小数 バイナリ Float → ← Double → ← ※バイナリから小数への変換は最後に0が続く場合は省略されます。※古いブラウザでは動かないことがあります。 //

MacType非公式パッチ (MacType Unofficial Patch)

2017-04-10 Windows 10 Creators Updateに対応しました 古いパッチを使っている方、MacType 1.2016.904.0またはそれ以前のMacTypeを使っている方は、そのままだとCreators Updateで不具合が生じます。MacTypePatch 1.20を入れることでこの問題に対処できます…

Rust言語でDxLibを使う

DxLibはWindows用のゲームなんかを作れるライブラリです。DxLibはC++のライブラリですが、C#用のDLLバージョンも公開されており、C#以外でもFFI(Foreign function interface)が使える言語なら使えます。RustもFFIが使える言語なのでDLL版DxLibを使うことが出…

WindowsでRustプログラミング(環境構築)

WindowsでRustプログラミングをやるならEclipse + RustDTがオススメです。Eclipseは統合開発環境(IDE)の名前です。RustDTはEclipseのプラグインで、Rust Development Toolingの略です。この2つを使えば、関数名の自動補完や、ブレークポイントを使ったデバ…

「exit code -1073741515」=DLLが見つからない

Windowsプログラミングにおいて、開発環境では問題なく動くプログラムが本番環境で動かない時によくあるのが「exit code -1073741515」です。あるいは16進数の「exit code FFFFFFFFC0000135」だったり、16進数で16bitの「exit code C0000135」だったりします…

(2015年)最新のMinGW(GCC)のダウンロード

MinGWの公式サイト(のsourceforge)で配布されているGCCは、2013年に公開された4.8.1で更新が止まっています。 最新バージョンはMinGW-w64(のsourceforge)からダウンロードできます。(64bit版だけでなく、32bit版も配布しています。) 例えば4.8.5が欲し…

WindowsでRacerのビルド(コンパイル)

2015/07/13 18:25通常のビルドだと別途DLLが必要になることが発覚したためやり方を変えました。 RacerはRust言語の自動補完ツールです。(RACER = Rust Auto-Complete-er) 今のところRust言語の自動補完ツールはこのRacerしか無いようなので、エディタやIDE…

SyntaxHighlighterの高速化

技術系のブログなどでコードの色分けにSyntaxHighlighterを使っている人は多いと思います。しかしながらSyntaxHighlighterには問題があります。SyntaxHighlighterはページ内に出てくる画像など全ての読み込みが終わるまで色分けしないのです。これでは読める…

font-family: monospace;だと文字が小さくなる

ChromeやSafariなどWebkit系のブラウザでは可変幅フォントと等幅フォント(monospace)のデフォルトのフォントサイズが違います。インストール時の初期設定では可変幅フォントが16px、等幅フォントが13pxになっており、等幅フォントのサイズはユーザーが簡単…

Atom EditorでDirectWriteを無効にする

2015年6月26日に1.0.0が公開されたAtom Editorですが、WindowsではDirectWriteがデフォルトで有効になっており、MacTypeなどのgdi++系ソフトとの相性が良くありません。 一応DirectWriteを無効にする方法があるのでここに書いておきます。 Atom Editorは終了…

shBrushRust.jsの配布

ブログにRust言語の記事を書こうとしたところ、SyntaxHighlighterがRust言語に対応していないことに気付きました。このままではRust言語のコードの色分けが出来ません。 しょうがないのでSyntaxHighlighterをRust言語に対応させるためのshBrushRust.jsを自分…

通販などの評価について

筆者はネット通販で買い物をすることがよくあるのですが、その後店から商品の評価やレビューを求められることがあります。その度にいつも思うのですが、評価(点数)の付け方はどのようにするのが一般的なんでしょうか。 例えば、0点から100点までの101段階…

垂直同期とダブル/トリプルバッファリング

垂直同期とダブルバッファリングとトリプルバッファリングの解説スライドを作りました。 この3つはゲームプログラミングには欠かせない知識なのですが、何故か検索してもゲーマー向けの情報ばかりなので、プログラマ向けの情報として書きました。と言っても…

マクドナルドでコーヒーを買う時の心得

マクドナルドのコーヒーは熱いので自分用の備忘録。 サイズはSにする セットで頼んで時間がかかるときはコーヒーだけ先に出してもらう コーヒーが来たら速攻でフタを外す 余談ですが、10時30分までは朝マックしか注文できないことを今日初めて知りました。…

Visual Studio 2013 Language Pack でエラーが出た時の対処

Visual Studio Community 2013 をインストールした後の Visual Studio 2013 Language Pack のインストールでエラーが出るという報告が相次いで出ています。筆者の環境でも vs_langpack.exe の実行中にエラーが出て、インストーラが勝手に強制終了しました。 …

C++11のmemory_orderの使い分け (4)

前回まででアトミック変数とフェンスの memory_order の基本的な使い方を全て解説しました。今回はメモリバリアを減らして高速化する手法について解説します。ただし、consume を使った高速化に関しては扱いません。また、今回の内容はあくまでメモリバリア…

プログラミングテクニック「大で小を兼ねる」

大は小を兼ねるという“ことわざ”がありますが、プログラミングの世界でも大で小を兼ねるテクニックはよく使われます。 今回はゲームのアイテムを例に、大で小を兼ねる設計を解説します。(初心者でも読めるようにC言語で解説しました。)その後で業務用アプ…

C++11のmemory_orderの使い分け (3)

2014/10/29 20:40 誤解を招きそうな部分があったので修正しました。修正場所は脚注から辿れます。 前回はアトミック変数に memory_order を指定した場合について解説しました。今回はフェンスで指定した場合について解説します。

Firefox33でページ読み込みが中途半端に終わるバグが直った

いつからかは分かりませんが、Firefox 33 より前のバージョンではページの読み込みが中途半端に終わるバグがありました。特に iframe でページの中にページが埋め込まれているケースでよく発生し、iframe 内のページにスタイルシートが適用されないまま表示…

C++11のmemory_orderの使い分け (2)

2014/10/23 12:20 一部用語を修正しました。*1*2 前回はメモリバリアで保証できる範囲について説明しました。今回はメモリバリアの使い方を説明します。 *1:read-modify-write アルゴリズム → read-modify-write 命令 *2:読み込み → 読み取り

2014年9月画面解像度シェア累積ヒストグラム

StatCounter GlobalStatsで公開されている画面解像度シェアのデータから、2014年9月のデータを抜き出して分析しました。 最小値の目安になるように、『横幅○○px以上は○○%』という形式でグラフにしています。(このようなグラフを累積ヒストグラムと呼ぶらし…

C++11のmemory_orderの使い分け (1)

C++11で高速な同期手法としてアトミック変数やメモリフェンス(普通はメモリバリアと呼ぶ)が追加されました。 これらの命令では memory_order を指定できるのですが、違いが分かりづらいのでまとめてみました。 なお、正確な名前はmemory_order_relaxed、me…

Error: Comparison method violates its general contract! の対処法

FlashDevelopでFlexを用いてFlashやAIRアプリを開発する場合、以下のエラーが出て再ビルド(差分コンパイル)が出来ない問題があります。 Error: Comparison method violates its general contract! Build halted with errors (fcsh). FlashDevelopの実際の画面…

Apache Flexで'adt'が見つからない時の対処法

FlashDevelopとApache Flexの組み合わせでAIRアプリを作るときに以下のエラーが出ます。 'adt' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 これはAdobe Flexの時には含まれていたadt.batフ…

2014年6月画面解像度シェア(何px以上が何%か)

新しい記事が公開されています。2014年9月画面解像度シェア累積ヒストグラム StatCounter GlobalStatsで公開されている画面解像度のシェアのデータから2014年6月のデータを抜き出して分析しました。 Webサイト制作に活用することを考えて『横幅○○px以上は○○%…