Re: Khmer script not correctly rendered

Andy Robinson <[email protected]> Fri, 23 Aug 2024 03:50:46 -0700 (PDT)
Newsgroups gmane.comp.python.reportlab.user
Message-ID <[email protected]>
------=_Part_118848_1222933594.1724410246702
Content-Type: multipart/alternative; 
	boundary="----=_Part_118849_1739153871.1724410246702"

------=_Part_118849_1739153871.1724410246702
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable


Hi Matthias,

Thanks very much for your work on this.  We've been looking into it over=20
the summer and making some progress.  Could you contact me on=20
[email protected] when it's convenient, please?

- Andy

On Saturday 22 June 2024 at 06:20:41 UTC+1 [email protected] wrote:

The investigation of this phenomena continued in my GitHub project in this=
=20
issue: https://github.com/kreier/timeline/issues/35=20

It seems this problem could be solved if a font shape engine like harfbuzz=
=20
would be integrated into reportlab. For simpler combined characters and for=
=20
arabic (with import arabic_reshaper and  reshaped =3D=20
arabic_reshaper.reshape(exam_name) ) this is already done in reportlab. And=
=20
continuing on a post in this forum here from 2005=20
<https://groups.google.com/g/reportlab-users/c/scxAhaReanI/m/IYSaDfoH9ZkJ>=
=20
Andy noted:

*> We are trying to work out the right font descriptors and sequences of=20
bytes to put in the PDF file so that the right stuff magically happens on=
=20
screen.*

