[stsf-commit] stsf/interface VERSION, 1.2, 1.3 config.h.in, 1.3, 1.4 fontserver.h, 1.4, 1.5 genversion.py, 1.2, 1.3 makefile, 1.7, 1.8 st.h, 1.2, 1.3 stprivate.h, 1.2, 1.3 sttypes.tmpl, 1.8, 1.9

Alexander Gelfenbain stsf-commit at pdx.freedesktop.org
Thu Jul 1 22:00:19 PDT 2004


Committed by: adg


Index: VERSION
===================================================================
RCS file: /cvs/stsf/stsf/interface/VERSION,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- VERSION	5 Jun 2004 05:23:04 -0000	1.2
+++ VERSION	2 Jul 2004 05:00:15 -0000	1.3
@@ -2,5 +2,5 @@
 # STSF Version Constants
 #
 major:      0
-minor:      8
-update:     8
+minor:      11
+update:     2

Index: config.h.in
===================================================================
RCS file: /cvs/stsf/stsf/interface/config.h.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- config.h.in	5 Jun 2004 05:23:04 -0000	1.3
+++ config.h.in	2 Jul 2004 05:00:15 -0000	1.4
@@ -1,5 +1,8 @@
 /* interface/config.h.in.  Generated from configure.ac by autoheader.  */
 
+/* Define if you want stfontserverd to perform automatic font rescan */
+#undef AUTORESCAN
+
 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c' support on those systems.
    */
@@ -119,6 +122,12 @@
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
+/* Define where stfontserverd stores its PID */
+#undef STFONTSERVERD_PIDFILE
+
+/* Define where stfsloader stores its PID */
+#undef STFSLOADER_PIDFILE
+
 /* Define to 1 if your <sys/time.h> declares `struct tm'. */
 #undef TM_IN_SYS_TIME
 

Index: fontserver.h
===================================================================
RCS file: /cvs/stsf/stsf/interface/fontserver.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- fontserver.h	25 May 2004 02:47:25 -0000	1.4
+++ fontserver.h	2 Jul 2004 05:00:15 -0000	1.5
@@ -30,11 +30,6 @@
  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE
  * THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
  * SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or intended
- * for use in the design, construction, operation or maintenance of any
- * nuclear facility.
- *
  */
 
 /* $Id$ */
@@ -43,7 +38,7 @@
  * @file fontserver.h
  * @brief ST Font Server header file
  * @author Alexander Gelfenbain <adg at sun.com>
- * @version 0.8
+ * @version 0.11
  *
  */
 
@@ -58,6 +53,8 @@
 
 #include <stprivate.h>
 
+#include "list.h"
+
 /**
  *  STFontServer API
  *
@@ -108,7 +105,7 @@
     } FSKernData;
 
 
-    STStatus FontServerNew(FontServer *, const char *fontpath, const char *scalerpath);
+    STStatus FontServerNew(FontServer *, list fontpathlist, const char *scalerpath);
     void FontServerDispose(FontServer);
 
     uint32_t FSRequestConnectionKey(FontServer);

Index: genversion.py
===================================================================
RCS file: /cvs/stsf/stsf/interface/genversion.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- genversion.py	26 May 2004 02:58:50 -0000	1.2
+++ genversion.py	2 Jul 2004 05:00:15 -0000	1.3
@@ -33,14 +33,9 @@
 # THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
 # SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 #
-# You acknowledge that this software is not designed, licensed or intended
-# for use in the design, construction, operation or maintenance of any
-# nuclear facility.
-#
-#
 # @file genversion.py
 # @brief Script to embed STSF version information into sttypes.h file
-# @version 0.8
+# @version 0.11
 # @author Alexander Gelfenbain <adg at sun.com>
 #  
 

Index: makefile
===================================================================
RCS file: /cvs/stsf/stsf/interface/makefile,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- makefile	27 May 2004 04:26:52 -0000	1.7
+++ makefile	2 Jul 2004 05:00:15 -0000	1.8
@@ -30,11 +30,6 @@
 # THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
 # SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 #
-# You acknowledge that this software is not designed, licensed or intended
-# for use in the design, construction, operation or maintenance of any
-# nuclear facility.
-#
-#
 # $Id$
 
 TOP= ..

Index: st.h
===================================================================
RCS file: /cvs/stsf/stsf/interface/st.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- st.h	12 Apr 2004 05:57:26 -0000	1.2
+++ st.h	2 Jul 2004 05:00:15 -0000	1.3
@@ -31,10 +31,6 @@
  * THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
  * SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  *
- * You acknowledge that this software is not designed, licensed or intended
- * for use in the design, construction, operation or maintenance of any
- * nuclear facility.
- *
  */
 
 /* $Id$ */
