Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

独自フォント作りませんか?(改行記号などの特殊文字の描画方法に関する話) #588

Closed
berryzplus opened this issue Oct 28, 2018 · 7 comments

Comments

@berryzplus
Copy link
Contributor

サクラエディタでは、改行記号などの特殊文字の一部をGDI描画によって実現しています。
これがどうも遅いらしいです。
#445 (comment)

描画処理の置き換えについては、以前からぼんやりと考えていました。
ビットマップであらかじめ作成したイメージをペタッと貼る方法なら速いんじゃないか、とか。

先日対応したアウトライン解析ウインドウの処理で、
特殊フォントを使って図形描画を行う方法に気付きました。
#543 (comment)

必要な図形のみを定義したフォントファイルなら、あまり大きくはならないと思います。
描画命令が1度で済むようになる分、描画速度は向上するはずです。

現在すでに使っている特殊フォントの名前は windings webdings などです。
この流れでいくと、独自フォントの名称候補は sakuradings になるかと思います。

まだ企画段階のネタですがご意見あればお聞かせください。

@KageShiron
Copy link
Member

現在の特殊記号って何がありますかね?↓→↵あたりなら本文と同じフォントで描画しちゃっても良さそう

@berryzplus
Copy link
Contributor Author

認識してる特殊記号はこんな感じです。

名前 記号 説明
CR改行 左肩下がりの矢印
LF改行 下向き矢印
CRLF改行 下方向左折れ矢印
タブ記号 ^ ハット記号(設定で選択可能)
半角スペース - 英子文字oの下半分

見て分かる通り、半角スペース以外は既存グリフに似た図形が存在します。

似た図形ではなく、現状の描画をそのまま引き継いだほうがよい気がするので「独自フォント」の話をしてます。

あと、制御記号関連も描画できるたらいいなぁ、と考えております。

従来の描画方式だと、表示できない文字は ・ だったり ? だったりに置き換えられてしまうので。

@ds14050
Copy link
Contributor

ds14050 commented Oct 28, 2018

あと、制御記号関連も描画できるたらいいなぁ、と考えております。

従来の描画方式だと、表示できない文字は ・ だったり ? だったりに置き換えられてしまうので。

応用が利くのはとてもいいですね。ただ、(ビットマップではなく)ベクタ画像以外の選択はないと思います。

@berryzplus
Copy link
Contributor Author

全角空白(▢)の存在を忘れていました 😭

@ds14050 ds14050 mentioned this issue Oct 28, 2018
11 tasks
@k-takata
Copy link
Member

半角スペースは ␣ (U+2423)?
フォントによって、半角だったり全角だったりすることがあるのですが…

@berryzplus
Copy link
Contributor Author

半角スペースは ␣ (U+2423)?

あざっす。もうちょっと探してみます。

なんとなく「既存フォントで現状を置き換える」でもいい気がしてきました。

半角/全角とか等幅/可変とかは、いったんは「都合のいいフォントを見繕って固定」で試してみるところからかなぁ、と思っています。

@berryzplus berryzplus changed the title 独自フォント作りませんか? 独自フォント作りませんか?(改行記号などの特殊文字の描画方法に関する話) Sep 11, 2020
@berryzplus
Copy link
Contributor Author

モチベーションが尽きたので閉じてしまいます。 #1394

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants