Re: 縦書きフォントの表示について ( No.1 ) |
- 名前:管理人 日時:2025/04/14 22:23
手元で M PLUS 1 Medium の縦書きを試してみましたが、特に切れて表示されるということはありませんでした
ただ、アンチエイリアス無しの描画とは相性が悪そうでしたので、フォントハンドルの場合は
DX.CreateFontToHandle の第4引数の FontType に DX.DX_FONTTYPE_ANTIALIASING_4X4 を、
デフォルトフォントの場合は DX.ChangeFontType( DX.DX_FONTTYPE_ANTIALIASING_4X4 ); を実行して
アンチエイリアス有りの描画を試してみてください m(_ _)m
|
Re: 縦書きフォントの表示について ( No.2 ) |
- 名前:HS(解決?) 日時:2025/04/15 16:02
了解です。
また、一つ訂正です。
使用しているライブラリのバージョンはv3.24fではなくv3.24dでした。
ライブラリを最新版に更新して再度試してみます。
|
Re: 縦書きフォントの表示について ( No.3 ) |
- 名前:HS(解決ならず…orz) 日時:2025/04/18 16:21
ライブラリを最新版に更新してみましたが、変わらず左端が切れた状態で表示されてしまいました…orz
また、Noto Sans JPでも同様の現象が確認できました。
FontTypeはDX.DX_FONTTYPE_ANTIALIASING_8X8を使用しているのですが、これが何か問題を引き起こしているのでしょうか?
|
Re: 縦書きフォントの表示について ( No.4 ) |
- 名前:管理人 日時:2025/04/19 00:14
うーん不思議ですね…
C++版ですが、以下のようなテストプログラムを実行してみましたが、左端が切れるということはありませんでした
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// フォントハンドルを作成
int FontHandle = CreateFontToHandle( "@M PLUS 1 Medium", 32, 8, DX_FONTTYPE_ANTIALIASING_8X8 ) ;
// 文字列を描画
DrawVStringToHandle( 0, 0, "漢字変換あいうえお", GetColor( 255,255,255 ), FontHandle ) ;
// キー入力待ち
WaitKey() ;
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
HSさんの環境では上記のプログラムでも左端が切れてしまいますでしょうか?
> FontTypeはDX.DX_FONTTYPE_ANTIALIASING_8X8を使用しているのですが、これが何か問題を引き起こしているのでしょうか?
上記のテストプログラムでは DX_FONTTYPE_ANTIALIASING_8X8 を使用していますが、
手元の環境では問題は発生しませんでした
|
Re: 縦書きフォントの表示について ( No.5 ) |
- 名前:HS 日時:2025/04/19 17:22
上記のプログラムを以下のC#用のコードに変換して試したところ、正常に表示されました。
しかし、自作ソフトのほうはやはり左端が切れたままになってしまっています。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DxLibDLL;
namespace Dxlib_Test
{
public class Program
{
static void Main(string[] args)
{
DX.ChangeWindowMode(DX.TRUE);
if(DX.DxLib_Init() != -1)
{
// フォントハンドルを作成
int FontHandle = DX.CreateFontToHandle("@M PLUS 1 Medium", 32, 8, DX.DX_FONTTYPE_ANTIALIASING_8X8);
// 文字列を描画
DX.DrawVStringToHandle(0, 0, "漢字変換あいうえお", DX.GetColor(255, 255, 255), FontHandle);
// キー入力待ち
DX.WaitKey();
// DXライブラリの後始末
DX.DxLib_End();
}
}
}
}
また、自作の縁取りシステム(周りに16個黒色で描画している)が問題を起こしているのかと思いその部分をコメントアウトして試してみましたが、変化は見られませんでした。
|
Re: 縦書きフォントの表示について ( No.6 ) |
- 名前:管理人 日時:2025/04/20 04:43
お試し頂きありがとうございます、テストプログラムは正常に動作しましたか…
現象を直接確認できれば原因もすぐに分かると思いますので、
よろしければ HSさんがご制作中のソフトをこちらのメールアドレスに
送って頂けないでしょうか?
BQE00322(あっとまーく)nifty.com
( (あっとまーく) を @ に置き換えてください )
ただ、↑こちらのメールアドレスは容量制限が 20MB なので、zip等で圧縮した容量が
20MB以上になってしまう場合はお手数で申し訳ありませんがアップローダーや
Googleドライブ等を利用してください m(_ _;m
|
Re: 縦書きフォントの表示について ( No.7 ) |
- 名前:HS 日時:2025/04/20 22:03
ありがとうございます。
上記のメールアドレスにgoogle driveのリンクを送信しました。
|
Re: 縦書きフォントの表示について ( No.8 ) |
- 名前:管理人 日時:2025/04/21 02:05
メールありがとうございます
ご返信メールをお送りしましたので、よろしければご確認ください m(_ _)m
|