2009-02-07 9 views
2

코어 그래픽 API를 사용하여 약간의 텍스트를 렌더링하려고하는데 개념적으로 어려움이 있습니다.코어 그래픽의 글꼴 크기

CGContextSetFontSize을 사용하여 글꼴 크기를 지정하려고합니다. 크기 매개 변수는 "텍스트 공간 단위"이라고합니다. 그게 뭐야? "em"단위는 어떻게 매핑됩니까?

감사

답변

2

나는 CGContextSetFontSize 사용하여 글꼴 크기를 지정하기 위해 노력하고있어. 크기 매개 변수는 "텍스트 공간 단위"라고 불리는 것에 있습니다. 그게 뭐야? "em"단위는 어떻게 매핑됩니까?

두 번째 질문에 먼저 대답하려면 1em (다음 the CSS definition)이 지정한 금액과 같습니다.

코어 그래픽의 "텍스트 공간"은 사용자 공간에서 파생됩니다. 사용자 공간을 텍스트 공간으로 변환하는 텍스트 행렬 인 추가 변환 행렬이 있습니다. CGContextSetTextMatrix, How Quartz 2D Draws TextDrawing Text을 참조하십시오.

기본적으로 텍스트 행렬은 단위 행렬이므로 텍스트 공간 = 사용자 공간입니다.

+0

즉, 변환 행렬을 변경하지 않는 한 기본적으로 글꼴의 포인트 크기 (예 : 12pt)입니다. –

+0

No. Quartz의 글자 크기는 텍스트 공간에 있으며, 두 변환 매트릭스가 적용된 * 후에 *이다. 1 em = 글꼴 크기, 상관없이. –

+0

피터에게 감사드립니다. 텍스트 행렬 = 단위 행렬 (즉, 변환 없음)을 말합니다. 1em = 1 픽셀입니까? – EightyEight