@@ -43,7 +39,7 @@
  * @file st.h
  * @brief Standard Type Services Framework API
  * @author Alexander Gelfenbain <adg at sun.com>
- * @version 0.8
+ * @version 0.11
  */
 
 #ifndef __ST_H
@@ -51,19 +47,6 @@
 
 #include <sttypes.h>
 
-/*
- * XXX TODO:
- * DONE   Tracking
- * DONE   STText objects containing glyphs rather than characters
- *          (perhaps by using special styles)
- *        Documentation: add general programming principles - the
- *           caller is responsible for freeing everything
- *        Documentation: create a glossary of terms (platform, etc.)
- * DONE   Add an API for setting/getting the default font ???
- *	  Add a "last resource" fonts
- *        Add an API: find scalers for features
- *        Consider adding an API: STDevice constructor with the Init() callback
- */
 
 /*
  * Coordinate system units conventions

Index: stprivate.h
===================================================================
RCS file: /cvs/stsf/stsf/interface/stprivate.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- stprivate.h	30 May 2004 23:07:17 -0000	1.2
+++ stprivate.h	2 Jul 2004 05:00:15 -0000	1.3
@@ -30,11 +30,6 @@
  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE
  * THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
  * SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or intended
- * for use in the design, construction, operation or maintenance of any
- * nuclear facility.
- *
  */
 
 /* $Id$ */
@@ -43,7 +38,7 @@
  * @file stprivate.h
  * @brief STSF private interfaces
  * @author Alexander Gelfenbain <adg at sun.com>
- * @version 0.8
+ * @version 0.11
  */
 
 #ifndef __STPRIVATE_H
@@ -76,6 +71,9 @@
  * As soon as the number of deallocated font instances reaches FI_CACHE_COUNT,
  * they are removed from the cache.
  *
+ * FPE_NDIRSLOTS_INIT         N/A        fontprobe.c fontenumerator.c
+ * FPE_NDIRSLOTS_INCR         N/A        fontprobe.c fontenumerator.c    
+ *
  * VFSORT_INIT                N/A       fontenumerator.c
  * Initial number of slots in the VirtualFontSorter structure.
  *
@@ -107,6 +105,9 @@
  * Control allocatation of additional entries in the bfontarray when the array needs to grow
  *      n = (FENUM_FINCRA + 1) * <delta> + FENUM_FINCRB;
  *
+ * FENUM_NFONTPATH_INCR                                  fontenumerator.c
+ * Number of elements that fontpath array grows by
+ *
  * TEMP_PATTERN                         "XXXXXX"                fontserver.c
  * Temporary font file name pattern
  *
@@ -148,6 +149,12 @@
  * Initial size of the dictionary that stores per-client data in the font
  * server. The dictionary will grow when needed, so this number should be set
  * to a typical number of client processes
+ *
+ * RESCAN_DELAY                         N/A                     fontenumerator.c
+ * SAVE_DELAY                           N/A                     fontenumerator.c
+ * Delay in seconds between incremental font update and persistent font cache
+ * save operations. This will prevent DOS attacks.
+ * 
  * 
  *
  */
@@ -171,6 +178,11 @@
 /* #define FENUM_BINCRB    200  */
 /* #define MAX_URL_COUNT 50     */
 /* #define TEMP_PATTERN    "XXXXXX" */
+
+#define FENUM_NFONTPATH_INCR 20
+
+#define FPE_NDIRSLOTS_INIT 128
+#define FPE_NDIRSLOTS_INCR 128
  
 #ifdef SOLARIS_DOORS
 #define TEMP_DOOR_PATTERN   "XXXXXX"
@@ -207,6 +219,9 @@
 
 #define NCLIENTS_INIT 20
 
+#define SAVE_DELAY  30              /* XXX bump up in production versions to 5 minutes */
+#define RESCAN_DELAY 30
+
 
 /* Default colors */
 
@@ -426,26 +441,26 @@
  * A Bezier curve
  */
 typedef struct {
-    double x0;                        /**< XXX change to be consistent with STTrapezoid and STRectangle */
-    double y0;                        /**< ??? */
-    double x1;                        /**< ??? */
-    double y1;                        /**< ??? */
-    double x2;                        /**< ??? */
-    double y2;                        /**< ??? */
-    double x3;                        /**< ??? */
-    double y3;                        /**< ??? */
+    double ax;                        
+    double ay;                        
+    double bx;                        
+    double by;                        
+    double cx;                        
+    double cy;                        
+    double dx;                        
+    double dy;                        
 } STBezierCurve;
 
 /**
  * A B-spline
  */
 typedef struct {
-    double x0;                        /**< ??? */
-    double y0;                        /**< ??? */
-    double x1;                        /**< ??? */
-    double y1;                        /**< ??? */
-    double x2;                        /**< ??? */
-    double y2;                        /**< ??? */
+    double ax;                        
+    double ay;                        
+    double bx;                        
+    double by;                        
+    double cx;                        
+    double cy;                        
 } STBSpline;
 
 /**
@@ -525,24 +540,6 @@
 typedef struct STVectorDeviceStruct *STVectorDevice; /**< Pointer to STVectorDeviceStruct */
 
 
