freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2-demos] master f062900 17/22: * src/ftcommon.c (FTDemo_String_


From: Werner Lemberg
Subject: [freetype2-demos] master f062900 17/22: * src/ftcommon.c (FTDemo_String_Draw): Control pen position better.
Date: Fri, 5 Mar 2021 11:18:40 -0500 (EST)

branch: master
commit f062900682416fb68ed98d92c3dc1c40a0a77c68
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>

    * src/ftcommon.c (FTDemo_String_Draw): Control pen position better.
---
 ChangeLog      | 4 ++++
 src/ftcommon.c | 9 +++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ef875d6..7ffd8b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2021-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
+       * src/ftcommon.c (FTDemo_String_Draw): Control pen position better.
+
+2021-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
        * src/ftstring.c (write_header): Fix header formatting.
 
 2021-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
diff --git a/src/ftcommon.c b/src/ftcommon.c
index 0d1f89c..31ccf7b 100644
--- a/src/ftcommon.c
+++ b/src/ftcommon.c
@@ -1966,13 +1966,14 @@
         pen.y += handle->string[n].hadvance.y;
       }
 
-    pen.x = FT_MulFix( pen.x, sc->center );
-    pen.y = FT_MulFix( pen.y, sc->center );
+    /* round to control initial pen position and preserve hinting... */
+    pen.x = FT_MulFix( pen.x, sc->center ) & ~63;
+    pen.y = FT_MulFix( pen.y, sc->center ) & ~63;
 
-    /* XXX sbits */
-    /* get pen position */
+    /* ... unless rotating; XXX sbits */
     FT_Vector_Transform( &pen, sc->matrix );
 
+    /* get pen position */
     pen.x = ( x << 6 ) - pen.x;
     pen.y = ( y << 6 ) - pen.y;
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]