diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-09-01 10:47:04 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-09-01 10:49:43 -0400 |
commit | a6ffe09f3dacab145abdf4da8025b6040fb69bb0 (patch) | |
tree | e8371e41e500a45949ce4c78850b49bd4e2cc407 | |
parent | c1009a25f561f94bb71f78fe9353ed6c4238e3a7 (diff) | |
download | pango-a6ffe09f3dacab145abdf4da8025b6040fb69bb0.tar.gz |
Add docs for new attributes
-rw-r--r-- | docs/baseline-shift-dark.png | bin | 0 -> 14806 bytes | |||
-rw-r--r-- | docs/baseline-shift-light.png | bin | 0 -> 10055 bytes | |||
-rw-r--r-- | docs/baseline-shift.svg | 740 | ||||
-rw-r--r-- | docs/meson.build | 2 | ||||
-rw-r--r-- | docs/pango.toml.in | 2 | ||||
-rw-r--r-- | docs/pango_markup.md | 10 | ||||
-rw-r--r-- | pango/pango-attributes.c | 27 |
7 files changed, 781 insertions, 0 deletions
diff --git a/docs/baseline-shift-dark.png b/docs/baseline-shift-dark.png Binary files differnew file mode 100644 index 00000000..72039c46 --- /dev/null +++ b/docs/baseline-shift-dark.png diff --git a/docs/baseline-shift-light.png b/docs/baseline-shift-light.png Binary files differnew file mode 100644 index 00000000..5bd08493 --- /dev/null +++ b/docs/baseline-shift-light.png diff --git a/docs/baseline-shift.svg b/docs/baseline-shift.svg new file mode 100644 index 00000000..3685f0fa --- /dev/null +++ b/docs/baseline-shift.svg @@ -0,0 +1,740 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="180.01096" + height="144.02473" + viewBox="0 0 47.627897 38.106544" + version="1.1" + id="svg5" + inkscape:version="1.1 (c68e22c387, 2021-05-23)" + sodipodi:docname="baseline-shift.svg" + inkscape:export-filename="/var/home/mclasen/caret-metrics-light.png" + inkscape:export-xdpi="225.31" + inkscape:export-ydpi="225.31" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="3.9105941" + inkscape:cx="101.39124" + inkscape:cy="96.149074" + inkscape:window-width="1920" + inkscape:window-height="1011" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" + inkscape:object-paths="true" + inkscape:snap-nodes="false" + inkscape:snap-bbox="true" + inkscape:snap-grids="false" + inkscape:snap-to-guides="false" + fit-margin-top="20" + fit-margin-left="20" + fit-margin-right="20" + fit-margin-bottom="20" + units="px" /> + <defs + id="defs2"> + <marker + style="overflow:visible" + id="marker24390" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend" + inkscape:isstock="true"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path21033" /> + </marker> + <marker + style="overflow:visible" + id="TriangleOutM" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="TriangleOutM" + inkscape:isstock="true"> + <path + transform="scale(0.4)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 5.77,0 -2.88,5 V -5 Z" + id="path21169" /> + </marker> + <marker + style="overflow:visible" + id="marker21412" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend" + inkscape:isstock="true"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path21410" /> + </marker> + <marker + style="overflow:visible" + id="marker21402" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Send" + inkscape:isstock="true"> + <path + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path21400" /> + </marker> + <marker + style="overflow:visible" + id="marker21392" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend" + inkscape:isstock="true"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path21390" /> + </marker> + <marker + style="overflow:visible" + id="marker21382" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend" + inkscape:isstock="true"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path21380" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Send" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Send" + inkscape:isstock="true"> + <path + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path21039" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Mend" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend" + inkscape:isstock="true"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path21051" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect21022" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect1403" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect1399" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect1395" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect1391" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect1387" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect30886" + is_visible="true" + lpeversion="1" /> + <marker + style="overflow:visible" + id="Arrow1Mend" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend" + inkscape:isstock="true"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path2044" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect4021" + is_visible="true" + lpeversion="1" /> + <marker + style="overflow:visible" + id="marker2401" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.3,0,0,0.3,-0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path2065" /> + </marker> + <marker + style="overflow:visible" + id="marker2296" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart" + inkscape:isstock="true"> + <path + transform="scale(0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path2059" /> + </marker> + <rect + x="139.09132" + y="517.55841" + width="202.35896" + height="141.97411" + id="rect107047" /> + <inkscape:path-effect + effect="spiro" + id="path-effect103696" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect103692" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect103484" + is_visible="true" + lpeversion="1" /> + <rect + x="150.41676" + y="496.0325" + width="172.54581" + height="27.762665" + id="rect90731" /> + <rect + x="204.81763" + y="459.16251" + width="163.89055" + height="21.140196" + id="rect77941" /> + <rect + x="271.01688" + y="341.36365" + width="148.94479" + height="44.471401" + id="rect60708" /> + <inkscape:path-effect + effect="spiro" + id="path-effect57120" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect56375" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect55858" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect55696" + is_visible="true" + lpeversion="1" /> + <marker + style="overflow:visible" + id="marker55148" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.3,0,0,0.3,-0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path55146" /> + </marker> + <marker + style="overflow:visible" + id="marker55138" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path55136" /> + </marker> + <marker + style="overflow:visible" + id="TriangleInM" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="TriangleInM" + inkscape:isstock="true"> + <path + transform="scale(-0.4)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 5.77,0 -2.88,5 V -5 Z" + id="path53260" /> + </marker> + <marker + style="overflow:visible" + id="marker54831" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.3,0,0,0.3,-0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path54829" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Sstart" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.3,0,0,0.3,-0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53154" /> + </marker> + <marker + style="overflow:visible" + id="marker54813" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart" + inkscape:isstock="true"> + <path + transform="scale(0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path54811" /> + </marker> + <marker + style="overflow:visible" + id="marker54803" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path54801" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect54776" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect54369" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect54152" + is_visible="true" + lpeversion="1" /> + <marker + style="overflow:visible" + id="Arrow2Send" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Send" + inkscape:isstock="true"> + <path + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53157" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Sstart" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path53136" /> + </marker> + <marker + style="overflow:visible" + id="marker53402" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart" + inkscape:isstock="true"> + <path + transform="scale(0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53400" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Mstart" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart" + inkscape:isstock="true"> + <path + transform="scale(0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53148" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mstart" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart" + inkscape:isstock="true"> + <path + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path53130" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect53122" + is_visible="true" + lpeversion="1" /> + <inkscape:path-effect + effect="spiro" + id="path-effect20193" + is_visible="true" + lpeversion="1" /> + <rect + x="123.0892" + y="373.96039" + width="320.96652" + height="243.09319" + id="rect2256" /> + <marker + style="overflow:visible" + id="Arrow1Sstart-0" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path53136-9" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Send-1" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Send" + inkscape:isstock="true"> + <path + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53157-7" /> + </marker> + <marker + style="overflow:visible" + id="marker55148-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.3,0,0,0.3,-0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path55146-7" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Send-7" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Send" + inkscape:isstock="true"> + <path + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53157-6" /> + </marker> + <marker + style="overflow:visible" + id="marker2401-7" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.3,0,0,0.3,-0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path2065-6" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Send-7-5" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Send" + inkscape:isstock="true"> + <path + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53157-6-6" /> + </marker> + <rect + x="150.41676" + y="496.0325" + width="172.54581" + height="27.762665" + id="rect90731-9" /> + <marker + style="overflow:visible" + id="marker54803-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart" + inkscape:isstock="true"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path54801-7" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Send-1-4" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Send" + inkscape:isstock="true"> + <path + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + id="path53157-7-5" /> + </marker> + </defs> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-35.213392,-125.60093)"> + <text + xml:space="preserve" + style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5778px;line-height:1.25;font-family:'Source Serif 4 Display';-inkscape-font-specification:'Source Serif 4 Display, Italic';font-variant-ligatures:normal;font-variant-position:super;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;white-space:pre;stroke-width:0.264583" + x="38.598801" + y="153.3134" + id="text4660-2"><tspan + sodipodi:role="line" + id="tspan24369" + x="38.598801" + y="153.3134">V3</tspan></text> + <text + xml:space="preserve" + transform="scale(0.26458333)" + id="text2254" + style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:85.3333px;line-height:1.25;font-family:'Source Serif 4 Display';-inkscape-font-specification:'Source Serif 4 Display, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect2256)" /> + <text + xml:space="preserve" + style="font-size:4.23333px;line-height:1.25;font-family:Cantarell;-inkscape-font-specification:'Cantarell, Normal';letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:24.5413;stroke-width:0.264583" + x="86.092941" + y="107.69234" + id="text14426" + transform="translate(-28.538334,44.819313)"><tspan + x="86.092941" + y="107.69234" + id="tspan33547"><tspan + style="text-align:center;text-anchor:middle" + id="tspan33545">Baseline +</tspan></tspan><tspan + x="86.092941" + y="112.984" + id="tspan33551"><tspan + style="text-align:center;text-anchor:middle" + id="tspan33549">shift</tspan></tspan></text> + <text + xml:space="preserve" + style="font-size:4.23333px;line-height:1.25;font-family:Cantarell;-inkscape-font-specification:'Cantarell, Normal';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583" + x="49.235531" + y="118.93787" + id="text19042"><tspan + sodipodi:role="line" + id="tspan19040" + style="stroke-width:0.264583" + x="49.235531" + y="118.93787" /></text> + <path + style="vector-effect:non-scaling-stroke;fill:none;stroke:#000000;stroke-width:0.00070004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;-inkscape-stroke:hairline" + d="m 52.928213,149.72038 c 0.960916,-0.36512 2.080231,-0.2873 2.98138,0.20727 0.507629,0.2786 0.939845,0.67633 1.431893,0.98161 0.492152,0.30534 1.039531,0.51482 1.600499,0.65891 0.661475,0.1699 1.345777,0.2507 2.028632,0.23953" + id="path30884" + sodipodi:nodetypes="csssc" + inkscape:original-d="m 52.928213,149.72038 c 0.719616,-0.76028 2.257271,0.96807 2.98138,0.20727 0.724109,-0.76081 0.225896,1.37606 1.431893,0.98161 1.205995,-0.39445 0.627475,1.38743 1.600499,0.65891 0.973026,-0.72851 1.351259,0.31674 2.028632,0.23953" + inkscape:path-effect="#path-effect30886" /> + <rect + style="vector-effect:non-scaling-stroke;fill:none;fill-opacity:0.374651;stroke:#000000;stroke-width:0.000703217;stroke-linejoin:round;-inkscape-stroke:hairline" + id="rect26849-7" + width="11.669242" + height="25.364506" + x="40.505409" + y="133.0513" + ry="0" /> + <rect + style="vector-effect:non-scaling-stroke;fill:none;fill-opacity:0.374651;stroke:#000000;stroke-width:0.000699238;stroke-linejoin:round;-inkscape-stroke:hairline" + id="rect47446-4" + width="11.669" + height="4.9391327" + x="40.505058" + y="153.46092" /> + <text + xml:space="preserve" + style="font-size:22.5778px;line-height:1.25;font-family:'Source Serif 4 Display';-inkscape-font-specification:'Source Serif 4 Display, Normal';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583" + x="74.198402" + y="145.47556" + id="text4743"><tspan + sodipodi:role="line" + id="tspan4741" + style="stroke-width:0.264583" + x="74.198402" + y="145.47556" /></text> + <rect + style="vector-effect:non-scaling-stroke;fill:none;fill-opacity:0.28;stroke:#000000;stroke-width:0.000700042;stroke-linejoin:round;-inkscape-stroke:hairline" + id="rect20307" + width="6.9471126" + height="16.905811" + x="54.158123" + y="130.89259" + ry="0" /> + <rect + style="vector-effect:non-scaling-stroke;fill:none;fill-opacity:0.28;stroke:#000000;stroke-width:0.000699027;stroke-linejoin:round;-inkscape-stroke:hairline" + id="rect20806" + width="6.947" + height="4.1181569" + x="54.158058" + y="143.70164" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.18;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker21402)" + d="m 52.147677,153.46938 1.858616,-9.23348" + id="path21020" + inkscape:path-effect="#path-effect21022" + inkscape:original-d="m 52.147677,153.46938 c 0.664644,-3.24552 1.194501,-5.98743 1.858616,-9.23348" + sodipodi:nodetypes="cc" /> + <ellipse + style="fill:none;fill-opacity:0.28;stroke:#000000;stroke-width:0.18;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" + id="path24420" + cx="52.133064" + cy="153.49341" + rx="0.1028779" + ry="0.10498031" /> + <ellipse + style="fill:none;fill-opacity:0.28;stroke:#000000;stroke-width:0.18;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" + id="path24420-6" + cx="54.107121" + cy="143.74577" + rx="0.1028779" + ry="0.10498031" /> + </g> +</svg> diff --git a/docs/meson.build b/docs/meson.build index ac2a2257..2471f09e 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -42,6 +42,8 @@ pango_content_files = [ 'cursor-positions-dark.png', 'glyphstring-positions-light.png', 'glyphstring-positions-dark.png', + 'baseline-shift-light.png', + 'baseline-shift-dark.png', ] doc_conf = configuration_data() diff --git a/docs/pango.toml.in b/docs/pango.toml.in index 01173997..b3ca2bc6 100644 --- a/docs/pango.toml.in +++ b/docs/pango.toml.in @@ -100,4 +100,6 @@ content_images = [ "cursor-positions-dark.png", "glyphstring-positions-light.png", "glyphstring-positions-dark.png", + "baseline-shift-light.png", + "baseline-shift-dark.png", ] diff --git a/docs/pango_markup.md b/docs/pango_markup.md index 287bbc56..c9561fdf 100644 --- a/docs/pango_markup.md +++ b/docs/pango_markup.md @@ -152,6 +152,16 @@ rise negative for subscript, positive for superscript. Support for specifying rise in points was added in Pango 1.50. +baseline_shift +: Vertical displacement. In contrast to rise, baseline_shift attributes are cumulative. + The value can be a length in Pango units or in points (e.g. '5pt'), or 'superscript' + or 'subscript'. Available since 1.50. + +font_scale: +: Font size change. The possible values are 'superscript' or 'subscript'. This is + similar to the font_size values 'smaller' or 'larger', but uses font metrics to + find the new size. Available since 1.50. + strikethrough : 'true' or 'false' whether to strike through the text. diff --git a/pango/pango-attributes.c b/pango/pango-attributes.c index 65af8f3b..a87c661e 100644 --- a/pango/pango-attributes.c +++ b/pango/pango-attributes.c @@ -931,9 +931,19 @@ pango_attr_rise_new (int rise) * * Create a new baseline displacement attribute. * + * The effect of this attribute is to shift the baseline of a run, + * relative to the run of preceding run. + * + * <picture> + * <source srcset="baseline-shift-dark.png" media="(prefers-color-scheme: dark)"> + * <img alt="Baseline Shift" src="baseline-shift-light.png"> + * </picture> + * Return value: (transfer full): the newly allocated * `PangoAttribute`, which should be freed with * [method@Pango.Attribute.destroy] + * + * Since: 1.50 */ PangoAttribute * pango_attr_baseline_shift_new (int rise) @@ -948,6 +958,23 @@ pango_attr_baseline_shift_new (int rise) return pango_attr_int_new (&klass, (int)rise); } +/** + * pango_attr_font_scale_new: + * @scale: a `PangoFontScale` value, which indicates font size change relative + * to the size of the previous run. + * + * + * Create a new font scale attribute. + * + * The effect of this attribute is to change the font size of a run, + * relative to the size of preceding run. + * + * Return value: (transfer full): the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] + * + * Since: 1.50 + */ PangoAttribute * pango_attr_font_scale_new (PangoFontScale scale) { |