-
-/* XXX style comparison:
- *
- * IDENTICAL
- * NOT_IDENTICAL:
- *      INTERSECTING
- *      NOT_INTERSECTING
- * EQUAL_KEYS (IDENTICAL_KEYS)
- * SUPERSET
- * SUBSET
- * KEYS_SUPERSET
- * KEYS_SUBSET
- *
- * ....
- *
- */
-
-
 /* Font Server data types */
 typedef uint32_t FSRenderFlags;
 typedef STRenderingMode FSRenderingMode;
@@ -608,7 +605,7 @@
  *
  * @param iEnv                type environment object
  * @param iName               a UTF-16 string that specifies the name
- * @param iNameLength         number of bytes in the iName string
+ * @param iNameLength         number of UTF-16 characters in the iName string
  * @param iNameID             meaning of the name
  * @param oFont               a pointer to STFont variable where on
  *                            return the resulting font ID is stored
@@ -617,7 +614,7 @@
  */
 STStatus STTypeEnvFindFont(STTypeEnv iEnv,
                            const utf16 *iName,
-                           int iNameLength,
+                           STCharCount iNameLength,
                            uint16_t iNameID,
                            STFont *oFont);
 
@@ -628,7 +625,7 @@
  *
  * @param iEnv                type environment object
  * @param iName               a UTF-16 string that specifies the name
- * @param iNameLength         number of bytes in the iName string
+ * @param iNameLength         number of UTF-16 characters in the iName string 
  * @param iNameID             meaning of the name
  * @param oFontCount          a pointer to a variable where on return
  *                            the number of returned fontIDs is stored
@@ -645,7 +642,7 @@
  */
 STStatus STTypeEnvFindAllFonts(STTypeEnv iEnv,
                                const utf16 *iName,
-                               int iNameLength,
+                               STCharCount iNameLength,
                                uint16_t iNameID,
                                STCount *oFontCount,
                                STFont **oFont);
@@ -924,7 +921,6 @@
                             int iFileDes);
 
 /**
- * XXX NOT FOR THE ARC
  * Sets the layout engine for the style.
  *
  * @param iStyle              the style object
@@ -939,7 +935,6 @@
                                 STLayoutEngine iLayoutEngine);
 
 /**
- * XXX NOT FOR THE ARC
  * Retrieves the layout engine of the style.
  *
  * @param iStyle              the style object

Index: sttypes.tmpl
===================================================================
RCS file: /cvs/stsf/stsf/interface/sttypes.tmpl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- sttypes.tmpl	30 May 2004 23:07:18 -0000	1.8
+++ sttypes.tmpl	2 Jul 2004 05:00:15 -0000	1.9
@@ -30,11 +30,6 @@
  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE
  * THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
  * SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or intended
- * for use in the design, construction, operation or maintenance of any
- * nuclear facility.
- *
  */
 
 /* $Id$ */
@@ -44,7 +39,7 @@
  * @file sttypes.h
  * @brief STSF Type definitions
  * @author Alexander Gelfenbain <adg at sun.com>
- * @version 0.8
+ * @version 0.11
  */
 
 
@@ -69,18 +64,17 @@
 #endif
 #endif
 
+/* STSF external files (persistent font cache and the layout of /var/tmp/stsf)
+   are compatible between any two versions of STSF with identical major and minor
+   version numbers.
+ */
+
 #define STSF_VERSION_MAJOR  %STSF_VERSION_MAJOR%  
 #define STSF_VERSION_MINOR  %STSF_VERSION_MINOR%  
 #define STSF_VERSION_UPDATE %STSF_VERSION_UPDATE% 
 #define STSF_BUILD %STSF_BUILD% 
 #define STSF_VERSION_STRING "STSF %STSF_VERSION_MAJOR%.%STSF_VERSION_MINOR%.%STSF_VERSION_UPDATE% build %STSF_BUILD%"
 
-/* XXX 
- * STSF_VERSION_UPDATE does not matter for binary persistent configuration
- * file, so if you change the layout and structures saved by saverestore.h,
- * rev up STSF_VERSION_UPDATE!
- */
-
 
 /*@{*/
 