And I think with harfbuzz this would actually be possible. Going back to=20
the example mentioned above (and in my issue 35) if we use the Khmer word=
=20
for years =E1=9E=86=E1=9F=92=E1=9E=93=E1=9E=B6=E1=9F=86 it is represented b=
y five unicode codepoints: '\u1786\u17D2\u1793\u17B6\u17C6'.=20
But the codepoints to be inserted in the PDF to point to the right glyph=20
points is *uni178617B6, uni17D21793* and *uni17C6*. While the last looks=20
like the same, the others are actually not Unicode code points but points=
=20
in the font file for these specific ligatures. And we need a little more=20
information about by how much our "cursor" should move forward after the=20
glyph (first one has a width of 923, the others have zero) and how the=20
glyphs should be positioned relative to the first glyph. These information=
=20
would be integrated into the stream for the pdf file (I don't know how this=
=20
stream is generated :( in reportlab) but all the required information is=20
given by harfbuzz.=20

I'm not sure if functions like *instanceStringWidthTTF*=20
<https://github.com/MrBitBucket/reportlab-mirror/blob/master/src/reportlab/=
lib/rl_accel.py#L106>=20
would work since they have a *utf-8* encoded string as text argument, but *=
uni178617B6=20
*and* uni17D21793* are not Unicode codepoints and therefore not represented=
=20
in utf-8. It's probably a lot of work. But it looked like @replarobin Robin=
=20
Becker was interested in starting this project. I still got no response for=
=20
signing up to the official mail list and can't post there, so I have this=
=20
little update here.

Finally a little visual how the font shaping would work, replacing the five=
=20
Unicode code points with three glyph code points for the example above:

[image: khmer_shape.png]


On Thursday 30 May 2024 at 20:16:08 UTC+7 Matthias Kreier wrote:

Digging around in the last 10 days gave me a better understanding of the=20
problem. Some languages, scripts and glyphs need replacement=20
tables/ligatures to proper render the intended text written in the unicode=
=20
sequence. It is not an easy task. As I found in a Microsoft document there=
=20
are some 634 language tags=20
<https://learn.microsoft.com/en-us/typography/opentype/spec/languagetags>=
=20
in software supported to properly render these languages in one of 173=20
scripts=20
<https://learn.microsoft.com/en-us/typography/opentype/spec/scripttags>.=20
Luckily most of the heavy lifting is already done or a constant process of=
=20
refinement - namely Fonttools <https://github.com/fonttools/fonttools> and=
=20
Harfbuzz <https://github.com/harfbuzz/harfbuzz>. Another project for=20
creating pdf documents with python fpdf2 <https://py-pdf.github.io/fpdf2/>=
=20
solved this problem 2022 with the inclusion of the mentioned tools=20
<https://github.com/py-pdf/fpdf2/pull/477>. It might be an option for=20
reportlab, given the required manpower (from the company or community).

I documented my findings here <https://github.com/kreier/timeline/issues/35=
>.=20
I know the implementation of the ligature rendering process will require=20
some time and work. Yet otherwise I might have to shift to another python=
=20
base for my project. Andy probably knows what's best for his company.

Here some example code that solves the problem:

# example rendering Khmer
from fpdf import FPDF
pdf =3D FPDF(orientation=3D"P", unit=3D"mm", format=3D"A4")
pdf.add_page()
pdf.add_font("noto", style=3D"", fname=3D"../../fonts/NotoKhmer.ttf")
pdf.set_font('noto', size=3D32)
pdf.cell(text=3D"King        - =E1=9E=9F=E1=9F=92=E1=9E=8F=E1=9F=81=E1=9E=
=85", new_x=3D"LMARGIN", new_y=3D"NEXT")
pdf.cell(text=3D"Prophet - =E1=9E=A0=E1=9F=84=E1=9E=9A=E1=9E=B6",     new_x=
=3D"LMARGIN", new_y=3D"NEXT")
pdf.set_font("Helvetica", size=3D12)
pdf.cell(h =3D 20,text=3D"Now using __text_shaping__ with **uharfbuzz**:",=
=20
markdown=3DTrue, new_x=3D"LMARGIN", new_y=3D"NEXT")
pdf.set_font("noto", size=3D32)
pdf.set_text_shaping(use_shaping_engine=3DTrue, script=3D"khmr", language=
=3D"khm")
pdf.cell(text=3D"King        - =E1=9E=9F=E1=9F=92=E1=9E=8F=E1=9F=81=E1=9E=
=85", new_x=3D"LMARGIN", new_y=3D"NEXT")
pdf.cell(text=3D"Prophet - =E1=9E=A0=E1=9F=84=E1=9E=9A=E1=9E=B6",     new_x=
=3D"LMARGIN", new_y=3D"NEXT")
pdf.output("example_fpdf.pdf")

And the output:

[image: Screenshot 2024-05-30 201445.png]

On Tuesday 21 May 2024 at 13:28:19 UTC+7 Matthias Kreier wrote:

Here is a simple example for the syllable ssa "=E1=9E=9F=E1=9F=92=E1=9E=9F"=
. In reportlab the=20
result is [image: Screenshot 2024-05-21 132037.png]. Some further=20
explanation:

The Khmer syllable "=E1=9E=9F=E1=9F=92=E1=9E=9F" (ssa) consists of a base c=
onsonant followed by a=20
subscript consonant. Here=E2=80=99s a detailed breakdown of the Unicode seq=
uence:

1. *Base Consonant:* =E1=9E=9F (SA) - U+179F
2. *Subscript Consonant:* =E1=9F=92=E1=9E=9F (subscript SA) - U+17D2 (KHMER=
 SIGN COENG) +=20
U+179F (subscript form of SA)

*Unicode Sequence*

1.* Base Consonant: *
   - U+179F (=E1=9E=9F)

2.* Subscript Consonant: *
   - U+17D2 (KHMER SIGN COENG)=20
   - U+179F (subscript form of SA)

*Full Unicode Sequence*

Putting these together, the full Unicode sequence for "=E1=9E=9F=E1=9F=92=
=E1=9E=9F" is:

U+179F (=E1=9E=9F)=20
U+17D2 (=E1=9F=92)=20
U+179F (=E1=9F=92=E1=9E=9F)

*UTF-8 Encoding*

To represent this sequence in UTF-8, each Unicode code point is converted=
=20
to its corresponding UTF-8 byte sequence:

- *U+179F* (=E1=9E=9F) in UTF-8: E1 9E 9F
- *U+17D2* (=E1=9F=92) in UTF-8: E1 9F 92
- *U+179F* (subscript SA) in UTF-8: E1 9E 9F

*Full UTF-8 Sequence*

Combining these, the UTF-8 encoding for the sequence "=E1=9E=9F=E1=9F=92=E1=
=9E=9F" is:

*E1 9E 9F E1 9F 92 E1 9E 9F*


*Rendering Process*

1. *Base Consonant:* The rendering engine identifies the base consonant =E1=
=9E=9F=20
(U+179F).
2. *Subscript Consonant:* It recognizes the subscript sign (KHMER SIGN=20
COENG, U+17D2) and attaches the following consonant to the base consonant=
=20
in its subscript form.
3. *Combination:* The engine renders the subscript consonant properly=20
positioned under the base consonant.

In summary, the Unicode sequence for "=E1=9E=9F=E1=9F=92=E1=9E=9F" involves=
 a base consonant=20
followed by a subscript sign and another consonant, encoded and rendered=20
according to the rules of the Khmer script. The UTF-8 encoding ensures each=
=20
character is correctly represented in byte form, which the rendering engine=
=20
interprets to display the correct combined character.


On Tuesday 21 May 2024 at 01:54:47 UTC+7 Matthias Kreier wrote:

I use Khmer script in my project and have the text in utf-8 and use the=20
Noto Sans Khmer ttf font file. For comparison I have the same text with the=
=20
same font in Word (left) and as result from a reportlab run (right):

[image: Screenshot 2024-05-21 015018.png]
The text should be:=20
54=E1=9E=98=E1=9E=93=E1=9E=BB=E1=9E=9F=E1=9F=92=E1=9E=9F
12=E1=9E=85=E1=9F=85=E1=9E=80=E1=9F=92=E1=9E=9A=E1=9E=98
19=E1=9E=A0=E1=9F=84=E1=9E=9A=E1=9E=B6
53=E1=9E=9F=E1=9F=92=E1=9E=8F=E1=9F=81=E1=9E=85
82=E1=9E=9A=E1=9E=99=E1=9F=88=E1=9E=96=E1=9F=81=E1=9E=9B
37=E1=9E=96=E1=9F=92=E1=9E=9A=E1=9E=B9=E1=9E=8F=E1=9F=92=E1=9E=8F=E1=9E=B7=
=E1=9E=80=E1=9E=B6=E1=9E=9A=E1=9E=8E=E1=9F=8D
18=E1=9E=9C=E1=9E=8F=E1=9F=92=E1=9E=90=E1=9E=BB=E1=9E=AC=E1=9E=9C=E1=9E=8F=
=E1=9F=92=E1=9E=90=E1=9E=BB

The font is: https://fonts.google.com/noto/specimen/Noto+Sans+Khmer=20


------=_Part_118849_1739153871.1724410246702
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<br />Hi Matthias,<div><br /></div><div>Thanks very much for your work on t=
his.=C2=A0 We've been looking into it over the summer and making some progr=
ess.=C2=A0 Could you contact me on [email protected] when it's convenient,=
 please?</div><div><br /></div><div>- Andy</div><div><br /></div><div><div =
dir=3D"auto">On Saturday 22 June 2024 at 06:20:41 UTC+1 [email protected]=
m wrote:<br /></div><blockquote style=3D"margin: 0px 0px 0px 0.8ex; border-=
left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">The investigation o=
f this phenomena continued in my GitHub project in this issue:=C2=A0<a href=
=3D"https://github.com/kreier/timeline/issues/35" target=3D"_blank" rel=3D"=
nofollow">https://github.com/kreier/timeline/issues/35</a>=C2=A0<div><br />=
</div><div>It seems this problem could be solved if a font shape engine lik=
e harfbuzz would be integrated into reportlab. For simpler combined charact=
ers and for arabic (with=C2=A0<font face=3D"Courier New" style=3D"backgroun=
d-color: white;" color=3D"#0000ff"><span style=3D"font-style: inherit; font=
-variant: inherit; font-weight: inherit; white-space: inherit; margin: 0px;=
 padding: 0px; border: 0px; font-stretch: inherit; line-height: inherit; fo=
nt-kerning: inherit; font-feature-settings: inherit; font-size: 13px; verti=
cal-align: baseline; box-sizing: inherit;">import</span><span style=3D"font=
-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inheri=
t; font-weight: inherit; white-space: inherit;"> </span></font><span style=
=3D"font-variant-ligatures: inherit; font-variant-caps: inherit; white-spac=
e: inherit;"><span style=3D"font-weight: bold; font-family: &quot;Courier N=
ew&quot;; background-color: white;"><font color=3D"#0000ff">arabic_reshaper=
</font></span><font color=3D"#0c0d0e"> <font face=3D"Sans Serif">and</font>=
<font face=3D"Courier New" style=3D"font-weight: bold;">=C2=A0</font></font=
></span><span style=3D"background-color: transparent; font-family: inherit;=
 font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: i=
nherit; font-weight: inherit; white-space: inherit; color: rgb(12, 13, 14);=
">

</span><span style=3D"background-color: transparent; font-style: inherit; f=
ont-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: in=
herit; white-space: inherit;"><font face=3D"Courier New" color=3D"#000000">=
reshaped =3D arabic_reshaper.reshape(exam_name)</font></span>=C2=A0) this i=
s already done in reportlab. And continuing on <a href=3D"https://groups.go=
ogle.com/g/reportlab-users/c/scxAhaReanI/m/IYSaDfoH9ZkJ" target=3D"_blank" =
rel=3D"nofollow">a post in this forum here from 2005</a> Andy noted:</div><=
div><br /></div><div><i>&gt; We are trying to work out the right font descr=
iptors and=C2=A0sequences of bytes to put in the PDF file so that the right=
 stuff=C2=A0magically happens on screen.</i><br /></div><div><br /></div><d=
iv>And I think with harfbuzz this would actually be possible. Going back to=
 the example mentioned above (and in my issue 35) if we use the Khmer word =
for years=C2=A0<span style=3D"color: rgb(31, 35, 40); font-family: -apple-s=
ystem, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Hel=
vetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Em=
oji&quot;;">=E1=9E=86=E1=9F=92=E1=9E=93=E1=9E=B6=E1=9F=86 it is represented=
 by five unicode codepoints: </span><span style=3D"font-family: &quot;Couri=
er New&quot;; color: rgb(31, 35, 40);">'</span><span style=3D"color: rgb(31=
, 35, 40);"><font face=3D"Courier New">\u1786\u17D2\u1793\u17B6\u17C6'. </f=
ont><font face=3D"Sans Serif">But the codepoints to be inserted in the PDF =
to point to the right glyph points is=C2=A0</font></span><strong style=3D"b=
ox-sizing: border-box; color: rgb(31, 35, 40); font-family: -apple-system, =
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica,=
 Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quo=
t;;">uni178617B6, uni17D21793</strong><span style=3D"color: rgb(31, 35, 40)=
; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &qu=
ot;Noto Sans&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&q=
uot;, &quot;Segoe UI Emoji&quot;;">=C2=A0and=C2=A0</span><strong style=3D"b=
ox-sizing: border-box; color: rgb(31, 35, 40); font-family: -apple-system, =
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica,=
 Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quo=
t;;">uni17C6</strong><span style=3D"color: rgb(31, 35, 40); font-family: -a=
pple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot=
;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe=
 UI Emoji&quot;;">. While the last looks like the same, the others are actu=
ally not Unicode code points but points in the font file for these specific=
 ligatures. And we need a little more information about by how much our "cu=
rsor" should move forward after the glyph (first one has a width of 923, th=
e others have zero) and how the glyphs should be positioned relative to the=
 first glyph. These information would be integrated into the stream for the=
 pdf file (I don't know how this stream is generated :( in reportlab) but a=
ll the required information is given by harfbuzz.=C2=A0</span></div><div><s=
pan style=3D"color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSy=
stemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sa=
ns-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;;"><br /=
></span></div><div><span style=3D"color: rgb(31, 35, 40); font-family: -app=
le-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;,=
 Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe U=
I Emoji&quot;;">I'm not sure if=C2=A0</span><span style=3D"color: rgb(31, 3=
5, 40); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot=
;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color E=
moji&quot;, &quot;Segoe UI Emoji&quot;;"><a href=3D"https://github.com/MrBi=
tBucket/reportlab-mirror/blob/master/src/reportlab/lib/rl_accel.py#L106" ta=
rget=3D"_blank" rel=3D"nofollow">functions like <b>instanceStringWidthTTF</=
b></a> would work since they have a <b>utf-8</b> encoded string as text arg=
ument, but=C2=A0</span><strong style=3D"box-sizing: border-box; color: rgb(=
31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI=
&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif, &quot;Apple Co=
lor Emoji&quot;, &quot;Segoe UI Emoji&quot;;">uni178617B6 </strong><span st=
yle=3D"box-sizing: border-box; color: rgb(31, 35, 40); font-family: -apple-=
system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, He=
lvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI E=
moji&quot;;">and</span><strong style=3D"box-sizing: border-box; color: rgb(=
31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI=
&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif, &quot;Apple Co=
lor Emoji&quot;, &quot;Segoe UI Emoji&quot;;">=C2=A0uni17D21793</strong><sp=
an style=3D"color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSys=
temFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, san=
s-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;;">=C2=A0=
are not Unicode codepoints and therefore not represented in utf-8. It's pro=
bably a lot of work. But it looked like @replarobin Robin Becker was intere=
sted in starting this project. I still got no response for signing up to th=
e official mail list and can't post there, so I have this little update her=
e.</span></div><div><span style=3D"color: rgb(31, 35, 40); font-family: -ap=
ple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;=
, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe =
UI Emoji&quot;;"><br /></span></div><div><span style=3D"color: rgb(31, 35, =
40); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, =
&quot;Noto Sans&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoj=
i&quot;, &quot;Segoe UI Emoji&quot;;">Finally a little visual how the font =
shaping would work, replacing the five Unicode code points with three glyph=
 code points for the example above:</span></div><div><span style=3D"color: =
rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &quot;Sego=
e UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif, &quot;Appl=
e Color Emoji&quot;, &quot;Segoe UI Emoji&quot;;"><br /></span></div><div><=
span style=3D"color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacS=
ystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, s=
ans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;;"><img=
 alt=3D"khmer_shape.png" width=3D"898px" height=3D"440px" src=3D"cid:5b5f7c=
76-8c01-44f7-a924-693f2a469b32" /><br /></span></div><div><span style=3D"co=
lor: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &quot=
;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif, &quot=
;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;;"><br /></span></div><=
div><br /></div><div><div dir=3D"auto">On Thursday 30 May 2024 at 20:16:08 =
UTC+7 Matthias Kreier wrote:<br /></div><blockquote style=3D"margin: 0px 0p=
x 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"=
>Digging around in the last 10 days gave me a better understanding of the p=
roblem. Some languages, scripts and glyphs need replacement tables/ligature=
s to proper render the intended text written in the unicode sequence. It is=
 not an easy task. As I found in a Microsoft document there are <a href=3D"=
https://learn.microsoft.com/en-us/typography/opentype/spec/languagetags" re=
l=3D"nofollow" target=3D"_blank">some 634 language tags</a> in software sup=
ported to properly render these languages in <a href=3D"https://learn.micro=
soft.com/en-us/typography/opentype/spec/scripttags" rel=3D"nofollow" target=
=3D"_blank">one of 173 scripts</a>. Luckily most of the heavy lifting is al=
ready done or a constant process of refinement - namely <a href=3D"https://=
github.com/fonttools/fonttools" rel=3D"nofollow" target=3D"_blank">Fonttool=
s</a> and <a href=3D"https://github.com/harfbuzz/harfbuzz" rel=3D"nofollow"=
 target=3D"_blank">Harfbuzz</a>. Another project for creating pdf documents=
 with python<a href=3D"https://py-pdf.github.io/fpdf2/" rel=3D"nofollow" ta=
rget=3D"_blank"> fpdf2</a> solved this problem <a href=3D"https://github.co=
m/py-pdf/fpdf2/pull/477" rel=3D"nofollow" target=3D"_blank">2022 with the i=
nclusion of the mentioned tools</a>.=C2=A0It might be an option for reportl=
ab, given the required manpower (from the company or community).<div><br />=
</div><div>I documented <a href=3D"https://github.com/kreier/timeline/issue=
s/35" rel=3D"nofollow" target=3D"_blank">my findings here</a>. I know the i=
mplementation of the ligature rendering process will require some time and =
work. Yet otherwise I might have to shift to another python base for my pro=
ject. Andy probably knows what's best for his company.</div><div><br /></di=
v><div>Here some example code that solves the problem:</div><div><br /></di=
v><div><div style=3D"color: rgb(204, 204, 204); background-color: rgb(31, 3=
1, 31); font-family: Consolas, &quot;Courier New&quot;, monospace; line-hei=
ght: 19px; white-space: pre;"><div><span style=3D"color: rgb(106, 153, 85);=
"># example rendering Khmer</span></div><div><span style=3D"color: rgb(197,=
 134, 192);">from</span> <span style=3D"color: rgb(78, 201, 176);">fpdf</sp=
an> <span style=3D"color: rgb(197, 134, 192);">import</span> <span style=3D=
"color: rgb(78, 201, 176);">FPDF</span></div><div><span style=3D"color: rgb=
(156, 220, 254);">pdf</span> <span style=3D"color: rgb(212, 212, 212);">=3D=
</span> <span style=3D"color: rgb(78, 201, 176);">FPDF</span>(<span style=
=3D"color: rgb(156, 220, 254);">orientation</span><span style=3D"color: rgb=
(212, 212, 212);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"P"<=
/span>, <span style=3D"color: rgb(156, 220, 254);">unit</span><span style=
=3D"color: rgb(212, 212, 212);">=3D</span><span style=3D"color: rgb(206, 14=
5, 120);">"mm"</span>, <span style=3D"color: rgb(156, 220, 254);">format</s=
pan><span style=3D"color: rgb(212, 212, 212);">=3D</span><span style=3D"col=
or: rgb(206, 145, 120);">"A4"</span>)</div><div><span style=3D"color: rgb(1=
56, 220, 254);">pdf</span>.<span style=3D"color: rgb(220, 220, 170);">add_p=
age</span>()</div><div><span style=3D"color: rgb(156, 220, 254);">pdf</span=
>.<span style=3D"color: rgb(220, 220, 170);">add_font</span>(<span style=3D=
"color: rgb(206, 145, 120);">"noto"</span>, <span style=3D"color: rgb(156, =
220, 254);">style</span><span style=3D"color: rgb(212, 212, 212);">=3D</spa=
n><span style=3D"color: rgb(206, 145, 120);">""</span>, <span style=3D"colo=
r: rgb(156, 220, 254);">fname</span><span style=3D"color: rgb(212, 212, 212=
);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"../../fonts/NotoK=
hmer.ttf"</span>)</div><div><span style=3D"color: rgb(156, 220, 254);">pdf<=
/span>.<span style=3D"color: rgb(220, 220, 170);">set_font</span>(<span sty=
le=3D"color: rgb(206, 145, 120);">'noto'</span>, <span style=3D"color: rgb(=
156, 220, 254);">size</span><span style=3D"color: rgb(212, 212, 212);">=3D<=
/span><span style=3D"color: rgb(181, 206, 168);">32</span>)</div><div><span=
 style=3D"color: rgb(156, 220, 254);">pdf</span>.<span style=3D"color: rgb(=
220, 220, 170);">cell</span>(<span style=3D"color: rgb(156, 220, 254);">tex=
t</span><span style=3D"color: rgb(212, 212, 212);">=3D</span><span style=3D=
"color: rgb(206, 145, 120);">"King =C2=A0 =C2=A0 =C2=A0 =C2=A0- =E1=9E=9F=
=E1=9F=92=E1=9E=8F=E1=9F=81=E1=9E=85"</span>, <span style=3D"color: rgb(156=
, 220, 254);">new_x</span><span style=3D"color: rgb(212, 212, 212);">=3D</s=
pan><span style=3D"color: rgb(206, 145, 120);">"LMARGIN"</span>, <span styl=
e=3D"color: rgb(156, 220, 254);">new_y</span><span style=3D"color: rgb(212,=
 212, 212);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"NEXT"</s=
