[stsf-commit] stsf ChangeLog, 1.22, 1.23 INSTALL.TXT, 1.1, 1.2 TODO, NONE, 1.1 configure, 1.11, 1.12 configure.ac, 1.11, 1.12 makefile, 1.4, 1.5 st.mk, 1.7, 1.8

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


Committed by: adg


Index: ChangeLog
===================================================================
RCS file: /cvs/stsf/stsf/ChangeLog,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- ChangeLog	5 Jun 2004 05:23:03 -0000	1.22
+++ ChangeLog	2 Jul 2004 05:00:10 -0000	1.23
@@ -1,3 +1,110 @@
+2004-06-30	Alexander Gelfenbain	<adg at sun.com>
+	STSF Version 0.11.2 - background font rescan and many fixes
+    Version was bumped up from 0.8 to 0.11 since there were two incompatible
+	changes to the binary persistent font file structure and each one of 
+	the requires a change in the major or minor version numbers.
+
+	This version is re-released under the standard BSD license.
+
+	* configure.ac, configure, interface/config.h.in: initialize 
+	STFONTSERVERD_PIDFILE and check for --enable-rescan
+
+	* STClientLibrary/src/STGlyphVector.c (GlyphVectorRepReplaceGlyphs):
+	update style handles in old and new glyph vectors to prevent removing
+	unknown data elements from OpaqueDataManager
+
+	* STClientLibrary/src/STSysCtl.c, STClientLibrary/src/sysctlvars.h: 
+	added sharedcache.notifyclear
+
+	* STClientLibrary/src/STTextChunk.c (TextChunkDescriptorDispose):
+	uncommented previously commented out dtor call for the STStyle object
+
+	* STClientLibrary/src/STTypeEnv.c (STTypeEnvFindFont, STTypeEnvFindAllFonts,
+	STTypeEnvFindFontByPlatformName, STTypeEnvFindAllFontsByPlatformName):
+	handle UTF-16 characters properly, call CountUTF16Bytes() when needed
+
+	* STClientLibrary/src/connection.h: restore const modifiers
+
+	* STClientLibrary/src/libtest.c: more tests - SbitTest(), FindFontTest2(),
+	FindFontTest3()
+
+	* STClientLibrary/src/serverconnection.c: better checking for stfontserverd
+	version and status in FSSessionOpen(), including calling stfsloader
+	to reload the server if it does not properly reply, added a lot of "const" 
+	qualifiers
+
+	* STFontServer/dropins/freetype2/ft2_glue.c, 
+	STFontServer/dropins/freetype2/ftrenderglyph.inc: added support for algorithmic
+	styles, including emboldening of embedded bitmaps
+
+	* STFontServer/dropins/freetype2/testft2.c: removed all previously commented-out
+	code and made other changes to efficiently test the scaler
+
+	* STFontServer/loader/makefile: removed linking with libstsf.so
+
+	* STFontServer/loader/stfsloader.c: better checking, including checking the
+	lock on the stfontserverd.pid file
+
+	* STFontServer/src/debugscaler.c: added the test that calls the drop-in scaler 
+	API directly
+
+	* STFontServer/src/fontenumerator.c: numerous changes to implement background
+	font rescan and thread locking
+
+	* STFontServer/src/fontenumerator.h: merged fontfamilymanager in
+
+	* STFontServer/src/fontfamilymanager.c: remove a single font from a font family
+	manager for dynamic font rescan implementation
+
+	* STFontServer/src/fontprobe.c STFontServer/src/fontprobe.h: added support
+	for background font rescan: FSFontSignatureRecord and fontdir structures
+
+	* STFontServer/src/fontserver.c: support for dynamic rescan and fixed the bugs
+	related to handling sbit information
+
+	* STFontServer/src/handler.c: if ENABLE_TERMINATE is defined and the server
+	receives FS_TERMINATE_IN, call fontServerDispose() for better leaks detection
+
+	* STFontServer/src/makefile: added pfcdump and debugscaler binaries
+
+	* STFontServer/src/pfcdump.c: dump the contents of the PFC file 
+
+	* STFontServer/src/saverestore.c STFontServer/src/saverestore.def
+	STFontServer/src/saverestore.h: save and restore sbit information, 
+	fontdirs and their modification times and fontpath separately
+
+	* STFontServer/src/stfontserverprivate.h: added STFontFileFlags to
+	all font structures to handle deleted font files
+
+	* STFontServer/src/stfs-door.c: save the PID file in the XML format and 
+	include	STSF version, process ID and the fontpath; do not convert the 
+	list of	font directories received from fontconfig to a comma-separated 
+	fontpath but rather pass it to the font server as a list
+
+	* STFontServer/src/truetypeprobe.c: add support for sbits
+
+	* interface/fontserver.h: FontServerNew() takes "list fontpathlist"
+	instead or "const char *fontpath" now
+
+	* interface/stprivate.h: defined the following constants - FPE_NDIRSLOTS_INIT, 
+	FPE_NDIRSLOTS_INCR, FENUM_NFONTPATH_INCR, RESCAN_DELAY, SAVE_DELAY;
+	renamed elements of STBSpline and STBezierCurve; changed iNameLength to define
+	the number of UTF-16 characters rather than number of bytes (changed
+	its type from "int" to STCharCount) in STTypeEnvFindFont() and STTypeEnvFindAllFonts()
+
+	* stsflib/arrays.c stsflib/arrays.h: implemented generic type for dynamic
+	sorted arrays
+
+	* stsflib/fscomm.c stsflib/fscomm.h: added "const" modifier to several 
+	formal paramerers
+
+	* stsflib/sft.c stsflib/sft.h: implemented GetSbitStrikes() and added the
+	following tables to be discovered upon file loading: 'EBDT', 'EBLC', 'BASE',
+	'bdat', and 'bloc'
+
+	* stsflib/stsfutil.c  stsflib/stsfutil.h: added HexString(), STFontTypeName()
+	DebugStrNL() 
+
 2004-06-04	Alexander Gelfenbain	<adg at sun.com>
 	STSF Version 0.8.8 - bug fixes
 

