Closed Bug 479548 Opened 11 years ago Closed 9 years ago

Need "Agfa AC3 Font Compression and Decompression" support

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Windows Mobile 6 Professional
defect
Not set

Tracking

(fennec1.0-)

RESOLVED WONTFIX
Tracking Status
fennec 1.0- ---

People

(Reporter: hiro, Assigned: ashie)

References

Details

(Keywords: mobile, Whiteboard: mothballed)

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.0.4) Gecko/20060508 Firefox/3.0
Build Identifier: 

Windows Mobile for East Asia uses AC3 Font <http://msdn.microsoft.com/en-us/library/ms925032.aspx>.

We need it to display our own characters.


Reproducible: Always
Keywords: mobile
OS: Other → Windows Mobile 6 Professional
Hardware: Other → ARM
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: wanted-fennec1.0?
vlad: is this something we need?
We might, it turns out, though it's not going to be critical initially.  But the device CJK fonts are probably going to be AC3 compressed, so we'll either have to figure out how to get it into freetype, or, if available, hook into the custom font renderer stuff on CE6 (and presumably in the winmo based on CE6).
tracking-fennec: --- → 1.0-wm+
for what its worth, there was discussion on the ft-devel list about this and its apparently a no go for them because of patent issues.  I haven't looked at it, but I suspect we'd have the same issues.

http://www.mail-archive.com/freetype-devel@nongnu.org/msg02440.html
As far as I can investigate, the specification of AC3 font (i.e. MicroType® Express (MTX) Font Format) was submitted to W3C <http://www.w3.org/Submission/MTX/>. But unfortunately Monotype Imaging has the patent.

So we can handle AC3 font only through Windows APIs. I guess the APIs must be Uniscribe on CE6 as Vladimir said.
The W3C submission only covers part of this, the compression in that case covers the entire glyph table.  The docs describe AC3 as allowing per-glyph compression/decompression.  My guess is we need more info from Microsoft and/or Monotype for this, or we need to reverse engineer it.  MicroType in general is patent-encumbered, so any implementation will probably have legal issues.  The format has been submitted to W3C but until it is included in a recommendation we would probably need a license from Monotype to implement.

A hacky way around this might be to use GetFontData to pull out an uncompressed version of the glyp table and reconstruct and normal uncompressed TrueType font.
Wow! If GetFontData can pull out uncompressed data, we can presumably use FT_Stream.
I can't imagine that it can -- it just bangs whatever the table is in the file back at you, no?  http://msdn.microsoft.com/en-us/library/aa911428.aspx doesn't mention it being smart in any way.
Although I confirmed that an uncompressed image for an AC3 font can be
obtained using GetFontData (you may confirm it with attached dirty patch),
unfortunately this way seems far from usable.
Because calling GetFontData() for AC3 fonts seems very unstable.
Sometimes succeeds, but sometimes fails. 
And once a function call is failed, it never returns AC3 font data anymore
until the user reset the device.
Loading some bigger tables in a AC3 font can easily reproduce this issue.
(You'll fail it when you load fonts in msgothic.ac3 file twice.)

TTF fonts seems fine with this code although it's meaningless...

I'm suspecting the AC3 font driver...
Attached patch Test patch V2Splinter Review
Added some missing TTF tables to fix broken layout with MS Gothic.

BTW, to test thie patch, you have to do soft-reset after the first lauch of the fennec due to the issue I mentioned before.
Attachment #379065 - Attachment is obsolete: true
Flags: wanted-fennec1.0? → wanted-fennec1.0+
Assignee: nobody → ashie
Status: NEW → ASSIGNED
Flags: wanted-fennec1.0+
We're going to use the application fonts implemented in bug 491305 to work around this problem for fennec 1.0, so it is no longer blocking.
tracking-fennec: 1.0-wm+ → 1.0-
Flags: wanted-fennec1.0+
tracking-fennec: 1.0- → ?
tracking-fennec: ? → 1.0-wm+
As noted above, we have a work around for this so there is no reason to block for it.
tracking-fennec: 1.0-wm+ → 1.0-
Blocks: 503260
This year we mothballed windows mobile development.  See:

  http://blog.pavlov.net/2010/03/22/stopping-development-for-windows-mobile/

Marking bugs in the windows mobile / windows ce bucket as WONTFIX.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
Whiteboard: mothballed
You need to log in before you can comment on or make changes to this bug.