Hi David
Thank you for the reply and the comments. Yes this seems to be a very
logical path and we are already working on the same. Please find some
of my comments inlined below. This seems to be more exciting now :)
Regards
Lokesh
Lokesh>> Thanks. This is a great start. :)
On Jun 5, 1:46 am, David Turner <di...@android.com> wrote:
> Thanks for the clarifications,
>
> I think it's clear that such an interface could be useful, however, a few remarks:
Lokesh>> Yes this is great.
>
> - I'm not sure that external/ is the best location for something like that. It would probably be part of frameworks/base/ instead, so a new module doesn't seem necessary.
Lokesh>> Can we use "fontengine" ? with this be fine ?
>
> - I would suggest using something a bit more descriptive than "ofm", tiny acronyms tend to become very cryptic in a large codebase like Android :-)
>Lokesh>> Yes this is correct. Its a font engine manager or font
> - Also "Open Font Manager" is a slightly misleading name, since this feature is to manage font engines, not font data; and even "Open" leads to believe that this would not be Android-specific (like I originally thought, but you're proposing
> something that depends on Skia, so...). Please correct me if I'm wrong.
plugins manager.
Lokesh>> I agree, separating this from the Skia will make the solution
> - The Android team is currently investigating alternatives to Skia, and tying the font manager to this library would severely limit our choices in the future.
scalable to any graphic library.
>Lokesh>> Yes, for now may be we can provide very simple layer using
> In other words, an abstraction layer will need to be provided, one that is as simple as possible.
typecast and then can enhance it to skia free. Will this be a nice
idea ?
>Lokesh>> We are working on it. Will try to submit by this week.
> I would thus suggest an alternative plan to get this accepted:
>
> 1. Write a specification document for this project, detailing the boundaries of what you want to support, proposed architectural choices, and submit it there for discussion.
>Lokesh>> Yes sure. Shld the name be fontengine instead :) or
> 2. Submit patches to framework/base/ that implement the interface that has been approved. For example, put your external headers under include/fontengines/ and the implementation under libs/fontengines/. At a minimum you would need a "wrapper" around FreeType.
fontframework ?
Lokesh>> Yes, we may submit this along with 2.
>
> 3. Also submit patches to external/skia to use this.
>Lokesh>> We are on it :), thanks for the guidance, this is very
> The more important part is to get an API that doesn't depend on Skia at all but still provides sufficient features that a typical SkFontScaler requires/provides.
helpful.
>
> hope this helps
>
> - David
> > <android-coretech%2Bunsu...@googlegroups.com<android-coretech%252Buns...@googlegroups.com>>
> On Thu, Jun 3, 2010 at 8:00 AM, Bitstream Inc <bitsandr...@gmail.com> wrote:
> > Hi David
> > Thanks for the reply. Please find my comments inlined below.
>
> > > Is there any documentation about the Open Font Manager project anywhere ?
> > > I could not find anything through a search engine.
>
> > Lokesh>> It will be made public soon as soon as the access to this
> > project is granted. I am trying to explain the same in brief below.
>
> > Anyone will be able to add the font engine to Android if the following
> > steps are followed, which are very easy as compared to now.
>
> > 1/ Inherit and implement a class based on OFMInst (Open Font Manager
> > Instance), whose definition is below:
>
> > class OFMInst
> > {
> > public:
> > virtual void init() = 0;
> > virtual SkScalerContext* createScalerContext(const SkDescriptor*
> > desc) = 0;
> > virtual int getNameAndStyle(SkStream* stream, SkString* name,
> > SkTypeface::Style* style) = 0;
> > virtual ~OFMInst(){}
> > };/* end method OFMInst */
>
> > Just four methods !! For example the implementation of FreeType will
> > be contributed (minor changes as compared to current implementation of
> > SkFontHost_FreeType.cpp).
>
> > 2/ Once done, add the following static function to the implementation,
> > which will help the OTFManager to load the OFMInst class handle from
> > dll:
>
> > extern "C"
> > {
> > /*Start of C code*/
> > OFMInst* getFontDriverInstance()
> > {
> > /* Sample code below, simple return the OFMInst instance */
> > ofmInst = new OFMInstImpl; /* implementation of
> > OTFInst */
> > ofmInst->init();
> > return (OFMInst*)ofmInst;
> > }/* getFontInstance() */
>
> > }/* end extern "C" */
>
> > 3/ Place the DLL at "/system/fonts/ofm"
>
> > Thats all. The OpenFontManager will pick all the font plugins and will
> > route the font to the capable plugin. This also adds a great
> > functionality to Android, add any font formats easily, with different
> > plugins.
>
> > > Can you describe what you plan to implement through this?. As far as I
> > understand,
> > > a font engine provider can already provide a FreeType-compatible API on
> > top of their
> > > own engine and their client use it through a local manifest that redirect
> > external/freetype.
>
> > Lokesh>> This is true but this is not easy to do, and less scalable
> > (may be performance also drops). More over at one time only one engine
> > can be active. With this easy approach, one can add many font plugins
> > at a time. And with very much ease. FreeType will be there by default
> > after this approach too. This also provides the way to support
> > proprietary font engine drivers since this will done at DLL level.
> > This approach is much easier to follow and has been backbone of other
> > mobile environments where multiple font format compatibility is needed
> > to meet localization efficiently.
>
> > >> Do you plan to add another abstraction layer to talk to the font engine
> > ?
> > Lokesh>> Its a new module or layer which can enable multiple font
> > engines at a time :), including FreeType at no performance hit.
>
> > > What other issues, not directly related to the font engine, do you want
> > to support ?
> > Lokesh>> Some of these are mentioned above, trying to assimilate the
> > positives (which are not in Android right now) the same below:
> > 1. Easy integration of any third party engine
> > 2. Allowing more than one font engine active at a time.
> > 3. Allowing multiple engines to support multiple formats.
> > 4. Access on DLL level to font engine in case of proprietary font
> > formats.
> > 5. Another level of modularity in Android for Font Engine support.
>
> > Please note that Bitstream will try to propose the sample
> > implementation of the OpenFontManager and the sample implementation of
> > OFMInst based on FreeType. There is no performance degradation.
> > Please let us know in case of further queries.
>
> > Regards
> > Lokesh
>
> > > On Tue, May 25, 2010 at 5:02 AM, Bitstream Inc <bitsandr...@gmail.com
> > >wrote:
>
> > On May 28, 5:12 am, David Turner <di...@android.com> wrote:
> > > Is there any documentation about the Open Font Manager project anywhere ?
> > > I could not find anything through a search engine.
>
> > > Can you describe what you plan to implement through this?. As far as I
> > > understand,
> > > a font engine provider can already provide a FreeType-compatible API on
> > top
> > > of their
> > > own engine and their client use it through a local manifest that redirect
> > > external/freetype.
>
> > > Do you plan to add another abstraction layer to talk to the font engine ?
>
> > > What other issues, not directly related to the font engine, do you want
> > to
> > > support ?
>
> > > On Tue, May 25, 2010 at 5:02 AM, Bitstream Inc <bitsandr...@gmail.com
> > >wrote:
>
> > > > Hi,
> > > > Any update on this. I request to please add this project so that we
> > > > can begin proposing the changes for very configurable font rendering
> > > > engine system in Android.
> > > > Regards,
> > > > Lokesh
>
> > > > On May 5, 7:18 pm, Bitstream Inc <bitsandr...@gmail.com> wrote:
> > > > > Hi,
> > > > > On Behalf of Bitstream Inc, I request to please create a directory/
> > > > > project for Open Font Manager. The path can be external/ofm.
> > > > > This new approach proposed by Bitstream Inc will allow to plugin any
> > > > > font engine apart from/or with FreeType.
> > > > > This will be very much valuable for the OEMs who may need the
> > > > > different engine than/with freetype or a set of engines to support
> > the
> > > > > localization issues or new font formats.
> > > > > This new proposal also enables Android to support more than one font
> > > > > engine dynamically at runtime. This is very common in BREW and
> > > > > Symbian, and Bitstream Inc wishes to add the same functionality to
> > > > > Android. It is also possible to achieve more rendering performance
> > > > > with very much customized or well tuned engines for a particular
> > > > > hardware.
> > > > > Regards,
> > > > > Lokesh
>
> > > > > --
> > > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "android-coretech" group.
> > > > > To post to this group, send email to
> > android-...@googlegroups.com.
> > > > > To unsubscribe from this group, send email to
> > > > android-corete...@googlegroups.com<android-coretech%2Bunsu...@googlegroups.com>
>> > <android-coretech%2Bunsu...@googlegroups.com<android-coretech%252Buns...@googlegroups.com>
> > > > .
> > > > > For more options, visit this group athttp://
> > > > groups.google.com/group/android-coretech?hl=en.
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "android-coretech" group.
> > > > To post to this group, send email to android-...@googlegroups.com
> > .
> > > > To unsubscribe from this group, send email to
> > > > android-corete...@googlegroups.com<android-coretech%2Bunsu...@googlegroups.com>
>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/android-coretech?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "android-coretech" group.
> > To post to this group, send email to android-...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > android-corete...@googlegroups.com<android-coretech%2Bunsu...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/android-coretech?hl=en.
--
You received this message because you are subscribed to the Google Groups "android-coretech" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-corete...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-coretech?hl=en.
https://review.source.android.com/#change,20070
and
https://review.source.android.com/#change,20071
Please suggest if any changes are needed or any comments.
Regards
Lokesh
---------- Forwarded message ----------
From: Gaurav
Date: Sep 21 2010, 5:37 pm
Subject: Request for creation of Project for Open Font Manager
To: Android Contributors
Hi Shawn,
We are ready to submit the patches for Font Engine Manager and
FreeType based plugin implementation for review. Can we have following
directory created in the Android source tree so that we can submit the
source code.
external/fontengines/freetype
David is agreed with the proposal document and now ready to review the
source code. Please find below the discussion thread for your
reference :http://groups.google.com/group/android-contrib/
browse_thread/thread/c...
> Director, R&D
> Bitstream Inc.
> > Hello,
> > - David
> > > > > > >> Hello,
> > > > > > >> +cc android-contrib, +bcc android-coretech
> > > > > > >> - David
> > > > > > >>> > I
...
read more
Hi David
Please help regarding the same. We need your help to get the font engine framework to Android. We have been getting many OEM requests for the same as there are legacy and proprietary font formats also which OEMs will be making use of. Plus this addition opens the way to support any advanced rendering engine to Android.
Regards,
Lokesh
Director, R&D, Bitstream
On Jun 9, 12:59 pm, David Turner <di...@android.com> wrote:
> Hello guys,
>
> On Mon, May 30, 2011 at 10:45 AM, Bitstream Inc <bitsandr...@gmail.com>wrote:
>
> > Hi David
> > Please help regarding the same. We need your help to get the font engine
> > framework to Android. We have been getting many OEM requests for the same as
> > there are legacy and proprietary font formats also which OEMs will be making
> > use of. Plus this addition opens the way to support any advanced rendering
> > engine to Android.
>
> I'm really sorry, I've been very busy. I'll try to review your patch early
> next week. Ping me again if I havent' done it by Wednesday.
>
> Regards
>
> - Digit
>
>
>
>
>
>
>
> > Lokesh
> > Director, R&D, Bitstream
>
> ...
>
> read more »
On Mar 3, 4:11 pm, Bitstream Inc <bitsandr...@gmail.com> wrote:
> Hi David
> Has been a while regarding the project. The code has been submitted on Jan
> 18, 2011 with all comments fixed. Please help. A review from you would be of
> a great help.
> Regards
> Lokesh
>
> ...
>
> read more »