Index: INSTALL.TXT
===================================================================
RCS file: /cvs/stsf/stsf/INSTALL.TXT,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- INSTALL.TXT	8 Apr 2004 01:40:54 -0000	1.1
+++ INSTALL.TXT	2 Jul 2004 05:00:10 -0000	1.2
@@ -24,7 +24,7 @@
 
 1.1 Prerequisites 
 
-    ST requires Python 2.3 with PyXML 0.8.3 and up. 
+    ST requires Python 2.2 and up. 
 
     If you are planning to build your own configure script from configure.ac,
     you need autocong 2.57 and up.

--- NEW FILE: TODO ---

2004-06-12  adg
    Add bitmasks for individual style effects if there are enough bits left to
    STStyleMask 

2004-06-12 adg
    #define ST_SCRIPT_LAO                           0x6C616F6F /* 'laoo' (LAO) */ /* XXX Should it be 'lao ' instead??? */
    #define ST_SCRIPT_YI                            0x79696969 /* 'yiii' (YI) */    /* XXX Should it be 'yi  ' instead ??? */

2004-06-12 adg
    Implement style comparison according to the following:
        /* XXX style comparison:
         *
         * IDENTICAL
         * NOT_IDENTICAL:
         *      INTERSECTING
         *      NOT_INTERSECTING
         * EQUAL_KEYS (IDENTICAL_KEYS)
         * SUPERSET
         * SUBSET
         * KEYS_SUPERSET
         * KEYS_SUBSET
         *
         * ....
         *
         */

2004-06-19  adg

Need to redesign OpaqueFontEnumerator to make updating virtual fonts cheaper.
In order to do it, need to sort bitmap fonts and implement adding and deleting
a single bitmap font from an existing virtual font.

2004-06-22

Add finer control over whether to do sbit algorithmic emboldening hack, for
example by adding an extra flag like:
    
    #define ST_USE_AND_EMBOLDEN_SBITS 3       /**< Xft/X-TrueType compatibility mode */ 

2004-07-01

    Add a lock to the PFC file so that there is no conflict between stfontserverd
    and pfcdump

