Re: [ft-devel] Getting Module Pointer From a Module Function?

2009-02-23 Thread David Turner
Hi Mickey,


2009/1/22 Mickey Gabel mic...@monfort.co.il

 Is there a standard/good way to get the module pointer (not the module
 class, I am talking about FT_ModuleRec that contains the module's data).

 Case in point:

 I am working on af_face_globals_new() in autofit/afglobals.c which is part
 of the autofit module.
 Is there a way to get to the FT_AutofitterRec which is initialized during
 module init (AutoFitterRec is defined in autofit/afmodule.c) ?

 I could add the parameter explicitly, but is there a more standard way?


You could try calling FT_Get_Module( face-library, module name );

I'm surprised you'd want to do that though, what kind of
non-font-face-specific data would you like to store there ?

Are you trying to cache the result of global glyph analysis to speed up
things. I would recommend provide a way
for the library user to store it in its own cache, with callbacks to
lookup/add the data from the font engine. That
way the client could control exactly how much memory is consumed by this
scheme.

Regards

- David







 ___
 Freetype-devel mailing list
 Freetype-devel@nongnu.org
 http://lists.nongnu.org/mailman/listinfo/freetype-devel

___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


[ft-devel] Switching to Git ?

2009-02-23 Thread David Turner
Hello everyone,

long time no see :-)

I'd like to know if Werner and others are interested in switching the
FreeType repository to git in the near future ?

I've been a heavy user of the tool since several months, and while there are
really a few bat-shit insane user-interface
issues with it (even in most recent releases), it beats CVS hands down in
nearly all respects.

I'm currently maintaining my own git repo with git-cvsimport, which works
pretty well, but would like the ability to directly
talk to the main server that way.

Nothing really of high priority, but I wanted at least to know your opinion
about it ?

Regards

- David
___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Switching to Git ?

2009-02-23 Thread Ralph Giles
On Mon, Feb 23, 2009 at 10:02 AM, David Turner da...@freetype.org wrote:

 I'd like to know if Werner and others are interested in switching the
 FreeType repository to git in the near future ?

Hi David! This would be nice for me as well.

 Nothing really of high priority, but I wanted at least to know your opinion
 about it ?

There was a thread about this in December in January. Suzuki-san did
some trial conversions and there was some discussion about editing the
commit messages to give a better shortlog as part of an official
conversion.

  http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00074.html
  http://lists.gnu.org/archive/html/freetype-devel/2009-01/msg1.html

Note that git support on windows is still shaky.

 -r


___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Switching to Git ?

2009-02-23 Thread Werner LEMBERG

 long time no see :-)

Glad that you are still alive.

 I'd like to know if Werner and others are interested in switching the
 FreeType repository to git in the near future ?

Yes.  I will do a new release soon (there are very embarrasing errors
w.r.t. FT_Get_Advance which I'l fixing right now), then such a switch
would be nice.

We've discussed conversion to git earlier; you might look up the devel
archive for details.

 I'm currently maintaining my own git repo with git-cvsimport, which
 works pretty well, but would like the ability to directly talk to
 the main server that way.

Well, a direct import is trivial; however, it would be beneficial to
walk over, say, the last 1000 to 2000 commits so that all get a nice
one-line title.


Werner


___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] [NECSV - LSB PJ] Freetype documentation issues report V0029

2009-02-23 Thread Werner LEMBERG

 the fact that we use FreeType error code means that we explicitely
 do not want to list a specific set of codes, or in other words that
 any error code could be returned.

I've already prepared some improvements w.r.t. the documentation of
error codes.  This should be part of the repository in a not too
distant future.


Werner


___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


RE: [ft-devel] Switching to Git ?

2009-02-23 Thread Graham Asher
From a purely personal point of view I welcome a move to git, simply to give
me an incentive to learn git :-)

Graham

-Original Message-
From: freetype-devel-bounces+graham.asher=btinternet@nongnu.org
[mailto:freetype-devel-bounces+graham.asher=btinternet@nongnu.org] On
Behalf Of Werner LEMBERG
Sent: 23 February 2009 18:26
To: da...@freetype.org
Cc: freetype-devel@nongnu.org
Subject: Re: [ft-devel] Switching to Git ?


 long time no see :-)

