[ft-devel] Stroke fonts - Stroker
Hello, I'm using an engraving system that uses FreeType to render text. This is very good since it enables us to use TrueType fonts, Arial Unicode MS. The "bad" thing is that TrueType fonts are outlined and vill make the engraver put two lines instead of one. I don't have any knowledge of fonts or FreeType, but I have read about Stroke Fonts, which I think is what I am interested in, and FreeType Glyph Stroker. What I want is that instead of an outline I get one line/single line font, the way it's described here: http://www.colortune.com/ProductsServices/stroke_fonts.aspx Since we engrave in many languages, not CJK, it would be wonderful if I could use Arial Unicode MS and the automatically create Stroke characters when rendering. Is this possible, or have I totally misunderstood Stroke Fonts/Characters and Stroker? Is there some sample code doing this (C, or C++)? // Anders -- English is not my first, or second, language so anything strange, or insulting, is due to the translation. Please correct me so I may improve my English! ___ Freetype-devel mailing list Freetype-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-devel
Re: [ft-devel] bug fix: pointers in FT_Open_Args should be const
Graham Asher wrote: > Casting from non-const to const is always legal, I believe, so I > don't see how this can break compatibility. It is a struct, not a function prototype. So if your (= client) code manipulates such things, perhaps storing them, committing the change may make the code now stores a not-const-decorated pointer (from earlier API) to a const*... Definitively something compilers do not like! Antoine ___ Freetype-devel mailing list Freetype-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-devel
Re: [ft-devel] Help, why i got this result?
> When I use the freetype in my program, the font was display very > ungainly. > > And in ftview, it’s normal. > > The flow I use is the same as Ftview. [...] > > Do anybody know why I got this result? I can't deduce the problem from your description, sorry. Werner ___ Freetype-devel mailing list Freetype-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-devel
Re: [ft-devel] Stroke fonts - Stroker
Hi, On Tue, 30 Jan 2007 14:00:33 +0100 Anders Eriksson <[EMAIL PROTECTED]> wrote: >I don't have any knowledge of fonts or FreeType, but I have read about >Stroke Fonts, which I think is what I am interested in, and FreeType Glyph >Stroker. ftstroke.c of freetype2 is a file collecting functions to compute the borderlines of stroke by given outline bezier curves, not for stroke based font. >What I want is that instead of an outline I get one line/single line font, >the way it's described here: >http://www.colortune.com/ProductsServices/stroke_fonts.aspx I guess various font producers around CJK markets have their own stroke-based font formats, e.g. "Wada-laboratory font project" collected stroke-based glyph database (but their final product is standard outline font format: PostScript and TrueType), Dynalab has their own stroke based font format. However most of them are closed format, no format specification is disclosed, so FreeType cannot support such kind of closed stroke based fonts. >Since we engrave in many languages, not CJK, it would be wonderful if I >could use Arial Unicode MS and the automatically create Stroke characters >when rendering. I guess you want the stroke vector data (instead of outline vector data) of characters, not the stroke-based font itself - if I'm misunderstanding, please correct. >Is this possible, or have I totally misunderstood Stroke Fonts/Characters >and Stroker? I think, at least in FreeType, there's no functions to compute stroke vector data by given outline vector data. In fact, it's not easy work to compute the suitable stroke by given outline. I guess you can find more suitable things in bitmap-to-vector softwares, like autotrace. However, I don't know anything recommended for you. I've ever tried to make stroke vector data by hand-written Yi-script, by autotrace, but result was worse than outline vector data. Improvement of the algorithm to determine suitable stroke is required. https://www.codeblog.org/blog/mpsuzuki/20060710.html Regards, mpsuzuki ___ Freetype-devel mailing list Freetype-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-devel
autotools version check in autogen.sh (Re: [ft-devel] Mac install instructions don't seem to exist)
Dear Sir, I thank Turner for his quick fix of autogen.sh for Mac OS X's "glibtool" issue, on 2007-01-11. On Fri, 29 Dec 2006 00:57:12 +0900 [EMAIL PROTECTED] wrote: >>> In my personal opinion, putting some hooks to check autotools >>> versions into autogen.sh is not bad idea. >> >>I don't object, but it doesn't have a high priority for me. > >Of course, it's task of me who proposed. I will write version >checking hooks for autogen.sh, after 2007-01-15. Please wait. Following is my first manuscript patch to add the version checking feature to autogen.sh. In addition to basic aclocal/libtoolize/autoconf, it scans aclocal-1.9, glibtoolize, libtoolize-1.5, autoconf-2.59 for fallbacking. This is too lengthy for other developers to maintain, possibly I can reduce to 50% shorter. If more compression is essential, please let me know. Regards, mpsuzuki -- Index: autogen.sh === RCS file: /sources/freetype/freetype2/autogen.sh,v retrieving revision 1.6 diff -u -r1.6 autogen.sh --- autogen.sh 12 Jan 2007 09:28:44 - 1.6 +++ autogen.sh 31 Jan 2007 06:43:31 - @@ -20,6 +20,123 @@ fi } +compare_version_number () +{ + r=`( echo $1 ; echo $2 ) | tr ',' ' ' | \ + awk 'BEGIN{getline;vn=split($0,v," ")}\ + {\ + for(i=1;i<=NF;i++)\ + {\ + if(v[i] > $i){print "no";exit}\ + if($i > v[i]){print "yes";exit}\ + }\ + if ( length( v[NF + 1] ) > 0 ) { print "no" } \ + else { print "yes" } \ + }'` + + if test x"${r}" = xyes ; then +return 0 + else +return 1 + fi +} + + +check_program_version () +{ + prog_name=$1 + min_version=$2 + vendor_keyword=$3 + + matched_prog="" + + p="" + for d in `echo ${PATH} | tr ':' ' '` + do +if test -x ${d}/${prog_name} ; then + p=${d}/${prog_name} + break; +fi + done + + if test x = x"${p}" ; then +return 1 + fi + + echo -n 'Checking version of '${p}' (>= '${min_version}')... ' + + v=`${p} --version 2>/dev/null | head -1` + if test x != x"${v}" ; then +v=`${p} --version 2>&1 | head -1` + fi + case `echo ${v} | wc -w` in + 0) # cannot extract program version +;; + + 1) # assumed format: "[version]" +echo -n ${v}", " +vn=`echo ${v} | sed 's/[^0-9 ][^0-9 ]*/ & /g;s/ */,/g;s/\.,//g' ` +vm=`echo ${min_version} | sed 's/\./ /g;s/[^0-9 ]/ &/g;s/ */,/g' ` +compare_version_number ${vm} ${vn} +if test 0 != $? ; then + echo "too old" +else + echo "ok" + matched_prog=${p} +fi +;; + + 3) # assumed format: "[progname] version [version]" +vn=`echo ${v} | sed 's/^.* //' ` +echo -n ${vn}", " +vn=`echo ${vn} | sed 's/[^0-9 ][^0-9 ]*/ & /g;s/ */,/g;s/\.,//g' ` +vm=`echo ${min_version} | sed 's/\./ /g;s/[^0-9 ]/ &/g;s/ */,/g' ` +compare_version_number ${vm} ${vn} +if test 0 != $? ; then + echo "too old" +else + echo "ok" + matched_prog=${p} +fi +;; + + *) # assumed format: "[progname] ([vendor]) [version] [extra-comment]" +v=`echo ${v} | sed 's/ */ /g;s/ /_/g;s/_(/ (/g;s/)_/) /g;s/\.,//g'` +vn=`echo ${v} | cut -d" " -f3` +echo -n ${vn}", " +vn=`echo ${vn} | sed 's/[^0-9 ][^0-9 ]*/ & /g;s/ */,/g;;s/\.,//g' ` +vm=`echo ${min_version} | sed 's/\./ /g;s/[^0-9 ]/ &/g;s/ */,/g' ` +compare_version_number ${vm} ${vn} +if test 0 != $? ; then + echo "too old" +else + echo "ok" + + vendor=`echo ${v} | cut -d" " -f2` + if test x != x"${vendor}" -a x != x"${vendor_keyword}"; then +echo -n 'Checking ${p}...' +case ${vendor} in +*${vendor_keyword}* ) + echo ' '${vendor_keyword}' '${prog_name} + ;; +*) + echo ' not '${vendor_keyword}' '${prog_name} + exit 1 + ;; +esac + fi + matched_prog=${p} +fi +;; + esac + + if test x != x"${matched_prog}" ; then +return 0 + else +return 1 + fi +} + if test ! -f ./builds/unix/configure.raw; then echo "You must be in the same directory as \`autogen.sh'." echo "Bootstrapping doesn't work if srcdir != builddir." @@ -40,16 +157,50 @@ sed -e "s;@VERSION@;$freetype_major$freetype_minor$freetype_patch;" \ < configure.raw > configure.ac -# On MacOS X, the GNU libtool is named `glibtool'. -HOSTOS=`uname` -LIBTOOLIZE=libtoolize -if test "$HOSTOS"x = Darwinx; then - LIBTOOLIZE=glibtoolize + +# autotool version check +for p in aclocal aclocal-1.9 +do + if test x = x"${ACLOCAL}" ; then +check_program_version $p 1.9.6 +if test 0 = $? ; then + ACLOCAL=$p +fi + fi +done +if test x = x"${ACLOCAL}" ; then + exit 1 +fi + +for p in libtoolize libtoolize-1.5 glibtoolize +do + if test x = x"${LIBTOOLIZE}" ; then +check_program_version $p 1.5.22 +if test 0 = $? ; then + LIBTOOLIZE=$p +fi + fi +done +if test x = x"${LIBTOOLIZE}" ; then + exit 1 +