Tategaki 3.1.0
See the version list below for details.
dotnet add package Tategaki --version 3.1.0
NuGet\Install-Package Tategaki -Version 3.1.0
<PackageReference Include="Tategaki" Version="3.1.0" />
paket add Tategaki --version 3.1.0
#r "nuget: Tategaki, 3.1.0"
// Install Tategaki as a Cake Addin #addin nuget:?package=Tategaki&version=3.1.0 // Install Tategaki as a Cake Tool #tool nuget:?package=Tategaki&version=3.1.0
WPF用縦書きテキストブロック Tategaki
WPFアプリケーションにおいて縦書きを使用するためのコントロールライブラリです。
WPFはネイティブで縦書きをサポートしておらず簡単に日本語の縦書きのようなものを作ることができませんが、このコントロールを利用すれば、WPF標準のTextBlockコントロールを使うような感覚で縦書きを実現することができます。
動作環境
- Windows OS
- .NET 6 / .NET Framework 4.7.2
使用方法
1. Nugetからインストール
https://www.nuget.org/packages/Tategaki/
2. XAML名前空間を設定
XAMLで名前空間 "http://schemas.eh500-kintarou.com/Tategaki" を登録し、"TategakiText"要素および"TategakiMultiline"要素を追加することで縦書きのテキストを表示させることができるようになります。
<Window x:Class="TategakiTextTest.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:tg="http://schemas.eh500-kintarou.com/Tategaki"
Title="MainWindow" />
<tg:TategakiText Text="「こんにちは」"/>
3. サンプルコードをチェック
このリポジトリにはサンプルコードが含まれています。 サンプルコード を見ることでより理解が深まります。
プロジェクトURL
https://github.com/EH500-Kintarou/Tategaki
https://www.nuget.org/packages/Tategaki/
https://days-of-programming.blogspot.com/search/label/WPF%E7%94%A8%E7%B8%A6%E6%9B%B8%E3%81%8D%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%20Tategaki
利用しているライブラリ
- TypeLoader: https://typeloader.codeplex.com/
TypeLoeaderはすでにリンク切れを起こしているため、当リポジトリ内に取り込んだうえで利用しております。 - Extended WPF Toolkit (サンプルコード内のみ): https://github.com/xceedsoftware/wpftoolkit
バージョン履歴
ver.3.1.0 (2024/04/13)
- TategakiTextに以下の機能を実装
- TextWrappingプロパティを実装(複数行対応)
- 禁則文字(文末禁止文字、文頭禁止文字)、文末ぶらさげ文字を実装
- TextDecotarionsプロパティを実装(下線、取消線などを付けられるようになった)
- LineHeightプロパティを実装(行の高さを設定できるようになった)
- TextAlignmentプロパティを実装
- Paddingプロパティを実装
- EnableHalfWidthCharVerticalプロパティを追加(半角文字を縦書きにするか横書きにするかのオプション)
- 使えるフォントの種類が増えた(今までは全ユーザー用にインストールされたフォントしか使えなかった)
- TategakiMultilineにObsolete属性を追加(TategakiTextで複数行表示ができるようになり、使う必要がなくなったため)
ver.3.0.1 (2024/04/06)
- ターゲットに.NET Framework 4.7.2も追加。
ver.3.0.0 (2024/04/05)
- TategakiTextコントロールを刷新した。
- カスタムコントロールではなく、FrameworkElementを継承したクラスとして実現。
- TategakiMultilineの禁則文字処理を高速化した。
- ターゲットを.NET Frameworkから.NET 6に変更した。
ver.2.1.1 (2015/12/18)
- コードを一部C#6化した
- コントロールの名前空間をURLにした(アセンブリ参照でも使える)
- Nugetデビュー
ver.2.1.0 (2015/01/24)
- フォント抽出とグリフインデックス変換をTypeLoaderで行うようにした。それによって扱えるフォント数が増えた(と思う)。
ver.2.0.0 (2015/01/21)
- コントロールをカスタムコントロールで作りなおした。それによってデフォルトで親のフォントを継承できるようになった。
- TategakiMultilineをWrapPanelを使って実現した。
- 実装上の都合でTategakiMultilineから文末ぶら下げ処理と文字間スペーシング機能が削除された。
ver.1.1.2 (2014/12/04)
- Meiryo UIの縦書きフォントが取得でいない環境でコントロールが使えない問題を修正
- 禁則処理やぶら下げ組みに対応
- 行のサイズを計算するプログラムを高速化した
ver.1.1.1 (2014/12/03)
- 一部、プロパティを変更しても画面に反映されないバグを修正
- 利用できるフォントを取得するGetAvailableFontsメソッドをAvailableFontsプロパティに変更した
- 行のサイズを計算するプログラムを2倍くらい高速化した
ver.1.1.0 (2014/08/01)
- 複数行(自動折り返し)の縦書きコントロール"TategakiMultiline"を実装
- 太字、斜体に対応
- 比較的短い長さのテキストを表示させようとするとバグる不具合を修正
- フォントファミリ名やサイズなどをXAMLで指定しないと表示されないバグを修正
ver.1.0.0 (2014/07/22)
- 初公開
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. |
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- TategakiTextに以下の機能を実装
- TextWrappingプロパティを実装(複数行対応)
- 禁則文字(文末禁止文字、文頭禁止文字)、文末ぶらさげ文字を実装
- TextDecotarionsプロパティを実装(下線、取消線などを付けられるようになった)
- LineHeightプロパティを実装(行の高さを設定できるようになった)
- TextAlignmentプロパティを実装
- Paddingプロパティを実装
- EnableHalfWidthCharVerticalプロパティを追加(半角文字を縦書きにするか横書きにするかのオプション)
- 使えるフォントの種類が増えた(今までは全ユーザー用にインストールされたフォントしか使えなかった)
- TategakiMultilineにObsolete属性を追加(TategakiTextで複数行表示ができるようになり、使う必要がなくなったため)