pan>)</div><div><span style=3D"color: rgb(156, 220, 254);">pdf</span>.<span=
 style=3D"color: rgb(220, 220, 170);">cell</span>(<span style=3D"color: rgb=
(156, 220, 254);">text</span><span style=3D"color: rgb(212, 212, 212);">=3D=
</span><span style=3D"color: rgb(206, 145, 120);">"Prophet - =E1=9E=A0=E1=
=9F=84=E1=9E=9A=E1=9E=B6"</span>, =C2=A0 =C2=A0 <span style=3D"color: rgb(1=
56, 220, 254);">new_x</span><span style=3D"color: rgb(212, 212, 212);">=3D<=
/span><span style=3D"color: rgb(206, 145, 120);">"LMARGIN"</span>, <span st=
yle=3D"color: rgb(156, 220, 254);">new_y</span><span style=3D"color: rgb(21=
2, 212, 212);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"NEXT"<=
/span>)</div><div><span style=3D"color: rgb(156, 220, 254);">pdf</span>.<sp=
an style=3D"color: rgb(220, 220, 170);">set_font</span>(<span style=3D"colo=
r: rgb(206, 145, 120);">"Helvetica"</span>, <span style=3D"color: rgb(156, =
220, 254);">size</span><span style=3D"color: rgb(212, 212, 212);">=3D</span=
><span style=3D"color: rgb(181, 206, 168);">12</span>)</div><div><span styl=
e=3D"color: rgb(156, 220, 254);">pdf</span>.<span style=3D"color: rgb(220, =
220, 170);">cell</span>(<span style=3D"color: rgb(156, 220, 254);">h</span>=
 <span style=3D"color: rgb(212, 212, 212);">=3D</span> <span style=3D"color=
