[問題] Graphics2D 印中文的問題

看板java作者 (無奈)時間13年前 (2012/05/17 17:32), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
大家好 最近在玩 Graphics2D 碰到打印中文的問題= ="" 輸出方法是這樣子 Graphics2D g2d = (Graphics2D) g; g2d.setFont( rowOB.getFont( attrMap ) ); g2d.drawString( string , pX, rowY); 而 rowOB.getFont() 裡面是這樣拿font 並調整style AttributeSet attr = attrList.get( attrMap ); int fontType = Font.ROMAN_BASELINE; int fontSize = StyleConstants.getFontSize(attr); if( StyleConstants.isBold( attr ) ) fontType |= Font.BOLD; if( StyleConstants.isItalic( attr )) fontType |= Font.ITALIC; font = cFont.deriveFont(fontType,fontSize); 而 cFont 是這樣子拿字型檔的 File fontFile = new File( "C:\\kaiu.ttf"); if( !fontFile.exists()) throw new Exception("找無字型檔"); cFont = Font.createFont(Font.TRUETYPE_FONT, fontFile); 結果 中文字跑不出來...Orz 例如 假如 string = "ABCDEFG測試測試HIJKLMN"; 輸出大概會是這樣 ABCDEFG HIJKLMN 不曉得有沒有前輩碰到一樣的問題呢 ? 該怎麼解決Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.69.75.21

05/17 17:54, , 1F
out.print(cFont.getFontName()) 的結果是?
05/17 17:54, 1F

05/17 18:05, , 2F
版主大人 fontName 是標楷體 @@
05/17 18:05, 2F

05/18 16:38, , 3F
不能直接讀檔,參考http://ppt.cc/GJ7U
05/18 16:38, 3F

05/18 16:51, , 4F
抱歉 上面那是舊版的作法,新版請參考
05/18 16:51, 4F

05/18 16:52, , 5F
05/18 16:52, 5F

05/18 17:12, , 6F
不能直接讀檔的說法不太對 應該說沒設定好
05/18 17:12, 6F
文章代碼(AID): #1FjCMhnY (java)