- - PR -
Applet Labelクラスにて縦書きの仕方
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-06-10 16:01
いつもお世話になっています。
現在アプレットで画面を作成し、縦長のラベルクラスにsetTextなどで 文字を埋め込みたいのですが、縦書きで表示されることって可能でしょうか? Javadocなどを見た限り見当たらなかったのですが、文字列えに改行コードいれて そのStringの変数をsetTextの引数に渡してみたんですが、機種依存文字が出て しまいました。 どなたかご存知の方教えてもらえると幸いです。 また、Labelクラスじゃなくても構いません。 環境 eclipse 2.1.2 plugin VisualEditor JDK1.4.1 | ||||
|
投稿日時: 2004-06-10 18:30
直接の回答ではなくてすみません。
私も興味があるので、成功した暁にはコードレットを公開していただけると幸いです。 国際化についての FAQ http://java.sun.com/j2se/1.4/ja/docs/ja/guide/intl/faq.html の「テキストのレンダリング」の項あたりが参考になるのではないでしょうか。 (ランタイムの font.properties.ja とかをいじる必要があるのかな...) また、 Java製縦書きブラウザ 影鷹 http://www.kagetaka.org/ 縦やオラ! for Java http://www.geocities.co.jp/Playtown-Spade/2177/tateya/index.html なども参考になるでしょう。 | ||||
|
投稿日時: 2004-06-12 00:14
お世話になっております。
JLabelクラスならhtmlタグを使えますので、1文字ずつ<br>タグで改行するというのもありかもしれません。 setText("<html>a<br>b<br></html>"); こんな感じですか。 あまり美しくないですが(^^;; | ||||
|
投稿日時: 2004-06-14 15:04
ライブラリには、残念ながらそのような機能は無いようですね・・・
正道のやり方としては、そのようなレンダリングを行うComponentUIを自作して、JLabel インスタンスにインストールする、ということになるのではないでしょうか。 ためしにごく簡単なサンプルを書いてみようと思ったのですが、何故か横幅が思いどうりに なりません・・・どなたか、なぜかわかりますか?
| ||||
|
投稿日時: 2004-06-15 09:45
みなさんありがとうございます。 大変参考になりました。
syoさん、htmlタグを使って改行でラベル使ってみます。 必死に¥nなどの改行コードで改行させようとしちゃってました(^^; シュンさんのサンプル大変勉強になります。 時間あるときにいじくってみます。 じたばたさん、現状、上からは縦書きにだせればなんでもいいと すごくアバウトな依頼だったんで、JTextPanelを使ってしまってました。 | ||||
|
投稿日時: 2004-06-15 14:41
はじめまして、こうじえんといいます。
htmlで解決をされる方向に決まったようですが、一つ気になる点がありました ので投稿しました。 本来縦書きでは、"ー"や"。"のような記号は横書き用とはグリフが異なります。 ("ー"なら"|"(仮として別の文字を使ってます)に、"。"なら丸は左下ではなく 右上になります) htmlでは単純に縦に文字を並べるだけなので、見た目あまりよろしくないため、 厳密に縦書きするのであれば、この点考慮されたほうがいいと思います。 私自身、解決方法を持っているわけではありませんが・・ もしそこまでは気にしないというのであれば、この投稿は無視してください 私も以前でJavaによる縦書きエディタを作成しました。このときはいくつかの 特殊要件があったため、JEditorPaneを改造するレベルですみました。 その特殊要件のため、上記のようなことには悩まなくてもすみましたが・・ (Javaも縦書き用フォントを普通に扱えるようになってほしいなぁ・・・ [ メッセージ編集済み 編集者: こうじえん 編集日時 2004-06-15 14:42 ] | ||||
|
投稿日時: 2004-06-15 15:02
テキスト文書を縦書き表示するだけ(編集不可)なら
こんなものも以前ありましたがどうでしょうか。 ソースから幾らか手直し入りますが、、 URL:http://www.geocities.co.jp/Playtown-Spade/2177/tateya/index.html =========================================================== 【名 称】 縦やオラ! for Java Lite Ver1.71a 【制作者名】 斑猫 賢二 (mousecat@anet.ne.jp) 【動作環境】 JDK1.0.2以降 ----------------------------------------------------------- 【種 別】 フリーソフト 【 転 載 】 要連絡 =========================================================== | ||||
|
投稿日時: 2004-06-22 11:34
なるほど、そういう問題があるのですか。気が付きませんでした。 OSが縦書きフォントを提供していても、JVMではそのまま使用できない、という ことなら、グリフ毎に適切にアフィン変換してドロー、というベタな手段しか ないでしょうか? サンプルコードは、可能性を示すだけの手抜きサンプルですので、そのあたりは 誤解無いようよろしくお願いします。>皆様 | ||||