: rgb(181, 206, 168);">20</span>,<span style=3D"color: rgb(156, 220, 254);"=
>text</span><span style=3D"color: rgb(212, 212, 212);">=3D</span><span styl=
e=3D"color: rgb(206, 145, 120);">"Now using __text_shaping__ with **uharfbu=
zz**:"</span>, <span style=3D"color: rgb(156, 220, 254);">markdown</span><s=
pan style=3D"color: rgb(212, 212, 212);">=3D</span><span style=3D"color: rg=
b(79, 193, 255);">True</span>, <span style=3D"color: rgb(156, 220, 254);">n=
ew_x</span><span style=3D"color: rgb(212, 212, 212);">=3D</span><span style=
=3D"color: rgb(206, 145, 120);">"LMARGIN"</span>, <span style=3D"color: rgb=
(156, 220, 254);">new_y</span><span style=3D"color: rgb(212, 212, 212);">=
=3D</span><span style=3D"color: rgb(206, 145, 120);">"NEXT"</span>)</div><d=
iv><span style=3D"color: rgb(156, 220, 254);">pdf</span>.<span style=3D"col=
or: rgb(220, 220, 170);">set_font</span>(<span style=3D"color: rgb(206, 145=
, 120);">"noto"</span>, <span style=3D"color: rgb(156, 220, 254);">size</sp=
an><span style=3D"color: rgb(212, 212, 212);">=3D</span><span style=3D"colo=
r: rgb(181, 206, 168);">32</span>)</div><div><span style=3D"color: rgb(156,=
 220, 254);">pdf</span>.<span style=3D"color: rgb(220, 220, 170);">set_text=
