HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0426
もつくフォントのアンチエイリアスを無効にしたい4未解決


もつく

リンク

2020/4/26(Sun) 02:55:41|NO.90192

お世話になっております。
HSPのexeファイルは、MacOSでもWineを使用することで起動できますが、
その際にフォントに強制でアンチエイリアスがかかってしまい、小さいフォント(10pt)がぼやけてしまうようです。
Windowsで起動した場合は問題ないです。
http://hsp.tv/play/pforum.php?mode=pastwch&num=42169
こちらの記事にあるモジュールを使用した場合、同じサイズを指定してもかなり文字が崩れて表示されてしまいました。
どうにか綺麗にフォントのアンチエイリアスを無効にする方法はありますでしょうか。
文章拙くて申し訳ないです、よろしくお願い致します。



この記事に返信する


沢渡

リンク

2020/4/26(Sun) 14:37:14|NO.90200

macは持っていないのでWebの情報からの推測になりますが、
macのwineはデフォルトのフォントが「汚い」とあまり評判がよくないようで、
フォントの問題なのではないかと考えます。(的外れだったら申し訳ありません)
IPAフォント等の有名なフリーフォントを使ってみたら改善されるでしょうか。
https://ipafont.ipa.go.jp/old/ipafont/download.html

以下、フォントのファイルをインストールなしで使用できるモジュールを作ってみました。
お役に立つようでしたら。

//フォントをインストールせずに使用するモジュール #include "gdi32.as" #module #const use_fonts 10 //登録できるフォントの最大数 #const global FR_PRIVATE 0x10 //「登録したフォントをこのプログラムだけで使用する」オプション #const global FR_NOT_ENUM 0x20 //「登録したフォントがフォント選択ダイアログ等で表示されないようにする」オプション #deffunc font_file_init l_flag=0 dim l_opt,use_fonts sdim l_name,64,use_fonts return //font_file p1,p2,p3 //指定したファイル名のフォントを一時的に使えるように登録する。 //p1はフォントのファイル名。 //p2を1にした場合はこれまでの登録を解除。 //p3はFR_PRIVATEかFR_NOT_ENUMか、もしくは0かを指定。(デフォルトではFR_PRIVATEとFR_NOT_ENUMの両方とも有効) #define global font_file(%1,%2=0,%3=0x30) _font_file %1,%2,%3 #deffunc _font_file str file,int cl_flag,int opt if cl_flag : font_clean l_opt(l_flag)=opt l_name(l_flag)=file l_flag++ AddFontResourceEx file,opt,0 return #deffunc font_clean onexit repeat if l_flag<=0 : break l_flag-- RemoveFontResourceEx l_name(l_flag),l_opt(l_flag),0 loop return #global font_file_init //←最初に実行する //以下、IPAフォントを使った例 //ipag.ttf(IPAゴシック)とipam.ttf(IPA明朝)をスクリプトor実行ファイルと同じフォルダに入れておく //https://ipafont.ipa.go.jp/old/ipafont/download.html //screen 0,640,480,1 //←コメントアウトを外すとパレットモードになり、アンチエイリアスが無効になる font_file "ipag.ttf" //IPAゴシックのファイル font_file "ipam.ttf" //IPA明朝のファイル font "IPAゴシック",10,0 mes "東京特許許可局" font "IPA明朝",10,0 mes "バスガス爆発"



もつく

リンク

2020/4/28(Tue) 11:25:22|NO.90213

>>沢渡さん
ありがとうございます!
現在はフリーフォントを使用しているのですが、
Wineで起動した際はアンチエイリアスがかかってしまいぼやけてしまうようです



沢渡

リンク

2020/4/28(Tue) 18:53:23|NO.90221

試しにLinuxのwineで、IPAゴシックやIPA明朝のサイズを10にして
表示してみたのですが、アンチエイリアスの有無に関係なく、
特段読みづらいようには感じませんでした。
となると、mac特有の問題でしょうか。
「mac アンチエイリアス」や「mac wine 文字 アンチエイリアス」で検索してみたら
何か解決法が見つかるかもしれませんが。

ちょっと無理矢理かつ面倒なやり方ですが、
別バッファに大きめのサイズで文字を書き、
それを縮小コピーするという方法だとどうでしょうか?

buffer 1,300,100 : gsel 1 : font msgothic,20 //10の2倍の20に設定 pos 0,0 : mes "天地玄宇宙洪荒日月盈昃辰宿列" gsel 0 pos 0,0 : gzoom 150,50,1,0,0,300,100,1 //gzoomを使って半分のサイズに縮小コピー //以下、hspcvを使った縮小(二値化を行い、縮小した文字の色が薄くなる問題に対処) #include "hspcv.as" gsel 1 cvbuffer 0,300,100 cvputimg 0 cvresize 150,50,0,CV_INTER_LINEAR cvthreshold CV_THRESH_TOZERO,150,,0 cvgetimg 0,1 gsel 0 pos 0,20 : gcopy 1,0,0,150,50



もつく

リンク

2020/5/1(Fri) 22:46:15|NO.90261

>>沢渡さん
ありがとうございます!
こちらのプログラムが256x192という小さい画面を拡大表示してる関係で、
通常では気づかないレベルでも目立ってしまうのです
大きめのフォントにして縮小表示、でも少し気になってしまうくらいでした
どうやらWineの仕様で表示フォント全てにアンチエイリアスを少しかけているらしく、
プレイヤー側が設定を変えると解決できるようでした



ONION software Copyright 1997-2021(c) All rights reserved.