- - PR -
文字列の長さ
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-05 12:50
はじめまして。
「Arial Unicode MS」のString文字列の文字数では なく、長さを取得する方法ってありますでしょうか。 Fontクラスかなんかで行うのでしょうか。 初心者ですいません。 よろしくお願いします。 | ||||
|
投稿日時: 2007-04-05 12:53
たとえば、文字列「あcsあ12」などでフォント8サイズ
の文字の幅が知りたいです。 | ||||
|
投稿日時: 2007-04-05 12:59
エスパーじゃ無いので、「長さ」が何を指すのか解りませんが
バイト長 → String.getBytesメソッドで取得した配列の要素数 ピクセル数 → Java2Dを使用して取得(プラットフォーム、フォント、フォントサイズ、フォントスタイル、、、etc 様々な要因によって変化する) といった事でしょうか? 後者は取得した所であまり意味がありませんが・・・。 | ||||
|
投稿日時: 2007-04-05 13:06
おっと、タイミング被りましたね。
後者の方法で取得出来なくも無いですよ。
| ||||
|
投稿日時: 2007-04-05 13:09
FontMetricクラスについて調べてみましょう。 http://java.sun.com/docs/books/tutorial/2d/text/measuringtext.html | ||||
|
投稿日時: 2007-04-05 13:10
Java 1.2 頃の知識で回答しますと、FontMetrics クラスでできるはずです。 http://java.sun.com/j2se/1.5.0/ja/docs/ja//api/java/awt/FontMetrics.html FontMetrics のインスタンスは Graphics から取得できます。 http://java.sun.com/j2se/1.5.0/ja/docs/ja//api/java/awt/Graphics.html#getFontMetrics(java.awt.Font) しかし、なぜ2種類(引数に Font があるメソッドとないメソッド)あるのかがわたし的には謎です。 使い方はネットで検索すれば出てくるでしょう。 なお、古臭そうなクラスなので、最近ならもっと洗練された API がひょっとしたら存在するのかもしれません。 -- unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86} | ||||
|
投稿日時: 2007-04-05 13:57
沢山の返信ありがとうございます。
new Font("HGPゴシックE", Font.TRUETYPE_FONT, 9); の部分はでArivalUnicodeMSを指定すればよいのでしょうか。 がんばってみます^^ |
1