_shaping</span>(<span style=3D"color: rgb(156, 220, 254);">use_shaping_engi=
ne</span><span style=3D"color: rgb(212, 212, 212);">=3D</span><span style=
=3D"color: rgb(79, 193, 255);">True</span>, <span style=3D"color: rgb(156, =
220, 254);">script</span><span style=3D"color: rgb(212, 212, 212);">=3D</sp=
an><span style=3D"color: rgb(206, 145, 120);">"khmr"</span>, <span style=3D=
"color: rgb(156, 220, 254);">language</span><span style=3D"color: rgb(212, =
212, 212);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"khm"</spa=
n>)</div><div><span style=3D"color: rgb(156, 220, 254);">pdf</span>.<span s=
tyle=3D"color: rgb(220, 220, 170);">cell</span>(<span style=3D"color: rgb(1=
56, 220, 254);">text</span><span style=3D"color: rgb(212, 212, 212);">=3D</=
span><span style=3D"color: rgb(206, 145, 120);">"King =C2=A0 =C2=A0 =C2=A0 =
=C2=A0- =E1=9E=9F=E1=9F=92=E1=9E=8F=E1=9F=81=E1=9E=85"</span>, <span style=
=3D"color: rgb(156, 220, 254);">new_x</span><span style=3D"color: rgb(212, =
212, 212);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"LMARGIN"<=
/span>, <span style=3D"color: rgb(156, 220, 254);">new_y</span><span style=
=3D"color: rgb(212, 212, 212);">=3D</span><span style=3D"color: rgb(206, 14=
5, 120);">"NEXT"</span>)</div><div><span style=3D"color: rgb(156, 220, 254)=
;">pdf</span>.<span style=3D"color: rgb(220, 220, 170);">cell</span>(<span =
style=3D"color: rgb(156, 220, 254);">text</span><span style=3D"color: rgb(2=
12, 212, 212);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"Proph=
et - =E1=9E=A0=E1=9F=84=E1=9E=9A=E1=9E=B6"</span>, =C2=A0 =C2=A0 <span styl=
e=3D"color: rgb(156, 220, 254);">new_x</span><span style=3D"color: rgb(212,=
 212, 212);">=3D</span><span style=3D"color: rgb(206, 145, 120);">"LMARGIN"=