Index: configure
===================================================================
RCS file: /cvs/stsf/stsf/configure,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- configure	5 Jun 2004 05:23:03 -0000	1.11
+++ configure	2 Jul 2004 05:00:10 -0000	1.12
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.ac Revision: 1.10 .
+# From configure.ac Revision: 1.11 .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for Standard Type Services Framework 0.8.
+# Generated by GNU Autoconf 2.59 for Standard Type Services Framework 0.11.
 #
 # Report bugs to <stsf at pdx.freedesktop.org>.
 #
@@ -42,10 +42,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.
-#
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
@@ -308,8 +304,8 @@
 # Identity of this package.
 PACKAGE_NAME='Standard Type Services Framework'
 PACKAGE_TARNAME='stsf'
-PACKAGE_VERSION='0.8'
-PACKAGE_STRING='Standard Type Services Framework 0.8'
+PACKAGE_VERSION='0.11'
+PACKAGE_STRING='Standard Type Services Framework 0.11'
 PACKAGE_BUGREPORT='stsf at pdx.freedesktop.org'
 
 ac_unique_file="interface/st.h"
@@ -827,7 +823,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Standard Type Services Framework 0.8 to adapt to many kinds of systems.
+\`configure' configures Standard Type Services Framework 0.11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -889,7 +885,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Standard Type Services Framework 0.8:";;
+     short | recursive ) echo "Configuration of Standard Type Services Framework 0.11:";;
    esac
   cat <<\_ACEOF
 
@@ -907,6 +903,8 @@
 
   --enable-dropins=[=ARG]
                           compile dropins listed in ARG (default is all)
+  --enable-autorescan     automatically rescan font directories in a separate
+                          background thread (default no background rescan)
   --enable-fontconfig     use fontconfig to locate fonts
   --disable-fontconfig    do not usefontconfig
   --disable-largefile     omit support for large files
@@ -1027,7 +1025,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-Standard Type Services Framework configure 0.8
+Standard Type Services Framework configure 0.11
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1067,10 +1065,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.
-
 _ACEOF
   exit 0
 fi
@@ -1079,7 +1073,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Standard Type Services Framework $as_me 0.8, which was
+It was created by Standard Type Services Framework $as_me 0.11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1602,6 +1596,16 @@
   LDFLAGS="${LDFLAGS} -Wl,-M/usr/lib/ld/map.pagealign" ; SHAREDLIB_LDFLAGS="${SHAREDLIB_LDFLAGS} -Wl,-M/usr/lib/ld/map.pagealign"
 fi
 
+
+cat >>confdefs.h <<\_ACEOF
+#define STFONTSERVERD_PIDFILE "/var/run/stfontserverd.pid"
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define STFSLOADER_PIDFILE "/var/run/stfsloader.pid"
+_ACEOF
+
 		;;
     *-*-linux*)
 		FT2_PATH="${FT2PATH:-/usr}"
@@ -5043,6 +5047,32 @@
 		;;
 esac
 
+
+# Check whether --enable-autorescan or --disable-autorescan was given.
+if test "${enable_autorescan+set}" = set; then
+  enableval="$enable_autorescan"
+
+fi;
+echo "$as_me:$LINENO: checking whether to enable automatic font rescan" >&5
+echo $ECHO_N "checking whether to enable automatic font rescan... $ECHO_C" >&6
+
+case "${enable_autorescan}" in
+    yes)
+
+cat >>confdefs.h <<\_ACEOF
+#define AUTORESCAN 1
+_ACEOF
+
+        echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+    ;;
+    *)
+        echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+esac
+
+
 echo "$as_me:$LINENO: checking what the default scaler path should be" >&5
 echo $ECHO_N "checking what the default scaler path should be... $ECHO_C" >&6
 
@@ -9173,7 +9203,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by Standard Type Services Framework $as_me 0.8, which was
+This file was extended by Standard Type Services Framework $as_me 0.11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -9233,7 +9263,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Standard Type Services Framework config.status 0.8
+Standard Type Services Framework config.status 0.11
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 

Index: configure.ac
===================================================================
RCS file: /cvs/stsf/stsf/configure.ac,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- configure.ac	5 Jun 2004 05:23:03 -0000	1.11
+++ configure.ac	2 Jul 2004 05:00:10 -0000	1.12
@@ -1,5 +1,5 @@
 dnl Process this file with -*- autoconf -*-  to produce a configure script.
-AC_INIT(Standard Type Services Framework, 0.8, stsf at pdx.freedesktop.org, stsf)
+AC_INIT(Standard Type Services Framework, 0.11, stsf at pdx.freedesktop.org, stsf)
 AC_PREREQ(2.59)
 AC_COPYRIGHT([
 Copyright 2002-2004 Sun Microsystems, Inc.
@@ -33,10 +33,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.
 ])
 
 AC_REVISION($Revision$)
@@ -78,6 +74,12 @@
         LIBRARY_MODE=0
 		AC_CHECK_FILE([/usr/lib/ld/map.noexstk],[LDFLAGS="${LDFLAGS} -Wl,-M/usr/lib/ld/map.noexstk"])
 		AC_CHECK_FILE([/usr/lib/ld/map.pagealign],[LDFLAGS="${LDFLAGS} -Wl,-M/usr/lib/ld/map.pagealign" ; SHAREDLIB_LDFLAGS="${SHAREDLIB_LDFLAGS} -Wl,-M/usr/lib/ld/map.pagealign"])
+        AC_DEFINE([STFONTSERVERD_PIDFILE],
+                  ["/var/run/stfontserverd.pid"],
+                  [Define where stfontserverd stores its PID])
+        AC_DEFINE([STFSLOADER_PIDFILE],
+                  ["/var/run/stfsloader.pid"],
+                  [Define where stfsloader stores its PID])
 		;;
     *-*-linux*)
 		FT2_PATH="${FT2PATH:-/usr}"
@@ -320,6 +322,24 @@
 		;;
 esac
 
+
+AC_ARG_ENABLE([autorescan],
+              [AC_HELP_STRING([--enable-autorescan],
+                              [automatically rescan font directories in a separate background thread (default no background rescan)])],,)
+AC_MSG_CHECKING([whether to enable automatic font rescan])
+
+case "${enable_autorescan}" in
+    yes)
+        AC_DEFINE([AUTORESCAN],[1],[Define if you want stfontserverd to perform automatic font rescan])
+        AC_MSG_RESULT([yes])
+    ;;
+    *)
+        AC_MSG_RESULT([no])
+    ;;
+esac
+    
+dnl AC_DEFINE_UNQUOTED([AUTORESCAN],${AUTORESCAN},[Define if you want stfontserverd to perform automatic font rescan])
+
 AC_MSG_CHECKING([what the default scaler path should be])
 AC_ARG_WITH([default-scaler-path], 
 	AC_HELP_STRING([--with-default-scaler-path=PATH],

Index: makefile
===================================================================
RCS file: /cvs/stsf/stsf/makefile,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- makefile	12 Apr 2004 22:49:24 -0000	1.4
+++ makefile	2 Jul 2004 05:00:10 -0000	1.5
@@ -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.mk
===================================================================
RCS file: /cvs/stsf/stsf/st.mk,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- st.mk	5 Jun 2004 05:23:03 -0000	1.7
+++ st.mk	2 Jul 2004 05:00:10 -0000	1.8
@@ -30,10 +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$
@@ -70,7 +66,6 @@
 # ~~~~~~~~~~~~~
 #DEFINES= -DSTSF -DVERBOSE_GREETING -DASSERTS -DSTSF_DEBUG -DRUNTIME_CHECKS -DXST -DSTSF_PAD32 -DNO_INLINES -DENABLE_TERMINATE
 
-
 # Optimized with ENABLE_TERMINATE
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 #DEFINES= -DSTSF -DVERBOSE_GREETING -DXST -DSTSF_PAD32 -DNO_INLINES -DENABLE_TERMINATE
@@ -88,7 +83,7 @@
 
 include $(TOP)/config.mk
 
-VERSION:= 0.8
+VERSION:= 0.11
 
 OS:= $(shell uname -s)
 




More information about the stsf-commit mailing list