Glad that you are still alive.

 I'd like to know if Werner and others are interested in switching the
 FreeType repository to git in the near future ?

Yes.  I will do a new release soon (there are very embarrasing errors
w.r.t. FT_Get_Advance which I'l fixing right now), then such a switch
would be nice.

We've discussed conversion to git earlier; you might look up the devel
archive for details.

 I'm currently maintaining my own git repo with git-cvsimport, which
 works pretty well, but would like the ability to directly talk to
 the main server that way.

Well, a direct import is trivial; however, it would be beneficial to
walk over, say, the last 1000 to 2000 commits so that all get a nice
one-line title.


Werner


___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel



___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Multi-threading question

2009-02-23 Thread David Turner
2009/2/23 Mike Moening mi...@reteksolutions.com

  In the 2.3.8 documentation it states that each thread should have its own
 FT_Library object.

 Currently we keep one FT_Library per FT_Face.
 We have a C++ wrapper object per font face which wraps these two together.

 We use FT_New_Memory_Face() to load the face into the object.
 Because the font files are rather large (several Megabytes) we leave the
 face open,
 so as not to re-load it every time we need to get metrics on a different
 glyph.

 Question:

 Can we safely use the stored FT_Face handle with other FT_Library
 instances?
 Assuming (per documentation suggestions) that we have a FT_Library per
 thread.

No you can't.

 The idea is to allow multiple threads to get glyph metrics by simultaneosly
 calling these methods:
 FT_Set_Char_Size()
 FT_Get_Char_Index()
 FT_Load_Glyph()

 Once we retreive the metrics we store each set of metrics in map hashed by
 glyph which is owned by the wrapper object.
 This map is protected by a lock of course.

 It seems to me, based on my understanding of the code, that there would be
 no way to allow each thread to access the metrics unless each thread calls 
 FT_New_Memory_Face()
 and has its own handle to the face.

Exactly.

 That seems sub-optimal.

The eye is in the beholder. Allowing what you want would make the design of
FreeType much more complicated and would also make it use more memory in all
cases.

And if your file is memory-mapped, you shouldn't have much performance
degradation from using several FT_Library/FT_Face in parallel anyway; and
each thread should go as fast as possible, without any potential for locking
or contention.

 I welcome suggestions on the fastest architecture to simulaneously retrieve
 font metrics with multiple threads.

 Thanks,

 Mike M.

 ___
 Freetype-devel mailing list
 Freetype-devel@nongnu.org
 http://lists.nongnu.org/mailman/listinfo/freetype-devel


___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Switching to Git ?

2009-02-23 Thread Keith Packard
On Mon, 2009-02-23 at 19:25 +0100, Werner LEMBERG wrote:

 Well, a direct import is trivial; however, it would be beneficial to
 walk over, say, the last 1000 to 2000 commits so that all get a nice
 one-line title.

My 'parsecvs' tool will probably handle freetype's CVS repository fairly
well. It's not easy to use, but was used to convert X.org's repositories
where other tools failed due to the fairly complex (and often broken)
history.

It requires direct access to the CVS source repository; if you'd like me
to give this a try, let me know.

-- 
keith.pack...@intel.com


signature.asc
Description: This is a digitally signed message part
___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Switching to Git ?

2009-02-23 Thread Behdad Esfahbod
David Turner wrote:
 Hello everyone,
 
 long time no see :-)
 
 I'd like to know if Werner and others are interested in switching the
 FreeType repository to git in the near future ?