</span>, <span style=3D"color: rgb(156, 220, 254);">new_y</span><span style=
=3D"color: rgb(212, 212, 212);">=3D</span><span style=3D"color: rgb(206, 14=
5, 120);">"NEXT"</span>)</div><div><span style=3D"color: rgb(156, 220, 254)=
;">pdf</span>.<span style=3D"color: rgb(220, 220, 170);">output</span>(<spa=
n style=3D"color: rgb(206, 145, 120);">"example_fpdf.pdf"</span>)</div></di=
v></div><div><br />And the output:</div><div><br /></div><div><img alt=3D"S=
creenshot 2024-05-30 201445.png" width=3D"374px" height=3D"295px" src=3D"ht=
tps://groups.google.com/group/reportlab-users/attach/10bbe9449e4804/Screens=
hot%202024-05-30%20201445.png?part=3D0.1&amp;view=3D1" /><br /></div><div><=
br /></div><div><div dir=3D"auto">On Tuesday 21 May 2024 at 13:28:19 UTC+7 =
Matthias Kreier wrote:<br /></div><blockquote style=3D"margin: 0px 0px 0px =
0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Here =
is a simple example for the syllable ssa=C2=A0<span style=3D"color: rgb(13,=
 13, 13); font-family: S=C3=B6hne, ui-sans-serif, system-ui, -apple-system,=
 &quot;Segoe UI&quot;, Roboto, Ubuntu, Cantarell, &quot;Noto Sans&quot;, sa=
ns-serif, &quot;Helvetica Neue&quot;, Arial, &quot;Apple Color Emoji&quot;,=
 &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color =
