Розширене японське відображення за допомогою користувацьких процесорів вмісту

Сторінка оновлюється :
Дата створення сторінки :

Про японський дисплей

Текстовий малюнок в Мономе використовує SpriteFont, а також XNA. Для SpriteFont див відображення буквено-цифрових символів і стиль шрифту докладно, так як це так само, як XNA.

Якщо ви використовуєте SpriteFont, ви повинні вказати символи, які ви хочете використовувати заздалегідь. Якщо це тільки алфавітно-цифрові символи, це може бути зроблено майже без будь-якої вартості як характер специфікації і побудувати час, тому що це близько 100 символів, але коли мова заходить про японську, вона стає тисячі символів, так що час створення стає дуже довго. Якщо ви вкажете тільки символи, які будуть використовуватися, час створення може бути скорочений до певної міри, але це важко визначити характер, який буде використовуватися в зворотному напрямку, і вона стає ще більш клопітно, якщо є зміна характеру, які будуть використовуватися.

У відповідь на цю проблему, "Ninari GD"сайт був налаштований, щоб зробити малюнок японський в XNA більш плавно (до речі, сайт-Run Юічі Іто-MSFT є одним з розробників XNA фреймворку). Це полегшує визначення символів для використання, скоротити час збирання, прикрашати символи та інше. Для отримання додаткової інформації, будь ласка, зверніться до посилання.

WPF フォントプロセッサーで作成されたテキストの描画

Тим не менш, "WPF шрифт процесор" представлені на сторінці для XNA і не може бути використаний як в Мономе. Тому я хотів би перенести це на Мономе.

Завантажити процесор WPF шрифтів

Відкрийте такі сайти:

ひにけにGD - 真・簡単(かもしれない)日本語表示

Прокрутіть униз до двох посилань і натисніть на посилання вище, щоб завантажити проект, який містить код сортування. Нижня тільки DLL, так що вам не доведеться завантажити його.

プロジェクトをダウンロード

Будь ласка, розпакуйте завантажений файл, щоб ви могли отримати вміст.

ダウンロードされたファイル

Створення проекту процесор шрифтів WPF

Я хотів би створити бібліотеку бібліотека WPF шрифтів, яка працює з "будь-який процесор", але чомусь, коли я створюю проект з "зміст трубопроводу розширення бібліотеки" XNA Framework, я можу тільки створити його в x86, так що я буду створювати його з регулярної бібліотеці класів тут.

クラス ライブラリの作成

Коли ви створюєте проект, вам не потрібно "Class1.cs", тому видаліть його.

「Class1.cs」の削除

Далі, додайте посилання.

参照の追加

Оскільки ви малюєте текст у WPF, потрібне посилання на WPF. По-перше, перевірити "Презентаціїядро" з "рамки".

「PresentationCore」にチェック

Далі, перевірити "Windowbase". Тепер натисніть кнопку OK кнопка, щоб підтвердити і знову відкрити менеджер посилань.

「WindowsBase」にチェック

Виберіть огляд ліворуч і натисніть кнопку Огляд нижче.

「参照」ボタンをクリック

Відкрийте такий шлях до папки:

  • C:\progc файли (x86) \mburd

Звідти додайте такі два DLL-файли:

  • Бібліотека DLL
  • Мономе. Framework. dll

2つの DLL を追加

Переконайтеся, що його позначено, і натисніть кнопку OK.

チェックされていることを確認

Перегляньте посилання, які було додано.

追加された参照を確認

Додайте вихідний код з папки "WpfFontPipeline" з проекту, завантаженого до проекту, який ви зараз редагуєте.

ソースコードを追加

Стан, який ви додали.

追加した状態

Переконайтеся, що конфігурація збірки "Release" і "будь-який процесор".

ビルド構成が「Release」「Any CPU」になっていることを確認

Виконайте збірку, щоб побачити, якщо він був побудований успішно.

ビルド結果

DLL створено.

DLL が作成されていることを確認

Створення ігрового проекту

Створити проект для Мономе. Неважливо, яку платформу вона є.

MonoGame のプロジェクトを作成

