글꼴 메트릭을 가져 오기 위해 Apache FontBox를 사용하고 있습니다. 글리프에서 GeneralPath를 가져오고 거기에서 글리프의 높이와 같은 정보를 얻습니다.Apache FontBox의 글리프 이름과 GeneralPath (PDFBox)
OpenType 글꼴의 글리프 이름에서 GeneralPath 개체를 가져 오려고합니다. 이 양식을 사용하면 정확한 글리프 정보 (경로)를 얻을 수 있습니다.
사실int glyphID = otfFont.getUnicodeCmap().getGlyphId(0x0075);
String name = otfFont.getCFF().getFont().getCharset().getNameForGID(glyphID);
GeneralPath glyphPath = otfFont.getPath(name);
System.out.println(glyphPath.getBounds2D().getMaxY()); //Incorrect...
, FontBox 지정된 일치하는 문양을 찾을 수 없습니다 : 나는 유니 코드에서 문자 모양 이름을 가져하려고하면
GeneralPath glyphPath = otfFont.getPath("uni24C8");
System.out.println(glyphPath.getBounds2D().getMaxY()); //Ok...
그러나, 나는 문양에 대한 incorret 정보를 얻을 수 이름. 예를 들어, 다음 호출은 false를 반환합니다.
otfFont.hasGlyph(otfFont.getCFF().getFont().getCharset().getNameForGID(glyphID));
내가 뭘 잘못하고 있니? "uni0075"또는 "uni24C8"과 같은 이름을 직접 사용할 때마다 정확한 값을 얻습니다. 그러나 GlyphId에서이 이름을 얻는 방법을 모르겠습니다.
Ps .: otfFont는 OpenTypeFont 객체입니다.
미리 감사드립니다.