Emoji&quot;; font-size: 16px;">"</span><span style=3D"color: rgb(13, 13, 13=
); font-family: S=C3=B6hne, ui-sans-serif, system-ui, -apple-system, &quot;=
Segoe UI&quot;, Roboto, Ubuntu, Cantarell, &quot;Noto Sans&quot;, sans-seri=
f, &quot;Helvetica Neue&quot;, Arial, &quot;Apple Color Emoji&quot;, &quot;=
Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&q=
uot;;"><font size=3D"6">=E1=9E=9F=E1=9F=92=E1=9E=9F</font></span><span styl=
e=3D"color: rgb(13, 13, 13); font-family: S=C3=B6hne, ui-sans-serif, system=
-ui, -apple-system, &quot;Segoe UI&quot;, Roboto, Ubuntu, Cantarell, &quot;=
Noto Sans&quot;, sans-serif, &quot;Helvetica Neue&quot;, Arial, &quot;Apple=
 Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;=
, &quot;Noto Color Emoji&quot;; font-size: 16px;">". In reportlab the resul=
t is </span><img alt=3D"Screenshot 2024-05-21 132037.png" width=3D"63px" he=
ight=3D"38.2785px" src=3D"https://groups.google.com/group/reportlab-users/a=
ttach/1b50eaa16e16d/Screenshot%202024-05-21%20132037.png?part=3D0.1&amp;vie=
w=3D1" />. Some further explanation:<div><br /></div><div>The Khmer syllabl=
e "=E1=9E=9F=E1=9F=92=E1=9E=9F" (ssa) consists of a base consonant followed=
 by a subscript consonant. Here=E2=80=99s a detailed breakdown of the Unico=
de sequence:<br /><br />1. <b>Base Consonant:</b> =E1=9E=9F (SA) - U+179F<b=
r />2. <b>Subscript Consonant:</b> =E1=9F=92=E1=9E=9F (subscript SA) - U+17=
D2 (KHMER SIGN COENG) + U+179F (subscript form of SA)<br /><br /><font size=
=3D"4"><b>Unicode Sequence</b></font><br /><br />1.<b>=C2=A0Base Consonant:=
 </b><br />=C2=A0 =C2=A0- U+179F (=E1=9E=9F)<br /><br />2.<b> Subscript Con=
sonant: </b><br />=C2=A0 =C2=A0- U+17D2 (KHMER SIGN COENG) <br />=C2=A0 =C2=
=A0- U+179F (subscript form of SA)<br /><br /><font size=3D"4"><b>Full Unic=
ode Sequence</b></font><br /><br />Putting these together, the full Unicode=
 sequence for "=E1=9E=9F=E1=9F=92=E1=9E=9F" is:<br /><br /><font face=3D"Co=
urier New">U+179F (=E1=9E=9F) <br />U+17D2 (=E1=9F=92) <br />U+179F (=E1=9F=
=92=E1=9E=9F)</font><br /><br /><b><font size=3D"4">UTF-8 Encoding</font></=
b><br /><br />To represent this sequence in UTF-8, each Unicode code point =
is converted to its corresponding UTF-8 byte sequence:<br /><br />- <b>U+17=
9F</b> (=E1=9E=9F) in UTF-8: <font face=3D"Courier New">E1 9E 9F</font><br =
/>- <b>U+17D2</b> (=E1=9F=92) in UTF-8: <font face=3D"Courier New">E1 9F 92=
</font><br />- <b>U+179F</b> (subscript SA) in UTF-8: <font face=3D"Courier=
 New">E1 9E 9F</font><br /><br /><b><font size=3D"4">Full UTF-8 Sequence</f=