Розташуйте бібліотеку DLL, яку ви щойно створили в папці "вміст". Неважливо, де DLL є, але в цьому випадку вам знадобиться відносний або Абсолютний шлях, тому я залишу його тут зараз.

 DLL を Content フォルダに配置

Відкрийте вміст. мхцп і відкрийте посилання з вибраним вмістом.

Якщо двічі клацнути "Content. mmcb", щоб не відкрити його, запустіть "Мономаме трубопроводу" з меню "Пуск".

References を開く

У текстовому полі введіть ім'я файлу DLL, яку ви щойно створили, або шлях відносно або Абсолютний шлях від вмісту. мхкб.

Після того, як ви встановите його, DLL до цих пір не відображає, тому, як тільки ви збережете проект, закрийте Мономе трубопроводу і знову відкрити його.

DLL のファイル名を入力

Створює шрифт спрайта. Виберіть "Редагувати" > → створити пункт з меню.

スプライトフォントを作成

Виберіть "SpriteFont опис" з серед елементів, щоб додати його. (До речі, після додавання SpriteFont, я відкрив файл SpriteFont, щоб зробити його легше бачити під час запуску і змінили назву шрифту і розмір.)

「SpriteFont Description」を選択

Якщо ви виберете SpriteFont, що ви додали, ви побачите, що процесор шрифту WPF доступна з процесора.

「WPF フォントプロセッサー」が選択できる

Оскільки кожен параметр може бути встановлений, на цей раз я спробував встановити його, як показано на малюнку на даний момент. На жаль, ви не можете змінити колір у поточній версії трубопроводу Мономе.

各パラメータ設定

Спробувати побудувати. 6860 символи були побудовані, тому що вона включена до JIS рівня 2. Тим не більше, час становить близько дев'яти секунд, так що ви можете бачити, що це досить швидко.

ビルド完了

Тепер ми малюєте за допомогою цього SpriteFont, і код точно так само, як XNA. Ви можете намалювати текст, використовуючи код, введений в "Відображати буквено-цифрові символи" , як це. Звичайно, японці також можливі.

Я хотів би поставити тільки код, який я додав один раз.

Визначення частини поля. Додано "SpriteFont".

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

SpriteFont font;

Завантаження та створення даних шрифтів у методі LoadContent.

protected override void LoadContent()
{
  // Create a new SpriteBatch, which can be used to draw textures.
  spriteBatch = new SpriteBatch(GraphicsDevice);

  // TODO: use this.Content to load your game content here

  // フォントデータの読み込み
  font = Content.Load<SpriteFont>("Font");
}

Малювання японською мовою в методі малювання.

protected override void Draw(GameTime gameTime)
{
  GraphicsDevice.Clear(Color.CornflowerBlue);

  // TODO: Add your drawing code here
  spriteBatch.Begin();

  spriteBatch.DrawString(font, "真・簡単(かもしれない)日本語表示",
                    new Vector2(50, 50), Color.White);

  spriteBatch.DrawString(font, @"・OpenTypeフォント対応
・処理速度の高速化
・JIS漢字追加機能
・文字装飾",
              new Vector2(50, 150), Color.White);

  spriteBatch.End();

  base.Draw(gameTime);
}

Коли виконується, текст намальований. Це трохи важко зрозуміти, але літери мають кордони і сині градацій всередині.

Це стало легко намалювати японську мову, як це, і стало можливим намалювати персонажа з прикрасою.

テキストの描画結果

Нарешті, ви не можете змінити колір тексту прикраси на трубопровід Мономе, але ви можете відкрити файл безпосередньо і змінити його.

Після того, як ви зберегли та закрили проект, відкрийте файл. макб як текстовий файл.

「.mgcb」ファイルをテキストファイルで開く

Якщо ви прокручуються вниз, є інформація про колір в цільовому параметрі, тому, будь ласка, відредагуйте його безпосередньо там.

色情報を直接編集

Після збереження тексту знову відкрийте трубопровід Мономе і створіть його. Ви можете побачити, що колір змінився під час запуску.

色変更したテキスト