"Failed to load Main-Class manifest attribute from subsetter.jar"

58 views
Skip to first unread message

yaoz...@gmail.com

unread,
Jan 22, 2013, 10:15:26 AM1/22/13
to sfntly...@googlegroups.com
Hello,

I know no java. I'm interested in sfntly's subsetter because I want to subset Charis SIL (a Graphite font) to certain Unicode ranges.

Building sfntly by "ant" was successful but running java -jar subsetter.jar returns an error:

Failed to load Main-Class manifest attribute from
subsetter.jar

What's wrong? And can subsetter subset a Graphite font correctly?

tinn...@yahoo.com

unread,
Jan 23, 2013, 11:29:23 PM1/23/13
to sfntly...@googlegroups.com, yaoz...@gmail.com
By itself, subsetter.jar is not directly usable and has no main class - hence the error. Check out sfnttool instead, and maybe modify it so you can give it a range to subset. I have no clue if subsetting will have any effect on how the font displays though (just try it and see if it looks different I guess!)

Brian Stell

unread,
Jan 25, 2013, 3:00:14 PM1/25/13
to sfntly...@googlegroups.com, yaoz...@gmail.com
My guess is sfntly will not be able to help you. The sfntly library currently supports OpenType fonts with with TrueType outlines. My understanding is SIL fonts have different tables to address certain languages. Without support for those tables it is unclear what a sfntly based subsetter would even be able to do.

Stuart Gill

unread,
Jan 25, 2013, 5:50:05 PM1/25/13
to sfntly...@googlegroups.com, yaoz...@gmail.com
As has been said earlier, subsetter.jar is not a runnable jar. It is a library for use by other code. To make it work as a command line tool a piece of driver code to parse the command line and then call the library correctly will need to be written.

Also, sfntly doesn't currently have any specific support for the Graphite font tables. The Graphite specific tables are for layout (equivalent to the OpenType advanced layout tables -  GSUB, GPOS, GDEF). sfntly won't mangle them but it can't read or edit them except at the most basic byte level. You could subset the font, if you wrote the code for it, but you would only be able to remove the glyphs which are likely in TrueType outline format. You wouldn't be able to subset the Graphite layout tables. Because of that you would also have to make sure to not renumber the glyphs since that would invalidate the Graphite tables.

There's currently no plans for supporting the Graphite tables though I would be happy to have somebody take that work up.

Stuart



--
 
 

Ziyuan Yao

unread,
Jan 25, 2013, 6:57:09 PM1/25/13
to Stuart Gill, sfntly...@googlegroups.com
Hi,

Thank all of you for your comments. I've checked out sfntly's cpp and java source code and played with its demos and got the same conclusion. Subsetting SIL fonts isn't a must for me so I've decided to leave them as-is. As a side note, even SIL's own FontUtils' "ttfsubset" tool can't subset Graphite fonts. SIL fonts are kind of very unique in the font world which only they can generate correctly. Also, SIL has their own plan to make subsets: http://scripts.sil.org/cms/scripts/page.php?item_id=FontSubsets
Reply all
Reply to author
Forward
0 new messages