ont></b><br /><br />Combining these, the UTF-8 encoding for the sequence "=
=E1=9E=9F=E1=9F=92=E1=9E=9F" is:<br /><br /><font face=3D"Courier New"><b>E=
1 9E 9F E1 9F 92 E1 9E 9F</b></font><br /><br /><br /><font size=3D"4"><b>R=
endering Process</b></font><br /><br />1. <b>Base Consonant:</b> The render=
ing engine identifies the base consonant =E1=9E=9F (U+179F).<br />2. <b>Sub=
script Consonant:</b> It recognizes the subscript sign (KHMER SIGN COENG, U=
+17D2) and attaches the following consonant to the base consonant in its su=
bscript form.<br />3. <b>Combination:</b> The engine renders the subscript =
consonant properly positioned under the base consonant.<br /><br />In summa=
ry, the Unicode sequence for "=E1=9E=9F=E1=9F=92=E1=9E=9F" involves a base =
consonant followed by a subscript sign and another consonant, encoded and r=
endered according to the rules of the Khmer script. The UTF-8 encoding ensu=
res each character is correctly represented in byte form, which the renderi=
ng engine interprets to display the correct combined character.<br /><div><=
br /></div><div><br /></div></div><div><div dir=3D"auto">On Tuesday 21 May =
2024 at 01:54:47 UTC+7 Matthias Kreier wrote:<br /></div><blockquote style=
=3D"margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); p=
adding-left: 1ex;">I use Khmer script in my project and have the text in ut=
f-8 and use the Noto Sans Khmer ttf font file. For comparison I have the sa=
me text with the same font in Word (left) and as result from a reportlab ru=
n (right):<div><br /></div><div><img alt=3D"Screenshot 2024-05-21 015018.pn=
g" width=3D"534px" height=3D"379px" src=3D"https://groups.google.com/group/=
reportlab-users/attach/18f35fc4f422a/Screenshot%202024-05-21%20015018.png?p=
art=3D0.1&amp;view=3D1" /><br /></div><div>The text should be:=C2=A0</div><=
div>54=E1=9E=98=E1=9E=93=E1=9E=BB=E1=9E=9F=E1=9F=92=E1=9E=9F</div>12=E1=9E=
=85=E1=9F=85=E1=9E=80=E1=9F=92=E1=9E=9A=E1=9E=98<br />19=E1=9E=A0=E1=9F=84=
=E1=9E=9A=E1=9E=B6<br />53=E1=9E=9F=E1=9F=92=E1=9E=8F=E1=9F=81=E1=9E=85<br =
/>82=E1=9E=9A=E1=9E=99=E1=9F=88=E1=9E=96=E1=9F=81=E1=9E=9B<br />37=E1=9E=96=
=E1=9F=92=E1=9E=9A=E1=9E=B9=E1=9E=8F=E1=9F=92=E1=9E=8F=E1=9E=B7=E1=9E=80=E1=
=9E=B6=E1=9E=9A=E1=9E=8E=E1=9F=8D<br />18=E1=9E=9C=E1=9E=8F=E1=9F=92=E1=9E=
=90=E1=9E=BB=E1=9E=AC=E1=9E=9C=E1=9E=8F=E1=9F=92=E1=9E=90=E1=9E=BB<br /><di=
v><br /></div><div>The font is:=C2=A0<a href=3D"https://fonts.google.com/no=
to/specimen/Noto+Sans+Khmer" rel=3D"nofollow" target=3D"_blank">https://fon=
ts.google.com/noto/specimen/Noto+Sans+Khmer</a>=C2=A0</div></blockquote></d=
iv></blockquote></div></blockquote></div></blockquote></div>
------=_Part_118849_1739153871.1724410246702--

------=_Part_118848_1222933594.1724410246702
Content-Type: image/png; name=khmer_shape.png
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename=khmer_shape.png
X-Attachment-Id: <5b5f7c76-8c01-44f7-a924-693f2a469b32>
Content-ID: <5b5f7c76-8c01-44f7-a924-693f2a469b32>

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
C1sgAAIgwJsAZChvorBnMQFMsRYDrmyeDYE8Xbk+SlhMgA2KxU3BPAiAAAiYIgAZagofKoMACICA
0whAhjotIvAHBECgHAHI0HJkkA8CIAACriQAGerKsMFpEKhLApChdRl2dBoEbCTAqiKkbSZgY5zR
FAiAAAgYIeAxUgl1QAAEQEAbAZuFF5pjCWgLEUqBAAiAQNUIQIZWDT0aBoF6IMCqIqRtJlAPJxj6
CAIg4GoCkKGuDh+cBwGnE7BZeKE5loDTTw74BwIgUPcEIEPr/hQAABCwkgCripC2mYCVgYVtEAAB
EOBAADKUA0SYAAEQAAEQAAEQAAEQ0EsAMlQvMZQHARAAARAAARAAARDgQAAylANEmAABEAABEAAB
EAABENBLADJULzGUBwEQAAEQAAEQAAEQ4EAAMpQDRJgAARAAARAAARAAARDQSwAyVC8xlAcBEAAB
EAABEAABEOBAADKUA0SYAAEQAAEQAAEQAAEQ0EsAMlQvMZQHARAAARAAARAAARDgQAAylANEmAAB
EAABEAABEAABENBLADJULzGUBwEQAAEQAAEQAAEQ4EAAMpQDRJgAARAAARAAARAAARDQSwAyVC8x
lAcBEAABEAABEAABEOBAADKUA0SYAAEQAAEQAAEQAAEQ0EsAMlQvMZQHARAAARAAARAAARDgQAAy
lANEmAABEAABEAABEAABENBLADJULzGUBwEQAAEQAAEQAAEQ4EAAMpQDRJgAARAAARAAARAAARDQ
SwAyVC8xlAcBEAABEAABEAABEOBAADKUA0SYAAEQAAEQAAEQAAEQ0EsAMlQvMZQHARAAARAAARAA
ARDgQAAylANEmAABEAABEAABEAABENBLADJULzGUBwEQAAEQAAEQAAEQ4EAAMpQDRJgAARAAARAA
ARAAARDQSwAyVC8xlAcBEAABEAABEAABEOBAADKUA0SYAAEQAAEQAAEQAAEQ0EsAMlQvMZQHARAA
ARAAARAAARDgQAAylANEmAABEAABEAABEAABENBLADJULzGUBwEQAAEQAAEQAAEQ4EAAMpQDRJgA
ARAAARAAARAAARDQSwAyVC8xlAcBEAABEAABEAABEOBAADKUA0SYAAEQAAEQAAEQAAEQ0EsAMlQv
MZQHARAAARAAARAAARDgQAAylANEmAABEAABEAABEAABENBLADJULzGUBwEQAAEQAAEQAAEQ4EAA
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
oBIg4DgC/w+Itnr2SxfzvAAAAABJRU5ErkJggg==
------=_Part_118848_1222933594.1724410246702
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline