2012-09-20 5 views
1

다른 스타일의 텍스트가있는 두 단락을 필요로합니다. 이것은 그것을 설명하는 가장 빠른 방법입니다Pango Cairo 레이아웃에 두 가지 글꼴 스타일을 자동으로 흐르게 할 수 있습니까?

<p style="font-size: 20pt">Para 1</p><p style="font-size: 10pt">Para 2</p> 

내가 모두 줄 바꿈을 설정하고, 그래서 가장 먼저 실행 시간까지 일 무슨 높이 모른다. 제 1 항에 여러 줄이 있다면 제 2 절을 옮기고 싶습니다. 단락 1에 한 줄이 있다면 단락 2를 위로 이동하고 싶습니다. HTML이 작동 할 때.

그러나 레이아웃 당 하나의 글꼴 스타일을 설정할 수있는 것은 pango_layout_set_font_description(PangoLayout *, PangoFontDescription *)입니다.

  1. 2 개의 레이아웃을 사용해야합니까?
  2. 그렇다면 두 번째 레이아웃을 두 번째 레이아웃 바로 아래에 표시하려면 어떻게해야합니까? pango_layout_get_height(PangoLayout *)을 사용하고 그에 따라 두 번째 레이아웃을 이동해야합니까?

답변

1

가능해야합니다. 당신이 pango_parse_markup()를 사용한다면, 당신은 '< 스팬 글꼴 = "산세 12"> foo는 </스팬 > < 범위 글꼴 = "산세 16"> 바 </스팬 >'같은 것을 사용할 수 있습니다. pango_parse_markup()을 사용하지 않으려면 PangoAttrType 및 PangoAttrList를 확인하십시오. 그러나 나는 그들에게 어떤 모범이 없다. Pango_attr_list_new(), pango_attr_list_insert(), pango_attr_size_new() 및 pango_layout_set_attributes()가 필요합니다. (PangoAttribute에서 start_index와 end_index를 설정하십시오!)

물론 여러 레이아웃을 사용할 수도 있지만, 필요한 매직을 판고로 이해하는 것이 더 쉬울 수도 있습니다.

+0

내가 이것을 필요로하는 프로젝트가 취소되어서 이것을 테스트 할 수 없을까 걱정됩니다. 나는 당신에게 upvote를 줄 것이다. 그러나 나는 이것을 옳은 것으로 표시 할 수 없다. 미안하다. – Joe