Sunday, August 23, 2009

PNGnq 1.0

PNGnq-1.0 SSE build compiled with ICC 9.1.

not fully tested.

some driver/library hex-edited for NT 3.51

VMWare VMMouse Driver for NT 3.51
for direct replacement of i8042prt.sys(backup it first) for VMMouse support in NT 3.51 in VMWare, which fixes strange mouse movement when remote controlling using VMWare remote control function.

Visual Basic 6.0 runtime for NT 3.51
Removed version check which prevents running VB6 programs in NT 3.51.

isanigif

got source of gif reader from optipng, and created the checking animated gif function by modifying gifdump.c.

Download compiled binary(Win32) and source.
isanigif.7z

How to use:
isanigif [-s]
when -s switch it shows the frame count.
returns exit code 0 if it is a static gif (only 1 frame in the gif file.)
returns exit code 1 if it is an animated gif or there is an error, check STDERR output for any error.

Wednesday, August 5, 2009

WinTTX 2.2

Getting TTX 2.2 svn trunk r568 compiled with Python 2.6 py2exe 0.6.9.

WinTTX-2.2-svn-trunk-r568.7z

with modified setup.py:
#! /usr/bin/env python
import psyco
psyco.full()

import os, sys
from distutils.core import setup, Extension
from distutils.command.build_ext import build_ext

try:
 # load py2exe distutils extension, if available
 import py2exe
except ImportError:
 pass

try:
 import numpy
except ImportError:
 print "*** Warning: FontTools needs the numpy library, see:"
 print "        http://numpy.scipy.org/"

try:
 import xml.parsers.expat
except ImportError:
 print "*** Warning: FontTools needs PyXML, see:"
 print "        http://sourceforge.net/projects/pyxml/"


class build_ext_optional(build_ext):
 """build_ext command which doesn't abort when it fails."""
 def build_extension(self, ext):
  # Skip extensions which cannot be built
  try:
   build_ext.build_extension(self, ext)
  except:
   self.announce(
    '*** WARNING: Building of extension "%s" '
    'failed: %s' %
    (ext.name, sys.exc_info()[1]))


if sys.version_info > (2, 3, 0, 'alpha', 1):
 # Trove classifiers for PyPI
 classifiers = {"classifiers": [
  "Development Status :: 4 - Beta",
  "Environment :: Console",
  "Environment :: Other Environment",
  "Intended Audience :: Developers",
  "Intended Audience :: End Users/Desktop",
  "License :: OSI Approved :: BSD License",
  "Natural Language :: English",
  "Operating System :: OS Independent",
  "Programming Language :: Python",
  "Topic :: Multimedia :: Graphics",
  "Topic :: Multimedia :: Graphics :: Graphics Conversion",
 ]}
else:
 classifiers = {}

long_description = """\
FontTools/TTX is a library to manipulate font files from Python.
It supports reading and writing of TrueType/OpenType fonts, reading
and writing of AFM files, reading (and partially writing) of PS Type 1
fonts. The package also contains a tool called "TTX" which converts
TrueType/OpenType fonts to and from an XML-based format.
"""

py2exe_options = dict(
                      excludes=['_ssl',  # Exclude _ssl
                                '_hashlib',"bz2", "_ctypes",'_socket',
                                'doctest',"pywin", "pywin.debugger", "pywin.debugger.dbgcon",
                                "pywin.dialogs", "pywin.dialogs.list",
                                "Tkconstants","Tkinter","tcl",
                                "compiler","email","ctypes","logging","unicodedata",
                                "pydoc_topics","pydoc","httplib","cookielib","cookielib","urllib",
                                'pickle', 'calendar'],  # Exclude standard library
                      dll_excludes=['msvcr71.dll'],  # Exclude msvcr71
                      compressed=1,
                      optimize=1,
                      bundle_files=2
                      )

setup(
  name = "fonttools",
  version = "2.2",
  description = "Tools to manipulate font files",
  author = "Just van Rossum",
  author_email = "just@letterror.com",
  maintainer = "Just van Rossum",
  maintainer_email = "just@letterror.com",
  url = "http://fonttools.sourceforge.net/",
  license = "OpenSource, BSD-style",
  platforms = ["Any"],
  long_description = long_description,
  
  packages = [
   "",
   "fontTools",
   "fontTools.encodings",
   "fontTools.misc",
   "fontTools.pens",
   "fontTools.ttLib",
   "fontTools.ttLib.tables",
   "fontTools.ttLib.test",
  ],
  package_dir = {'': 'Lib'},
  extra_path = 'FontTools',
  ext_modules = [
   Extension(
    "fontTools.misc.eexecOp",
    ["Src/eexecOp/eexecOpmodule.c"],
    include_dirs=[],
    define_macros=[],
    library_dirs=[],
    libraries=[],
   )
  ],
  console=[{'script': 'Tools/ttx', 
                'other_resources': [(u"VERSIONTAG",1,'2.2')],
                             'icon_resources': [(1,'Windows/ttx.ico')]
               }],
  options={'py2exe': py2exe_options},
  cmdclass = {"build_ext": build_ext_optional},
  data_files = [('man/man1', ["Doc/ttx.1"])],
  zipfile = None,
  **classifiers
 )