Author: matt
Date: 2011-10-01 08:42:39 -0700 (Sat, 01 Oct 2011)
New Revision: 9108
Log:
STR 2701: more tolerant Xft Font Attribute interpretation.

Modified:
   branches/branch-1.3/src/Fl_Text_Display.cxx
   branches/branch-1.3/src/fl_set_fonts_xft.cxx

Modified: branches/branch-1.3/src/Fl_Text_Display.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Text_Display.cxx 2011-10-01 06:48:50 UTC (rev 
9107)
+++ branches/branch-1.3/src/Fl_Text_Display.cxx 2011-10-01 15:42:39 UTC (rev 
9108)
@@ -1371,8 +1371,12 @@
  \brief This is called before any characters are deleted.
 
  Callback attached to the text buffer to receive delete information before
- the modifications are actually made.
+ the modifications are actually made. 
 
+ This callback can be used to adjust 
+ the display or update other setting. It is not advisable to change any 
+ buffers or text in this callback, or line counting may get out of sync.
+
  \param pos starting index of deletion
  \param nDeleted number of bytes we will delete (must be UTF-8 aligned!)
  \param cbArg "this" pointer for static callback function
@@ -1402,6 +1406,10 @@
 
  Callback attached to the text buffer to receive modification information
 
+ This callback can be used to adjust 
+ the display or update other setting. It is not advisable to change any 
+ buffers or text in this callback, or line counting may get out of sync.
+
  \param pos starting index of modification
  \param nInserted number of bytes we inserted (must be UTF-8 aligned!)
  \param nDeleted number of bytes deleted (must be UTF-8 aligned!)

Modified: branches/branch-1.3/src/fl_set_fonts_xft.cxx
===================================================================
--- branches/branch-1.3/src/fl_set_fonts_xft.cxx        2011-10-01 06:48:50 UTC 
(rev 9107)
+++ branches/branch-1.3/src/fl_set_fonts_xft.cxx        2011-10-01 15:42:39 UTC 
(rev 9108)
@@ -122,7 +122,7 @@
     while ((style) && (style < last))
     {
       int type;
-      while ((*style == '=') || (*style == ' ') || (*style == '\t'))
+      while ((*style == '=') || (*style == ' ') || (*style == '\t') || (*style 
== ','))
       {
         style++; // Start of Style string
         if ((style >= last) || (*style == 0)) continue;
@@ -165,7 +165,7 @@
         goto NEXT_STYLE;
       } // switch end
 NEXT_STYLE:
-      while ((*style != ' ') && (*style != '\t'))
+      while ((*style != ' ') && (*style != '\t') && (*style != ','))
       {
         style++;
         if ((style >= last) || (*style == 0)) goto STYLE_DONE;
@@ -276,10 +276,12 @@
         first = (char *)font; // name is just what was returned
       }
       // Truncate the name after the (english) modifiers description
-      if (stop)
-      {
-        *stop = 0; // Terminate the string at the first comma, if there is one
-      }
+      // Matt: Actually, there is no guarantee that the *first* description is 
the English one.
+      // Matt: So we keep the entire description, just in case.
+      //if (stop)
+      //{
+      //  *stop = 0; // Terminate the string at the first comma, if there is 
one
+      //}
 
       // Copy the font description into our list
       if (first == (char *)font)

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to