From 5eb5dc34e11e936d84b89fa0c8233031df010fb3 Mon Sep 17 00:00:00 2001 From: Thomas Friedel Date: Thu, 28 May 2020 11:12:55 +0200 Subject: [PATCH] switch to vector text rendering in more cases fixed text rendering test case --- testdata/Text.png | Bin 1931 -> 825 bytes text.go | 7 +++++++ 2 files changed, 7 insertions(+) diff --git a/testdata/Text.png b/testdata/Text.png index eddca1ca631cf845714054e3fa485b25d6eee9e1..391b35387f0e19513fee5dad6172298800510e1f 100755 GIT binary patch delta 803 zcmV+;1Kj+J54i@ABYy(`NklA_P z%vchVF?szVVki~>#R8yM02B*=VgXPr0Ez`bu>dF*0L21$-#vi)shj_o?kD?yJvIs) zgHVwV8^<6yS9=PnXF*po0L#n?ucbEjGlpUR`fKweq?aV<>VJuS(TUorh=@egS>(A! zcZ$|Nb~g;lRywwWkwg|c8STdavCzQ{Kt6f899Mo1zZNTrE@zB%cDN`_6^UCqlWMtj zZk?Nx3a7dhQm79y?;@-_Auv z+^QTM)i=Il$~sHE_oB#p?|Ndq_%6;4*a_64s|ppCr}V53#`JnA*+c4~C{`#PhC#6a zC>8+40-#s`6bpc20Z=S}-wIyX2!z(Qj{B*+Z8q)Br4TiK3yX32@vudKyW0E*(nq#@V`f z)LG>zY2K+Q-RiZjbFqR4@Dr=7zh5c9v)0XA3_}2l1>h~#qS@*LJqsZB6KT{>Bla9^ zY$g^fVhe-KW@51-(x1&{VzKg-Y`MjX;GXrYLw}O_f-fu`04Np!#RBjXYxVURZ_mQM z?`=Mu#9G&zwz#g8=6{XOhKE>Hyjyy5Y!&?W3D^UkhH1sxy-M)_rMhCt-#~~{N*C8* zb9N$D#FwO^sBMPbWE!zDe8o_{m8=i8&1^a8j4=P;mw}Bm0L22JSO63YfMNkqEC7lH hKpe3E{ssU5|Nj8qh5Yda&!YeU002ovPDHLkV1g;4hfn|j delta 1917 zcmV-@2ZH#y28$1nBYy`{NklGoLCY{9Stx-l|z7rd)NXtk< zO8Y}XG$JA*B@9dpDhi@MVxk98T5>fMtq8TzFhs)A!a&4Q=!sPL$ka^KQRhZ$w~puD z^V)0geVW6a{c#xfJ!kE;_k3rqwbx$zG{8d}o-6@8Sps;n1b^^k3E;^Rz>_6_CrbcN zmH?hC0X$g(G-}E<0T)x_2yiT)sWj7-gihcT4Sm|ta6N!=z*t}i&>uJp90d*lUjtv! zSmu}yROtH1(Ojc=o`*=k_5&M%MZi_216>F_M|zTmI0dW#Mj8JnJ6TZ&aFMZ=RA`bF zT%ExCz~#bGrhfy6LQ2j8zmPTU0KO-)4eM_smy%(0^(^O0`|BYf>j_|Tp|0iu_vI!-&9q1$aH(q0#+Cz<^$#a*lafOWSbZTb6IvUkCpO9Oh{C822Bk*?(CA5m^dvaFxH9c!pyRUaj%sL0=+12ssO)IA}U1# z`JnQx49l8Je|OVDt8f}vO^vC*VENe2(VH7*5(LI`uGCHeNQzF%!T=0NC#w~>h8oMO z?<-I20o*Si+c|=`{!@a$L~eX(I>f8M3v{Jn34fX2If`60_<lr3mRv+L#YHT8JuYt0)>qD`uOE8KSDNvNynjkZP8;7ljOC)P1(2p9+;+~ed z@qqOVj4>A2K+)g?@KCZ?u%S7c-&D4c=^mlgBozd5_b@L%=Pm^1(*Z zet(|vIoeQQ5;fK&S9Z$4P4wQT1FNj(5ysnOEKxMka4r1vPohi}TmBowlQkD8QKOvP zb2ab^y{^I`8x6`515kpo3ZO}p6$fT&LLclr-ZBuBuj4lGkSOe@!e%hC| zsN*Re9R@6*cecn~1yzRI*~y>ElAOkp3x8dVD@`3H0-L$Z#^frU!@gy;)Dbji)lvdT6txv`47?GA>TwQ+_(YdWN-m z)+~MltEiEA1);sG60UQh64ksofgru=?|keX!c&9bvR|0YEDN-7@8_JW6nXjPMy2E+dgTjX_^Rh(q7(T(?6|UbeU|kOjCmLW9Yly9X>A;MvXSvtD)Q~iYLw}F{=LdtR zRIR$)8h)UTs!yhV^plPf8F>ZxOY=N30x4M|LN?VAU9cj!lY*L(Z_AowYlx{A`Q|^V z!vy|TV4X!du|g}u(^QY1VPRitCx2nRc?IpRM)1w!R8#sSOYH{An3mI)dmeBv z@GgCavzL!V)#2j=%7JdMs4{NPW2Q0dc2~F?7yS z^XbwdI%7Xmeg9Z=aqmS5h{_|RN83?s<>80Q`|6O@K|7m0RC-)sn%1fOd0Xi7qZ;nM zp^uZIdr9Mkz8)};3~dNS>JB<-KS;-m_UAwz{%d6kJXr#GvIOvC34h?p62OxsfG10U z>ZDz>=$C6ID=j=m5uKhRosk_*CJ~kDvGX9#MyHxyRD$SN{FethFu09K6U}?2B%@BWQ7l+y9ZOL zWM%qPsai4*rp)|0w|AC6mgaaBp}YvjI&)iOB4mkPW=`+0c$F*#yN}t5iIf=@fAVz$ zzmXQelO=#BO8`%n0G=!XJXr#GvIOvC3GjCS00960*aTiwa%qb=00000NkvXXu0mjf DjKGwk diff --git a/text.go b/text.go index 18f09ff..6019688 100644 --- a/text.go +++ b/text.go @@ -153,10 +153,17 @@ func (cv *Canvas) FillText(str string, x, y float64) { scale := (scaleX + scaleY) * 0.5 fontSize := fixed.Int26_6(math.Round(float64(cv.state.fontSize) * scale)) + // if the font size is large or rotated or skewed in some way, use the + // triangulated font rendering if fontSize > fixed.I(25) { cv.fillText2(str, x, y) return } + mat := cv.state.transform + if mat[1] != 0 || mat[2] != 0 || mat[0] != mat[3] { + cv.fillText2(str, x, y) + return + } frc := cv.getFRContext(cv.state.font, fontSize) fnt := cv.state.font.font