@@ -141,7 +135,7 @@
 
 typedef int STBoolean;                    /**< A Boolean type */
 typedef uint32_t STMask;                  /**< A 32 bit wide bitmask */
-#if 0 /* XXX Change for release 0.5 */
+#if 0 
 typedef uint32_t STGlyph;                 /**< A glyph */
 #endif
 typedef uint16_t STGlyph;                 /**< A glyph */
@@ -181,13 +175,12 @@
  *   STStyleGetEffects
  */
 
- /* XXX add bitmasks for individual style effects if there are enough bits left */
 typedef uint32_t STStyleMask;
 #define ST_SM_FONTID                    1               /**< Change or changed FontID */
 #define ST_SM_SIZE                      (1 << 1)        /**< Change or changed Size */
 #define ST_SM_LANGUAGE                  (1 << 2)        /**< Change or changed Language */
 #define ST_SM_BASELINE                  (1 << 3)        /**< Change or changed Baseline */
-        /* (1 << 4) is undocumented */
+                                                        /* (1 << 4) is undocumented */
 #define ST_SM_EFFECTS                   (1 << 5)        /**< Change or changed Style Effects */
 #define ST_SM_STRIKETHROUGH             (1 << 6)        /**< Change or changed Strike Through */
 #define ST_SM_UNDERLINE                 (1 << 7)        /**< Change or changed Underline */
@@ -196,8 +189,8 @@
 #define ST_SM_SBITSMODE                 (1 << 10)       /**< Change or changed Use Embedded Bitmaps */
 #define ST_SM_LAYOUTENGINE              (1 << 11)       /**< Change or changed layout engine */
 #define ST_SM_IMPOSEWIDTH               (1 << 12)       /**< Change or changed imposed width */
-#define ST_SM_BEFOREWITHSTREAMSHIFT     (1 << 13)       /**< Change or changed  weight factor for with-stream shift applied before each glyph */
-#define ST_SM_AFTERWITHSTREAMSHIFT      (1 << 14)       /**< Change or changed  weight factor for with-stream shift applied after each glyph */
+#define ST_SM_BEFOREWITHSTREAMSHIFT     (1 << 13)       /**< Change or changed weight factor for with-stream shift applied before each glyph */
+#define ST_SM_AFTERWITHSTREAMSHIFT      (1 << 14)       /**< Change or changed weight factor for with-stream shift applied after each glyph */
 #define ST_SM_CROSSSTREAMSHIFT          (1 << 15)       /**< Change or changed cross-stream shift weight factor */
 #define ST_SM_HANGINGINHIBITFACTOR      (1 << 16)       /**< Change or changed hanging glyph weight factor */
 #define ST_SM_KERNINGINHIBITFACTOR      (1 << 16)       /**< Change or changed kerning weight factor */
@@ -1824,7 +1817,7 @@
 #define ST_SCRIPT_KANNADA                       0x6B6E6461 /* 'knda' (KANNADA) */
 #define ST_SCRIPT_KATAKANA                      0x6B617461 /* 'kata' (KATAKANA) */
 #define ST_SCRIPT_KHMER                         0x6B686D72 /* 'khmr' (KHMER) */
-#define ST_SCRIPT_LAO                           0x6C616F6F /* 'laoo' (LAO) */ /* XXX Should it be 'lao ' instead??? */
+#define ST_SCRIPT_LAO                           0x6C616F6F /* 'laoo' (LAO) */ 
 #define ST_SCRIPT_LATIN                         0x6C61746E /* 'latn' (LATIN) */
 #define ST_SCRIPT_MALAYALAM                     0x6D6C796D /* 'mlym' (MALAYALAM) */
 #define ST_SCRIPT_MONGOLIAN                     0x6D6F6E67 /* 'mong' (MONGOLIAN) */
@@ -1841,7 +1834,7 @@
 #define ST_SCRIPT_THAI                          0x74686169 /* 'thai' (THAI) */
 #define ST_SCRIPT_TIBETAN                       0x74696274 /* 'tibt' (TIBETAN) */
 #define ST_SCRIPT_CANADIAN_ABORIGINAL           0x63616E73 /* 'cans' (CANADIAN-ABORIGINAL) */
-#define ST_SCRIPT_YI                            0x79696969 /* 'yiii' (YI) */    /* XXX Should it be 'yi  ' instead ??? */
+#define ST_SCRIPT_YI                            0x79696969 /* 'yiii' (YI) */    
 
 #define ST_SCRIPT_ZYYY                          0x7A797979 /* 'zyyy' (COMMON) */
 #define ST_SCRIPT_QAAI                          0x71616169 /* 'qaai' (INHERITED) */




More information about the stsf-commit mailing list