aboutsummaryrefslogtreecommitdiff
path: root/unipdf/textshaping/textshaping.go
blob: 23f80d01826f193a996daf9f58961743c33ba7bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/

package textshaping ;import (_a "github.com/unidoc/garabic";_ba "golang.org/x/text/unicode/bidi";_f "strings";);

// ArabicShape returns shaped arabic glyphs string.
func ArabicShape (text string )(string ,error ){_d :=_ba .Paragraph {};_d .SetString (text );_ag ,_c :=_d .Order ();if _c !=nil {return "",_c ;};for _e :=0;_e < _ag .NumRuns ();_e ++{_bac :=_ag .Run (_e );_fb :=_bac .String ();if _bac .Direction ()==_ba .RightToLeft {var (_ec =_a .Shape (_fb );
_g =[]rune (_ec );_ff =make ([]rune ,len (_g )););_gd :=0;for _gf :=len (_g )-1;_gf >=0;_gf --{_ff [_gd ]=_g [_gf ];_gd ++;};_fb =string (_ff );text =_f .Replace (text ,_f .TrimSpace (_bac .String ()),_fb ,1);};};return text ,nil ;};