summaryrefslogtreecommitdiff
path: root/trunk/docs/tmpl/vertical.sgml
blob: 5df8f4df2767f63447735163c926f5680c3757dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<!-- ##### SECTION Title ##### -->
Vertical Text

<!-- ##### SECTION Short_Description ##### -->
Laying text out in vertical directions

<!-- ##### SECTION Long_Description ##### -->
<para>
Since 1.16, Pango is able to correctly lay vertical text out.  In fact, it can
set layouts of mixed vertical and non-vertical text.  This section describes
the types used for setting vertical text parameters.
</para>
<para>
The way this is implemented is through the concept of
<firstterm>gravity</firstterm>.  Gravity of normal Latin text is south.  A
gravity value of east means that glyphs will be rotated ninety degrees
counterclockwise.  So, to render vertical text one needs to set the gravity
and rotate the layout using the matrix machinery already in place.  This has
the huge advantage that most algorithms working on a #PangoLayout do not need
any change as the assumption that lines run in the X direction and stack in
the Y direction holds even for vertical text layouts.
</para>
<para>
Applications should only need to set base gravity on #PangoContext in use, and
let Pango decide the gravity assigned to each run of text.  This automatically
handles text with mixed scripts.  A very common use is to set the context base
gravity to auto and rotate the layout normally.  Pango will make sure that
Asian languages take the right form, while other scripts are rotated normally.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### ENUM PangoGravity ##### -->
<para>

</para>

@PANGO_GRAVITY_SOUTH: 
@PANGO_GRAVITY_EAST: 
@PANGO_GRAVITY_NORTH: 
@PANGO_GRAVITY_WEST: 
@PANGO_GRAVITY_AUTO: 

<!-- ##### MACRO PANGO_TYPE_GRAVITY ##### -->
<para>
The #GObject type for #PangoGravity.
</para>



<!-- ##### ENUM PangoGravityHint ##### -->
<para>

</para>

@PANGO_GRAVITY_HINT_NATURAL: 
@PANGO_GRAVITY_HINT_STRONG: 
@PANGO_GRAVITY_HINT_LINE: 

<!-- ##### MACRO PANGO_TYPE_GRAVITY_HINT ##### -->
<para>
The #GObject type for #PangoGravity.
</para>



<!-- ##### MACRO PANGO_GRAVITY_IS_VERTICAL ##### -->
<para>

</para>

@gravity: 


<!-- ##### FUNCTION pango_gravity_get_for_matrix ##### -->
<para>

</para>

@matrix: 
@Returns: 


<!-- ##### FUNCTION pango_gravity_get_for_script ##### -->
<para>

</para>

@script: 
@base_gravity: 
@hint: 
@Returns: