freetype-commit
[Top][All Lists]
Advanced

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

[freetype2-demos] master 56c6359 14/41: [ftinspect] Support stem darkeni


From: Werner Lemberg
Subject: [freetype2-demos] master 56c6359 14/41: [ftinspect] Support stem darkening.
Date: Mon, 3 Oct 2022 11:27:01 -0400 (EDT)

branch: master
commit 56c635907fe8b8ac0a27e41a863f2bc74631eebc
Author: Charlie Jiang <w@chariri.moe>
Commit: Werner Lemberg <wl@gnu.org>

    [ftinspect] Support stem darkening.
    
    * src/ftinspect/engine/engine.cpp, src/ftinspect/engine/engine.hpp:
      Add `setStemDarkening` func.
    
    * src/ftinspect/panels/settingpanel.cpp: Uncomment function code.
---
 src/ftinspect/engine/engine.cpp       | 24 ++++++++++++++++++++++++
 src/ftinspect/engine/engine.hpp       |  4 ++++
 src/ftinspect/panels/settingpanel.cpp |  2 +-
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/src/ftinspect/engine/engine.cpp b/src/ftinspect/engine/engine.cpp
index 55114a5..85e3e0b 100644
--- a/src/ftinspect/engine/engine.cpp
+++ b/src/ftinspect/engine/engine.cpp
@@ -594,6 +594,30 @@ Engine::setTTInterpreterVersion(int version)
 }
 
 
+void
+Engine::setStemDarkening(bool darkening)
+{
+  FT_Bool noDarkening = !darkening;
+  FT_Property_Set(library_,
+                  "cff",
+                  "no-stem-darkening",
+                  &noDarkening);
+  FT_Property_Set(library_,
+                  "autofitter",
+                  "no-stem-darkening",
+                  &noDarkening);
+  FT_Property_Set(library_,
+                  "type1",
+                  "no-stem-darkening",
+                  &noDarkening);
+  FT_Property_Set(library_,
+                  "t1cid",
+                  "no-stem-darkening",
+                  &noDarkening);
+  resetCache();
+}
+
+
 void
 Engine::update()
 {
diff --git a/src/ftinspect/engine/engine.hpp b/src/ftinspect/engine/engine.hpp
index 70a8193..6fe142a 100644
--- a/src/ftinspect/engine/engine.hpp
+++ b/src/ftinspect/engine/engine.hpp
@@ -155,12 +155,16 @@ public:
   void setAntiAliasingEnabled(bool enabled) { antiAliasingEnabled_ = enabled; }
   void setEmbeddedBitmapEnabled(bool enabled) { embeddedBitmap_ = enabled; }
 
+  // (settings without backing fields)
+
   // Note: These 3 functions now takes actual mode/version from FreeType,
   // instead of values from enum in MainGUI!
   void setLcdFilter(FT_LcdFilter filter);
   void setCFFHintingMode(int mode);
   void setTTInterpreterVersion(int version);
 
+  void setStemDarkening(bool darkening);
+  
   //////// Misc
 
   friend FT_Error faceRequester(FTC_FaceID,
diff --git a/src/ftinspect/panels/settingpanel.cpp 
b/src/ftinspect/panels/settingpanel.cpp
index 9ec8a3a..07e4572 100644
--- a/src/ftinspect/panels/settingpanel.cpp
+++ b/src/ftinspect/panels/settingpanel.cpp
@@ -380,7 +380,7 @@ SettingPanel::applyDelayedSettings()
       currentTTInterpreterVersion_ = index;
   }
 
-  //engine_->setStemDarkening(stemDarkeningCheckBox_->isChecked());
+  engine_->setStemDarkening(stemDarkeningCheckBox_->isChecked());
 }
 
 



reply via email to

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