FLTK logo

[master] 2327ede - Add explanatory comments about text handling by Fl_Cairo_Graphics_Driver.

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[master] 2327ede - Add explanatory comments about text handling by Fl_Cairo_Graphics_Driver. "ManoloFLTK" Jul 11, 2022  
 
commit 2327ede74c99a1054d81c72d1b40397f36ed1205
Author:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
AuthorDate: Mon Jul 11 12:11:04 2022 +0200
Commit:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
CommitDate: Mon Jul 11 12:11:04 2022 +0200

    Add explanatory comments about text handling by Fl_Cairo_Graphics_Driver.

 src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
index 669f9e8..dd86247 100644
--- src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
+++ src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
@@ -1076,11 +1076,15 @@ Fl_Cairo_Font_Descriptor::Fl_Cairo_Font_Descriptor(const char* name, Fl_Fontsize
   // The factor of 0.75 below gives cairo-produced text the same size as
   // Xft-produced text for the same FLTK font size.
   sprintf(string + strlen(string), " %d", int(size * 0.75 + 0.5) );
+  //A PangoFontDescription describes a font in an implementation-independent manner.
   fontref = pango_font_description_from_string(string);
   width = NULL;
+  //A PangoFontMap represents the set of fonts available for a particular rendering system.
   static PangoFontMap *def_font_map = pango_cairo_font_map_get_default(); // 1.10
+  //A PangoContext stores global information used to control the itemization process.
   static PangoContext *pango_context = pango_font_map_create_context(def_font_map); // 1.22
   static PangoLanguage *language = pango_language_get_default(); // 1.16
+  //A PangoFontset represents a set of PangoFont to use when rendering text.
   PangoFontset *fontset = pango_font_map_load_fontset(def_font_map, pango_context, fontref, language);
   PangoFontMetrics *metrics = pango_fontset_get_metrics(fontset);
   ascent = pango_font_metrics_get_ascent(metrics);
@@ -1092,7 +1096,7 @@ Fl_Cairo_Font_Descriptor::Fl_Cairo_Font_Descriptor(const char* name, Fl_Fontsize
 #endif
   pango_font_metrics_unref(metrics);
   g_object_unref(fontset);
-//fprintf(stderr, "[%s](%d) ascent=%d descent=%d\n", name, size, ascent, descent);
+//fprintf(stderr, "[%s](%d) ascent=%d descent=%d line_height=%d\n", name, size, ascent, descent, line_height);
 }
 
 
@@ -1122,7 +1126,8 @@ static Fl_Font_Descriptor* find(Fl_Font fnum, Fl_Fontsize size) {
  * The pango_layout_ object is created relatively to the unscaled cairo context (scale() == 1).
  * Therefore, the cairo context is unscaled before calling pango_cairo_create_layout(),
  * pango_cairo_show_layout(), and pango_cairo_update_layout().
- * This way, the pixel width of a drawn string equals the sum of the widths of its characters.
+ * This way, the pixel width of a drawn string equals the sum of the widths of its
+ * characters, except when kerning occurs.
  */
 void Fl_Cairo_Graphics_Driver::font(Fl_Font fnum, Fl_Fontsize s) {
   if (!font_descriptor()) fl_open_display();
Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.