저는 UILabel (iOS7)에서 글꼴을 사용하고 있는데 누군가가 설명 할 수 있기를 바라고 있습니다 : 글꼴의 글리프, 어센더 및 디펜더의 관계는 무엇입니까?iOS의 Glyph Ascender 글꼴과 Descender 글꼴 간의 관계는 무엇입니까?
내가 읽은 문서에서 Ascender는 기준선 위의 글꼴 부분이며, Descender는 아래 부분 (음수로 반환 됨)입니다. 결합 된 절대 값은 글꼴의 최대 높이이어야합니다. 글리프 높이 228.4
EDIT로 반환하지만 255 센더와 -64의 센더는 319 총 높이를 줄 것이다 예를 들어
: 여기 글리프 코드는 :float adHeight = myLabel.font.ascender-myLabel.font.descender; //Descender is always a negative value
:
CTFontRef ctFont = CTFontCreateWithName((__bridge CFStringRef)(uiFont.fontName), uiFont.pointSize, NULL);
UniChar ch = [msgLabel.text characterAtIndex:0];
CGGlyph glyph;
if (CTFontGetGlyphsForCharacters (ctFont, &ch, &glyph, 1)) {
CGRect bounds = CTFontGetBoundingRectsForGlyphs (ctFont, kCTFontOrientationDefault, &glyph, nil, 1);
float glyphHeight = bounds.size.height;
}
그리고 여기가 어 센더/센더 코드입니다
왜 CTFontGetBoundingRectsForGlyphs에서 반환 된 Glyph 높이가 Ascender plus Descender와 같지 않은가?
글리프 높이는 어떻게 받고 있습니까? 어쩌면 코드를 보여줄 수 있을까요? – hooleyhoop
확인 - 일부 코드를 추가했습니다 ... – wayneh