That would also make it easier for me to hack on FreeType (the only piece of
GNOME-based text rendering stack I've not mastered yet).

behdad


 I've been a heavy user of the tool since several months, and while there
 are really a few bat-shit insane user-interface
 issues with it (even in most recent releases), it beats CVS hands down
 in nearly all respects.
 
 I'm currently maintaining my own git repo with git-cvsimport, which
 works pretty well, but would like the ability to directly
 talk to the main server that way.
 
 Nothing really of high priority, but I wanted at least to know your
 opinion about it ?
 
 Regards
 
 - David



___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Switching to Git ?

2009-02-23 Thread David Turner
Tad !

An experimental git repository is now in place, see http://git.freetype.org

Note that:


   - this was created by taking a snapshot of the current CVS repository;
   running git-cvsimport on it then 'git-filter-branch --msg-filter' with the
   attached (basic) script to improve the commit messages a bit.

   (It's still not perfect, could be improved in the future)


   - read-only access :-)


   - there is *no* git = CVS bridge at the moment, I'm still trying to get
   the exact details on how to properly set this up. There is no point to
   provide write access until this is solved.


   - this runs on my home Zonbu box behind my DSL router; so don't expect
   any kind of scalability at the moment; it's really an experimental setup to
   show what's possible in a few hours.


   - gitosis / git-daemon / gitweb are nice, but oh my, they are so badly
   documented that it's hard to avoid many pitfalls. I'll try to document them
   later.


   - We will probably want to move this to a real server in the future. For
   now consider this as an experiment. I'm probably going to scrap it and start
   another one from scratch with a better commit message rewriter. I've given
   up rewriting the CVS messages themselves. I will warn before doing so, or
   create a different branch.

 Comments and opinions welcome.

2009/2/23 Keith Packard kei...@keithp.com

 On Mon, 2009-02-23 at 19:25 +0100, Werner LEMBERG wrote:

  Well, a direct import is trivial; however, it would be beneficial to
  walk over, say, the last 1000 to 2000 commits so that all get a nice
  one-line title.

 My 'parsecvs' tool will probably handle freetype's CVS repository fairly
 well. It's not easy to use, but was used to convert X.org's repositories
 where other tools failed due to the fairly complex (and often broken)
 history.

 It requires direct access to the CVS source repository; if you'd like me
 to give this a try, let me know.

 --
 keith.pack...@intel.com

#!/usr/bin/python
#
# This script is used to convert the FreeType commit messages
# to a simpler one-liner format.
#
# What we want to do here is to essentially replace messages that
# look like the following:
#
#* path1/file1.c (some_function), path2/file2.c,
#  path3/file3.c: THE REAL COMMIT MESSAGE THAT CAN
#  SPAN SEVERAL LINES
#
# by:
#
#THE REAL COMMIT MESSAGE THAT CAN SPAN SEVERAL LINES
#* path1/file1.c ... : THE REAL COMMIT MESSAGE ... etc
#
# not totally elegant, but gets the job done :-)
#
import sys, os, string, re

lines   = []
lineStart   = True
lineCurrent = 

re_sourcePath = re.compile(r\s*([A-Za-z_][A-Za-z0-9_/.]*)\s*(.*))
re_functionName = re.compile(r\([^)]*\)\s+(.*))

# read lines from stdin and create paragraphs into lines
for line in sys.stdin.readlines():
# strip trailing LN
line = string.strip(line)
if len(line)  0 and line[-1] == '\n':
line=line[:-1]

if len(line) == 0:
if not lineStart:
lineStart = True
lines.append(lineCurrent)
lineCurrent = 
else:
if not lineStart:
lineCurrent +=  
lineCurrent += line
lineStart= False

if not lineStart:
lines.append(lineCurrent)

# now, check whether the first paragraph begins with an asterisk
lines2=[]
for line in lines[0:1]:
firstLine = line[:]
if firstLine[0] == '*':
# find the location of the column
index = firstLine.rfind(':')
if index  0:
firstLine = string.strip(firstLine[index+1:])
lines2.append(firstLine)
lines2.append(line)

for line in lines2:
print line
___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Switching to Git ?

2009-02-23 Thread Ralph Giles
On Mon, Feb 23, 2009 at 6:20 PM, David Turner da...@freetype.org wrote:

 An experimental git repository is now in place, see http://git.freetype.org

Woo!

 gitosis / git-daemon / gitweb are nice, but oh my, they are so badly
 documented that it's hard to avoid many pitfalls. I'll try to document them
 later.

No kidding. I've set up a couple of gitweb instances, if you need any help.

In particular:

edit *.git/description to set the description column in the gitweb index

add the git-daemon base url to the git_base_url_list definition in
gitweb.cgi. Something like

our @git_base_url_list = grep { $_ ne '' } (git://git.freetype.org);

There's some way to also list an http url, which is helpful for people
behind firewalls, but I've not figured it out yet. You don't want to
default to the http url because it's so much slower.

 -r


___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel