文字のフォントサイズの変更

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
じゅぴ
記事: 6
登録日時: 5年前

文字のフォントサイズの変更

#1

投稿記事 by じゅぴ » 5年前

初めまして
学校の課題でコンソールのゲームを作っていてSetCurrentConsoleFontExを使い全体のフォントサイズを変更することに成功したのですが一部のみの文字のフォントサイズを変更することは可能ですか?

環境はwindows10
visualstudio2018です

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: 文字のフォントサイズの変更

#2

投稿記事 by あたっしゅ » 5年前

今の Windows 10 コンソールじゃ、できないようです。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

じゅぴ
記事: 6
登録日時: 5年前

Re: 文字のフォントサイズの変更

#3

投稿記事 by じゅぴ » 5年前

そうですか・・・ 
教えてくださり、ありがとうございます

Math

Re: 文字のフォントサイズの変更

#4

投稿記事 by Math » 5年前

わたしのWindows10で最新Update状態のコンソール
http://www2.koyoen.birdview.co.jp/~abcx ... a-001-.PNG

左上のメニュー
http://www2.koyoen.birdview.co.jp/~abcx ... a-002-.PNG

プロパティ
http://www2.koyoen.birdview.co.jp/~abcx ... a-003-.PNG

コンソールは方眼紙のようなものでサイズが一定でないと揃わない
http://www2.koyoen.birdview.co.jp/~abcx ... b-001-.PNG

プロパティを制御するプログラム例
http://www2.koyoen.birdview.co.jp/~abcx ... b-002-.PNG

VS2017 CL でコンパイル 実行
http://www2.koyoen.birdview.co.jp/~abcx ... b-003-.PNG

大きいサイズ
http://www2.koyoen.birdview.co.jp/~abcx ... b-004-.PNG

コード:

#include <Windows.h>

static void PrintChars() {
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    DWORD num_written;
    static const char* cr_lf = "\r\n";
    for(char c=' '; c<'\x7f'; ++c) {
        WriteFile(hStdout, &c, 1, &num_written, NULL);
        if(c % 16 == 15) WriteFile(hStdout, cr_lf, 2, &num_written, NULL);
    }
    WriteFile(hStdout, cr_lf, 2, &num_written, NULL);
}
static void WaitEnter() {
    HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE); 
    char buffer;
    DWORD num_read;
    do {
        num_read = 0;
        ReadFile(hStdin, &buffer, 1, &num_read, NULL);
    } while(num_read && buffer != '\n');
}
int main() {
    PrintChars();
    WaitEnter();   
    HANDLE hcsb = CreateFileA("CONOUT$", GENERIC_WRITE | GENERIC_READ,
        FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
    CONSOLE_FONT_INFOEX cfi = {sizeof(cfi)};
    // Populate cfi with the screen buffer's current font info
    GetCurrentConsoleFontEx(hcsb, FALSE, &cfi);
    // Modify the font size in cfi
    cfi.dwFontSize.X *= 2;
    cfi.dwFontSize.Y *= 2;
    // Use cfi to set the screen buffer's new font
    SetCurrentConsoleFontEx(hcsb, FALSE, &cfi);

    WaitEnter();
    CloseHandle(hcsb);
    return 0;
}

Math

Re: 文字のフォントサイズの変更

#5

投稿記事 by Math » 5年前

>環境はwindows10
>visualstudio2018です

と#1にあったので
え、visualstudio2018 が発売されたのか、即インストールしなければと思ってGoogle検索したら沢山出てきたので
で本当なのかと 一瞬思ったけどフェイクでした。

次期Visual Studio は「Visual Studio 2019」になるんでしたよね。(^^;

じゅぴ
記事: 6
登録日時: 5年前

Re: 文字のフォントサイズの変更

#6

投稿記事 by じゅぴ » 5年前

確認したらvisualstudio2017でした
すいません
コンソールはサイズが一定じゃないといけないんですね……
参考になります
ありがとうございます

Math

Re: 文字のフォントサイズの変更

#7

投稿記事 by Math » 5年前

>コンソールはサイズが一定じゃないといけないんですね……

コンソール は絵を描けるようなのもの(GUIグラフィックス・ユーザー・インターフェース)がなかった時代の端末---キャラクター端末(CUI)のことです。

文字ごとにサイズを変えるにはGUI が必要で メモリーがたくさん必要です。

いまは GUI  のうえに CUI  のコンソールを エミュレーションして出しているわけですね。

Math

Re: 文字のフォントサイズの変更

#8

投稿記事 by Math » 5年前

Windows では コマンドプロンプト とも言いますね。

返信

“C言語何でも質問掲示板” へ戻る