From 09dded3d8606e8e4406fffcf477ceb4a1c97fee2 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Thu, 28 Oct 2010 15:39:14 +0200 Subject: [PATCH] good pdf, some general updates --- AUTHORS.md | 1 + README.md | 3 +- librarian/epub.py | 48 ++-- .../font-optimizer}/.hg/00changelog.i | Bin .../font-optimizer}/.hg/branch | 0 .../font-optimizer}/.hg/branchheads.cache | 0 .../font-optimizer}/.hg/dirstate | Bin .../font-optimizer}/.hg/hgrc | 0 .../font-optimizer}/.hg/requires | 0 .../font-optimizer}/.hg/store/00changelog.i | Bin .../font-optimizer}/.hg/store/00manifest.i | Bin .../.hg/store/data/.hgignore.i | Bin .../.hg/store/data/_font/_e_o_t_wrapper.pm.i | Bin .../.hg/store/data/_font/_subsetter.pm.i | Bin .../_font/_subsetter/_normalization_data.pm.i | Bin .../data/_font/_subsetter/create-data.pl.i | Bin .../.hg/store/data/_l_i_c_e_n_s_e.i | Bin .../.hg/store/data/_r_e_a_d_m_e.txt.i | Bin .../.hg/store/data/convert-eot.pl.i | Bin .../store/data/ext/_font-_t_t_f/.cvsignore.i | Bin .../data/ext/_font-_t_t_f/_c_o_p_y_i_n_g.i | Bin .../store/data/ext/_font-_t_t_f/_changes.i | Bin .../_font-_t_t_f/_m_a_n_i_f_e_s_t._s_k_i_p.i | Bin .../data/ext/_font-_t_t_f/_makefile._p_l.i | Bin .../ext/_font-_t_t_f/_r_e_a_d_m_e._t_x_t.i | Bin .../store/data/ext/_font-_t_t_f/_t_o_d_o.i | Bin .../ext/_font-_t_t_f/lib/_font/_t_t_f.pm.i | Bin .../lib/_font/_t_t_f/_a_a_t_kern.pm.i | Bin .../lib/_font/_t_t_f/_a_a_tutils.pm.i | Bin .../lib/_font/_t_t_f/_anchor.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_bsln.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_changes.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_cmap.pm.i | Bin .../lib/_font/_t_t_f/_coverage.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_cvt__.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_delta.pm.i | Bin .../lib/_font/_t_t_f/_dumper.pm.i | Bin .../lib/_font/_t_t_f/_e_b_d_t.pm.i | Bin .../lib/_font/_t_t_f/_e_b_l_c.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_fdsc.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_feat.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_fmtx.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_font.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_fpgm.pm.i | Bin .../lib/_font/_t_t_f/_g_d_e_f.pm.i | Bin .../lib/_font/_t_t_f/_g_p_o_s.pm.i | Bin .../lib/_font/_t_t_f/_g_s_u_b.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_glyf.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_glyph.pm.i | Bin .../lib/_font/_t_t_f/_gr_feat.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_hdmx.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_head.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_hhea.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_hmtx.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_kern.pm.i | Bin .../lib/_font/_t_t_f/_kern/_class_array.pm.i | Bin .../_t_t_f/_kern/_compact_class_array.pm.i | Bin .../lib/_font/_t_t_f/_kern/_ordered_list.pm.i | Bin .../lib/_font/_t_t_f/_kern/_state_table.pm.i | Bin .../lib/_font/_t_t_f/_kern/_subtable.pm.i | Bin .../lib/_font/_t_t_f/_l_t_s_h.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_loca.pm.i | Bin .../lib/_font/_t_t_f/_manual.pod.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_maxp.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_mort.pm.i | Bin .../lib/_font/_t_t_f/_mort/_chain.pm.i | Bin .../lib/_font/_t_t_f/_mort/_contextual.pm.i | Bin .../lib/_font/_t_t_f/_mort/_insertion.pm.i | Bin .../lib/_font/_t_t_f/_mort/_ligature.pm.i | Bin .../_font/_t_t_f/_mort/_noncontextual.pm.i | Bin .../_font/_t_t_f/_mort/_rearrangement.pm.i | Bin .../lib/_font/_t_t_f/_mort/_subtable.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_name.pm.i | Bin .../lib/_font/_t_t_f/_o_s__2.pm.i | Bin .../lib/_font/_t_t_f/_o_t_tags.pm.i | Bin .../lib/_font/_t_t_f/_old_cmap.pm.i | Bin .../lib/_font/_t_t_f/_old_mort.pm.i | Bin .../lib/_font/_t_t_f/_p_c_l_t.pm.i | Bin .../lib/_font/_t_t_f/_p_s_names.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_post.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_prep.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_prop.pm.i | Bin .../lib/_font/_t_t_f/_segarr.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_sill.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_table.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_ttc.pm.i | Bin .../lib/_font/_t_t_f/_ttopen.pm.i | Bin .../lib/_font/_t_t_f/_useall.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_utils.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_vhea.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_vmtx.pm.i | Bin .../_font-_t_t_f/lib/_font/_t_t_f/_win32.pm.i | Bin .../lib/_font/_t_t_f/_x_m_lparse.pm.i | Bin .../data/ext/_font-_t_t_f/lib/ttfmod.pl.i | Bin .../data/ext/_font-_t_t_f/t/_o_f_l.txt.i | Bin .../store/data/ext/_font-_t_t_f/t/tags.t.i | Bin .../data/ext/_font-_t_t_f/t/testfont.ttf.i | Bin .../store/data/ext/_font-_t_t_f/t/ttfcopy.t.i | Bin .../.hg/store/data/gen-tests.pl.i | Bin .../.hg/store/data/list-features.pl.i | Bin .../.hg/store/data/modify-names.pl.i | Bin .../.hg/store/data/obfuscate-font.pl.i | Bin .../.hg/store/data/obfuscate-names.pl.i | Bin .../.hg/store/data/subset.pl.i | Bin .../.hg/store/data/t/subsetter.pl.i | Bin .../font-optimizer}/.hg/store/fncache | 0 .../font-optimizer}/.hg/store/undo | Bin .../font-optimizer}/.hg/tags.cache | 0 .../font-optimizer}/.hg/undo.branch | 0 .../font-optimizer}/.hg/undo.desc | 0 .../font-optimizer}/.hg/undo.dirstate | 0 .../font-optimizer}/.hgignore | 0 .../font-optimizer}/Font/EOTWrapper.pm | 0 .../font-optimizer}/Font/Subsetter.pm | 0 .../Font/Subsetter/NormalizationData.pm | 0 .../Font/Subsetter/create-data.pl | 0 .../font-optimizer}/LICENSE | 0 .../font-optimizer}/README.txt | 0 .../font-optimizer}/convert-eot.pl | 0 .../font-optimizer}/ext/Font-TTF/.cvsignore | 0 .../font-optimizer}/ext/Font-TTF/COPYING | 0 .../font-optimizer}/ext/Font-TTF/Changes | 0 .../ext/Font-TTF/MANIFEST.SKIP | 0 .../font-optimizer}/ext/Font-TTF/Makefile.PL | 0 .../font-optimizer}/ext/Font-TTF/README.TXT | 0 .../font-optimizer}/ext/Font-TTF/TODO | 0 .../ext/Font-TTF/lib/Font/TTF.pm | 0 .../ext/Font-TTF/lib/Font/TTF/AATKern.pm | 0 .../ext/Font-TTF/lib/Font/TTF/AATutils.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Anchor.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Bsln.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Changes | 0 .../ext/Font-TTF/lib/Font/TTF/Cmap.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Coverage.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Cvt_.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Delta.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Dumper.pm | 0 .../ext/Font-TTF/lib/Font/TTF/EBDT.pm | 0 .../ext/Font-TTF/lib/Font/TTF/EBLC.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Fdsc.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Feat.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Fmtx.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Font.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Fpgm.pm | 0 .../ext/Font-TTF/lib/Font/TTF/GDEF.pm | 0 .../ext/Font-TTF/lib/Font/TTF/GPOS.pm | 0 .../ext/Font-TTF/lib/Font/TTF/GSUB.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Glyf.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Glyph.pm | 0 .../ext/Font-TTF/lib/Font/TTF/GrFeat.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Hdmx.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Head.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Hhea.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Hmtx.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Kern.pm | 0 .../Font-TTF/lib/Font/TTF/Kern/ClassArray.pm | 0 .../lib/Font/TTF/Kern/CompactClassArray.pm | 0 .../Font-TTF/lib/Font/TTF/Kern/OrderedList.pm | 0 .../Font-TTF/lib/Font/TTF/Kern/StateTable.pm | 0 .../Font-TTF/lib/Font/TTF/Kern/Subtable.pm | 0 .../ext/Font-TTF/lib/Font/TTF/LTSH.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Loca.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Manual.pod | 0 .../ext/Font-TTF/lib/Font/TTF/Maxp.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Mort.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Mort/Chain.pm | 0 .../Font-TTF/lib/Font/TTF/Mort/Contextual.pm | 0 .../Font-TTF/lib/Font/TTF/Mort/Insertion.pm | 0 .../Font-TTF/lib/Font/TTF/Mort/Ligature.pm | 0 .../lib/Font/TTF/Mort/Noncontextual.pm | 0 .../lib/Font/TTF/Mort/Rearrangement.pm | 0 .../Font-TTF/lib/Font/TTF/Mort/Subtable.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Name.pm | 0 .../ext/Font-TTF/lib/Font/TTF/OS_2.pm | 0 .../ext/Font-TTF/lib/Font/TTF/OTTags.pm | 0 .../ext/Font-TTF/lib/Font/TTF/OldCmap.pm | 0 .../ext/Font-TTF/lib/Font/TTF/OldMort.pm | 0 .../ext/Font-TTF/lib/Font/TTF/PCLT.pm | 0 .../ext/Font-TTF/lib/Font/TTF/PSNames.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Post.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Prep.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Prop.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Segarr.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Sill.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Table.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Ttc.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Ttopen.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Useall.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Utils.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Vhea.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Vmtx.pm | 0 .../ext/Font-TTF/lib/Font/TTF/Win32.pm | 0 .../ext/Font-TTF/lib/Font/TTF/XMLparse.pm | 0 .../ext/Font-TTF/lib/ttfmod.pl | 0 .../font-optimizer}/ext/Font-TTF/t/OFL.txt | 0 .../font-optimizer}/ext/Font-TTF/t/tags.t | 0 .../ext/Font-TTF/t/testfont.ttf | Bin .../font-optimizer}/ext/Font-TTF/t/ttfcopy.t | 0 .../font-optimizer}/gen-tests.pl | 0 .../font-optimizer}/list-features.pl | 0 .../font-optimizer}/modify-names.pl | 0 .../font-optimizer}/obfuscate-font.pl | 0 .../font-optimizer}/subset.pl | 0 .../font-optimizer}/t/subsetter.pl | 0 librarian/pdf.py | 217 ++++++++++++------ librarian/pdf/wl.sty | 13 +- librarian/xslt/wl2tex.xslt | 85 ++++--- scripts/book2epub | 38 +++ scripts/book2pdf | 40 ++++ setup.py | 22 +- 210 files changed, 316 insertions(+), 151 deletions(-) rename {font-optimizer => librarian/font-optimizer}/.hg/00changelog.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/branch (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/branchheads.cache (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/dirstate (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/hgrc (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/requires (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/00changelog.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/00manifest.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/.hgignore.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/_font/_e_o_t_wrapper.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/_font/_subsetter.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/_font/_subsetter/_normalization_data.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/_font/_subsetter/create-data.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/_l_i_c_e_n_s_e.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/_r_e_a_d_m_e.txt.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/convert-eot.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/.cvsignore.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/_c_o_p_y_i_n_g.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/_changes.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/_m_a_n_i_f_e_s_t._s_k_i_p.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/_makefile._p_l.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/_r_e_a_d_m_e._t_x_t.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/_t_o_d_o.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_t_kern.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_tutils.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_anchor.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_bsln.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_changes.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cmap.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_coverage.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cvt__.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_delta.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_dumper.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_d_t.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_l_c.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fdsc.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_feat.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fmtx.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_font.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fpgm.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_d_e_f.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_p_o_s.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_s_u_b.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyf.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyph.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_gr_feat.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hdmx.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_head.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hhea.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hmtx.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_class_array.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_compact_class_array.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_ordered_list.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_state_table.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_subtable.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_l_t_s_h.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_loca.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_manual.pod.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_maxp.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_chain.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_contextual.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_insertion.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_ligature.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_noncontextual.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_rearrangement.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_subtable.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_name.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_s__2.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_t_tags.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_cmap.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_mort.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_c_l_t.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_s_names.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_post.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prep.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prop.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_segarr.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_sill.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_table.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttc.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttopen.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_useall.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_utils.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vhea.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vmtx.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_win32.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_x_m_lparse.pm.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/lib/ttfmod.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/t/_o_f_l.txt.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/t/tags.t.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/t/testfont.ttf.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/ext/_font-_t_t_f/t/ttfcopy.t.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/gen-tests.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/list-features.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/modify-names.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/obfuscate-font.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/obfuscate-names.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/subset.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/data/t/subsetter.pl.i (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/fncache (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/store/undo (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/tags.cache (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/undo.branch (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/undo.desc (100%) rename {font-optimizer => librarian/font-optimizer}/.hg/undo.dirstate (100%) rename {font-optimizer => librarian/font-optimizer}/.hgignore (100%) rename {font-optimizer => librarian/font-optimizer}/Font/EOTWrapper.pm (100%) rename {font-optimizer => librarian/font-optimizer}/Font/Subsetter.pm (100%) rename {font-optimizer => librarian/font-optimizer}/Font/Subsetter/NormalizationData.pm (100%) rename {font-optimizer => librarian/font-optimizer}/Font/Subsetter/create-data.pl (100%) rename {font-optimizer => librarian/font-optimizer}/LICENSE (100%) rename {font-optimizer => librarian/font-optimizer}/README.txt (100%) rename {font-optimizer => librarian/font-optimizer}/convert-eot.pl (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/.cvsignore (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/COPYING (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/Changes (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/MANIFEST.SKIP (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/Makefile.PL (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/README.TXT (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/TODO (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/AATKern.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/AATutils.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Anchor.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Bsln.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Changes (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Cmap.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Coverage.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Cvt_.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Delta.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Dumper.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/EBDT.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/EBLC.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Fdsc.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Feat.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Fmtx.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Font.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Fpgm.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/GDEF.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/GPOS.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/GSUB.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Glyf.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Glyph.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/GrFeat.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Hdmx.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Head.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Hhea.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Hmtx.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Kern.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Kern/CompactClassArray.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Kern/OrderedList.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Kern/StateTable.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Kern/Subtable.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/LTSH.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Loca.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Manual.pod (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Maxp.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort/Chain.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort/Contextual.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort/Insertion.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort/Ligature.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort/Noncontextual.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort/Rearrangement.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Mort/Subtable.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Name.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/OS_2.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/OTTags.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/OldCmap.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/OldMort.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/PCLT.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/PSNames.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Post.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Prep.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Prop.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Segarr.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Sill.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Table.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Ttc.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Ttopen.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Useall.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Utils.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Vhea.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Vmtx.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/Win32.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/Font/TTF/XMLparse.pm (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/lib/ttfmod.pl (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/t/OFL.txt (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/t/tags.t (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/t/testfont.ttf (100%) rename {font-optimizer => librarian/font-optimizer}/ext/Font-TTF/t/ttfcopy.t (100%) rename {font-optimizer => librarian/font-optimizer}/gen-tests.pl (100%) rename {font-optimizer => librarian/font-optimizer}/list-features.pl (100%) rename {font-optimizer => librarian/font-optimizer}/modify-names.pl (100%) rename {font-optimizer => librarian/font-optimizer}/obfuscate-font.pl (100%) rename {font-optimizer => librarian/font-optimizer}/subset.pl (100%) rename {font-optimizer => librarian/font-optimizer}/t/subsetter.pl (100%) create mode 100755 scripts/book2epub create mode 100755 scripts/book2pdf diff --git a/AUTHORS.md b/AUTHORS.md index 04c134c..0482d09 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -6,3 +6,4 @@ Originally written by Marek Stępniowski Later contributions: * Łukasz Rekucki + * Radek Czajka diff --git a/README.md b/README.md index a84d45f..ea80c92 100755 --- a/README.md +++ b/README.md @@ -80,4 +80,5 @@ Originally written by Marek Stępniowski Later contributions: - * Łukasz Rekucki \ No newline at end of file + * Łukasz Rekucki + * Radek Czajka \ No newline at end of file diff --git a/librarian/epub.py b/librarian/epub.py index e992f40..3ee487a 100644 --- a/librarian/epub.py +++ b/librarian/epub.py @@ -15,7 +15,6 @@ from tempfile import mkdtemp from shutil import rmtree import sys -sys.path.append('..') # for running from working copy from librarian import XMLNamespace, RDFNS, DCNS, WLNS, NCXNS, OPFNS, NoDublinCore from librarian.dcparser import BookInfo @@ -263,12 +262,14 @@ def transform_chunk(chunk_xml, chunk_no, annotations): return output_html, toc, chars -def transform(provider, slug, output_file=None, output_dir=None): - """ produces an epub +def transform(provider, slug, output_file=None, output_dir=None, make_dir=False): + """ produces a EPUB file - provider is a DocProvider - either output_file (a file-like object) or output_dir (path to file/dir) should be specified - if output_dir is specified, file will be written to //.epub + provider: a DocProvider + slug: slug of file to process, available by provider + output_file: file-like object or path to output file + output_dir: path to directory to save output file to; either this or output_file must be present + make_dir: writes output to //.epub instead of /.epub """ def transform_file(input_xml, chunk_counter=1, first=True): @@ -336,14 +337,14 @@ def transform(provider, slug, output_file=None, output_dir=None): # if output to dir, create the file if output_dir is not None: - author = unicode(book_info.author) - author_dir = os.path.join(output_dir, author) - try: - os.makedirs(author_dir) - except OSError: - pass - output_file = open(os.path.join(author_dir, '%s.epub' % slug), 'w') - + if make_dir: + author = unicode(book_info.author) + output_dir = os.path.join(output_dir, author) + try: + os.makedirs(output_dir) + except OSError: + pass + output_file = open(os.path.join(output_dir, '%s.epub' % slug), 'w') zip = zipfile.ZipFile(output_file, 'w', zipfile.ZIP_DEFLATED) @@ -401,9 +402,9 @@ def transform(provider, slug, output_file=None, output_dir=None): tmpdir = mkdtemp('-librarian-epub') cwd = os.getcwd() - os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../font-optimizer')) + os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'font-optimizer')) for fname in 'DejaVuSerif.ttf', 'DejaVuSerif-Bold.ttf', 'DejaVuSerif-Italic.ttf', 'DejaVuSerif-BoldItalic.ttf': - subprocess.check_call(['./subset.pl', '--chars', ''.join(chars).encode('utf-8'), res('../fonts/' + fname), os.path.join(tmpdir, fname)]) + subprocess.check_call(['perl', 'subset.pl', '--chars', ''.join(chars).encode('utf-8'), res('../fonts/' + fname), os.path.join(tmpdir, fname)]) zip.write(os.path.join(tmpdir, fname), os.path.join('OPS', fname)) rmtree(tmpdir) os.chdir(cwd) @@ -422,18 +423,3 @@ def transform(provider, slug, output_file=None, output_dir=None): set_inner_xml(toc_file[1], ''.join(('', title, ''))) zip.writestr('OPS/toc.ncx', etree.tostring(toc_file, pretty_print=True)) zip.close() - - -if __name__ == '__main__': - from librarian import DirDocProvider - - if len(sys.argv) < 2: - print >> sys.stderr, 'Usage: python epub.py ' - sys.exit(1) - - main_input = sys.argv[1] - basepath, ext = os.path.splitext(main_input) - path, slug = os.path.realpath(basepath).rsplit('/', 1) - provider = DirDocProvider(path) - transform(provider, slug, output_dir=path) - diff --git a/font-optimizer/.hg/00changelog.i b/librarian/font-optimizer/.hg/00changelog.i similarity index 100% rename from font-optimizer/.hg/00changelog.i rename to librarian/font-optimizer/.hg/00changelog.i diff --git a/font-optimizer/.hg/branch b/librarian/font-optimizer/.hg/branch similarity index 100% rename from font-optimizer/.hg/branch rename to librarian/font-optimizer/.hg/branch diff --git a/font-optimizer/.hg/branchheads.cache b/librarian/font-optimizer/.hg/branchheads.cache similarity index 100% rename from font-optimizer/.hg/branchheads.cache rename to librarian/font-optimizer/.hg/branchheads.cache diff --git a/font-optimizer/.hg/dirstate b/librarian/font-optimizer/.hg/dirstate similarity index 100% rename from font-optimizer/.hg/dirstate rename to librarian/font-optimizer/.hg/dirstate diff --git a/font-optimizer/.hg/hgrc b/librarian/font-optimizer/.hg/hgrc similarity index 100% rename from font-optimizer/.hg/hgrc rename to librarian/font-optimizer/.hg/hgrc diff --git a/font-optimizer/.hg/requires b/librarian/font-optimizer/.hg/requires similarity index 100% rename from font-optimizer/.hg/requires rename to librarian/font-optimizer/.hg/requires diff --git a/font-optimizer/.hg/store/00changelog.i b/librarian/font-optimizer/.hg/store/00changelog.i similarity index 100% rename from font-optimizer/.hg/store/00changelog.i rename to librarian/font-optimizer/.hg/store/00changelog.i diff --git a/font-optimizer/.hg/store/00manifest.i b/librarian/font-optimizer/.hg/store/00manifest.i similarity index 100% rename from font-optimizer/.hg/store/00manifest.i rename to librarian/font-optimizer/.hg/store/00manifest.i diff --git a/font-optimizer/.hg/store/data/.hgignore.i b/librarian/font-optimizer/.hg/store/data/.hgignore.i similarity index 100% rename from font-optimizer/.hg/store/data/.hgignore.i rename to librarian/font-optimizer/.hg/store/data/.hgignore.i diff --git a/font-optimizer/.hg/store/data/_font/_e_o_t_wrapper.pm.i b/librarian/font-optimizer/.hg/store/data/_font/_e_o_t_wrapper.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/_font/_e_o_t_wrapper.pm.i rename to librarian/font-optimizer/.hg/store/data/_font/_e_o_t_wrapper.pm.i diff --git a/font-optimizer/.hg/store/data/_font/_subsetter.pm.i b/librarian/font-optimizer/.hg/store/data/_font/_subsetter.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/_font/_subsetter.pm.i rename to librarian/font-optimizer/.hg/store/data/_font/_subsetter.pm.i diff --git a/font-optimizer/.hg/store/data/_font/_subsetter/_normalization_data.pm.i b/librarian/font-optimizer/.hg/store/data/_font/_subsetter/_normalization_data.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/_font/_subsetter/_normalization_data.pm.i rename to librarian/font-optimizer/.hg/store/data/_font/_subsetter/_normalization_data.pm.i diff --git a/font-optimizer/.hg/store/data/_font/_subsetter/create-data.pl.i b/librarian/font-optimizer/.hg/store/data/_font/_subsetter/create-data.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/_font/_subsetter/create-data.pl.i rename to librarian/font-optimizer/.hg/store/data/_font/_subsetter/create-data.pl.i diff --git a/font-optimizer/.hg/store/data/_l_i_c_e_n_s_e.i b/librarian/font-optimizer/.hg/store/data/_l_i_c_e_n_s_e.i similarity index 100% rename from font-optimizer/.hg/store/data/_l_i_c_e_n_s_e.i rename to librarian/font-optimizer/.hg/store/data/_l_i_c_e_n_s_e.i diff --git a/font-optimizer/.hg/store/data/_r_e_a_d_m_e.txt.i b/librarian/font-optimizer/.hg/store/data/_r_e_a_d_m_e.txt.i similarity index 100% rename from font-optimizer/.hg/store/data/_r_e_a_d_m_e.txt.i rename to librarian/font-optimizer/.hg/store/data/_r_e_a_d_m_e.txt.i diff --git a/font-optimizer/.hg/store/data/convert-eot.pl.i b/librarian/font-optimizer/.hg/store/data/convert-eot.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/convert-eot.pl.i rename to librarian/font-optimizer/.hg/store/data/convert-eot.pl.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/.cvsignore.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/.cvsignore.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/.cvsignore.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/.cvsignore.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_c_o_p_y_i_n_g.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_c_o_p_y_i_n_g.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/_c_o_p_y_i_n_g.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_c_o_p_y_i_n_g.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_changes.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_changes.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/_changes.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_changes.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_m_a_n_i_f_e_s_t._s_k_i_p.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_m_a_n_i_f_e_s_t._s_k_i_p.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/_m_a_n_i_f_e_s_t._s_k_i_p.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_m_a_n_i_f_e_s_t._s_k_i_p.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_makefile._p_l.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_makefile._p_l.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/_makefile._p_l.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_makefile._p_l.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_r_e_a_d_m_e._t_x_t.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_r_e_a_d_m_e._t_x_t.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/_r_e_a_d_m_e._t_x_t.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_r_e_a_d_m_e._t_x_t.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_t_o_d_o.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_t_o_d_o.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/_t_o_d_o.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/_t_o_d_o.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_t_kern.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_t_kern.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_t_kern.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_t_kern.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_tutils.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_tutils.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_tutils.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_a_a_tutils.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_anchor.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_anchor.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_anchor.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_anchor.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_bsln.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_bsln.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_bsln.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_bsln.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_changes.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_changes.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_changes.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_changes.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cmap.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cmap.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cmap.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cmap.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_coverage.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_coverage.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_coverage.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_coverage.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cvt__.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cvt__.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cvt__.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_cvt__.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_delta.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_delta.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_delta.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_delta.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_dumper.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_dumper.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_dumper.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_dumper.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_d_t.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_d_t.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_d_t.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_d_t.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_l_c.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_l_c.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_l_c.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_e_b_l_c.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fdsc.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fdsc.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fdsc.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fdsc.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_feat.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_feat.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_feat.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_feat.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fmtx.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fmtx.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fmtx.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fmtx.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_font.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_font.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_font.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_font.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fpgm.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fpgm.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fpgm.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_fpgm.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_d_e_f.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_d_e_f.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_d_e_f.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_d_e_f.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_p_o_s.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_p_o_s.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_p_o_s.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_p_o_s.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_s_u_b.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_s_u_b.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_s_u_b.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_g_s_u_b.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyf.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyf.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyf.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyf.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyph.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyph.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyph.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_glyph.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_gr_feat.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_gr_feat.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_gr_feat.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_gr_feat.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hdmx.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hdmx.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hdmx.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hdmx.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_head.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_head.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_head.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_head.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hhea.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hhea.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hhea.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hhea.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hmtx.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hmtx.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hmtx.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_hmtx.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_class_array.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_class_array.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_class_array.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_class_array.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_compact_class_array.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_compact_class_array.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_compact_class_array.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_compact_class_array.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_ordered_list.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_ordered_list.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_ordered_list.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_ordered_list.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_state_table.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_state_table.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_state_table.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_state_table.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_subtable.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_subtable.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_subtable.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_kern/_subtable.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_l_t_s_h.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_l_t_s_h.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_l_t_s_h.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_l_t_s_h.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_loca.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_loca.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_loca.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_loca.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_manual.pod.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_manual.pod.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_manual.pod.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_manual.pod.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_maxp.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_maxp.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_maxp.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_maxp.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_chain.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_chain.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_chain.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_chain.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_contextual.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_contextual.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_contextual.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_contextual.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_insertion.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_insertion.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_insertion.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_insertion.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_ligature.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_ligature.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_ligature.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_ligature.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_noncontextual.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_noncontextual.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_noncontextual.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_noncontextual.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_rearrangement.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_rearrangement.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_rearrangement.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_rearrangement.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_subtable.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_subtable.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_subtable.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_mort/_subtable.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_name.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_name.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_name.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_name.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_s__2.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_s__2.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_s__2.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_s__2.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_t_tags.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_t_tags.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_t_tags.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_o_t_tags.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_cmap.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_cmap.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_cmap.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_cmap.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_mort.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_mort.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_mort.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_old_mort.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_c_l_t.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_c_l_t.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_c_l_t.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_c_l_t.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_s_names.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_s_names.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_s_names.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_p_s_names.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_post.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_post.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_post.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_post.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prep.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prep.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prep.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prep.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prop.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prop.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prop.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_prop.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_segarr.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_segarr.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_segarr.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_segarr.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_sill.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_sill.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_sill.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_sill.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_table.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_table.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_table.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_table.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttc.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttc.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttc.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttc.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttopen.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttopen.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttopen.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_ttopen.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_useall.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_useall.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_useall.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_useall.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_utils.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_utils.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_utils.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_utils.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vhea.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vhea.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vhea.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vhea.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vmtx.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vmtx.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vmtx.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_vmtx.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_win32.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_win32.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_win32.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_win32.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_x_m_lparse.pm.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_x_m_lparse.pm.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_x_m_lparse.pm.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/_font/_t_t_f/_x_m_lparse.pm.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/ttfmod.pl.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/ttfmod.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/ttfmod.pl.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/lib/ttfmod.pl.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/_o_f_l.txt.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/_o_f_l.txt.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/_o_f_l.txt.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/_o_f_l.txt.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/tags.t.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/tags.t.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/tags.t.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/tags.t.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/testfont.ttf.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/testfont.ttf.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/testfont.ttf.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/testfont.ttf.i diff --git a/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/ttfcopy.t.i b/librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/ttfcopy.t.i similarity index 100% rename from font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/ttfcopy.t.i rename to librarian/font-optimizer/.hg/store/data/ext/_font-_t_t_f/t/ttfcopy.t.i diff --git a/font-optimizer/.hg/store/data/gen-tests.pl.i b/librarian/font-optimizer/.hg/store/data/gen-tests.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/gen-tests.pl.i rename to librarian/font-optimizer/.hg/store/data/gen-tests.pl.i diff --git a/font-optimizer/.hg/store/data/list-features.pl.i b/librarian/font-optimizer/.hg/store/data/list-features.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/list-features.pl.i rename to librarian/font-optimizer/.hg/store/data/list-features.pl.i diff --git a/font-optimizer/.hg/store/data/modify-names.pl.i b/librarian/font-optimizer/.hg/store/data/modify-names.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/modify-names.pl.i rename to librarian/font-optimizer/.hg/store/data/modify-names.pl.i diff --git a/font-optimizer/.hg/store/data/obfuscate-font.pl.i b/librarian/font-optimizer/.hg/store/data/obfuscate-font.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/obfuscate-font.pl.i rename to librarian/font-optimizer/.hg/store/data/obfuscate-font.pl.i diff --git a/font-optimizer/.hg/store/data/obfuscate-names.pl.i b/librarian/font-optimizer/.hg/store/data/obfuscate-names.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/obfuscate-names.pl.i rename to librarian/font-optimizer/.hg/store/data/obfuscate-names.pl.i diff --git a/font-optimizer/.hg/store/data/subset.pl.i b/librarian/font-optimizer/.hg/store/data/subset.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/subset.pl.i rename to librarian/font-optimizer/.hg/store/data/subset.pl.i diff --git a/font-optimizer/.hg/store/data/t/subsetter.pl.i b/librarian/font-optimizer/.hg/store/data/t/subsetter.pl.i similarity index 100% rename from font-optimizer/.hg/store/data/t/subsetter.pl.i rename to librarian/font-optimizer/.hg/store/data/t/subsetter.pl.i diff --git a/font-optimizer/.hg/store/fncache b/librarian/font-optimizer/.hg/store/fncache similarity index 100% rename from font-optimizer/.hg/store/fncache rename to librarian/font-optimizer/.hg/store/fncache diff --git a/font-optimizer/.hg/store/undo b/librarian/font-optimizer/.hg/store/undo similarity index 100% rename from font-optimizer/.hg/store/undo rename to librarian/font-optimizer/.hg/store/undo diff --git a/font-optimizer/.hg/tags.cache b/librarian/font-optimizer/.hg/tags.cache similarity index 100% rename from font-optimizer/.hg/tags.cache rename to librarian/font-optimizer/.hg/tags.cache diff --git a/font-optimizer/.hg/undo.branch b/librarian/font-optimizer/.hg/undo.branch similarity index 100% rename from font-optimizer/.hg/undo.branch rename to librarian/font-optimizer/.hg/undo.branch diff --git a/font-optimizer/.hg/undo.desc b/librarian/font-optimizer/.hg/undo.desc similarity index 100% rename from font-optimizer/.hg/undo.desc rename to librarian/font-optimizer/.hg/undo.desc diff --git a/font-optimizer/.hg/undo.dirstate b/librarian/font-optimizer/.hg/undo.dirstate similarity index 100% rename from font-optimizer/.hg/undo.dirstate rename to librarian/font-optimizer/.hg/undo.dirstate diff --git a/font-optimizer/.hgignore b/librarian/font-optimizer/.hgignore similarity index 100% rename from font-optimizer/.hgignore rename to librarian/font-optimizer/.hgignore diff --git a/font-optimizer/Font/EOTWrapper.pm b/librarian/font-optimizer/Font/EOTWrapper.pm similarity index 100% rename from font-optimizer/Font/EOTWrapper.pm rename to librarian/font-optimizer/Font/EOTWrapper.pm diff --git a/font-optimizer/Font/Subsetter.pm b/librarian/font-optimizer/Font/Subsetter.pm similarity index 100% rename from font-optimizer/Font/Subsetter.pm rename to librarian/font-optimizer/Font/Subsetter.pm diff --git a/font-optimizer/Font/Subsetter/NormalizationData.pm b/librarian/font-optimizer/Font/Subsetter/NormalizationData.pm similarity index 100% rename from font-optimizer/Font/Subsetter/NormalizationData.pm rename to librarian/font-optimizer/Font/Subsetter/NormalizationData.pm diff --git a/font-optimizer/Font/Subsetter/create-data.pl b/librarian/font-optimizer/Font/Subsetter/create-data.pl similarity index 100% rename from font-optimizer/Font/Subsetter/create-data.pl rename to librarian/font-optimizer/Font/Subsetter/create-data.pl diff --git a/font-optimizer/LICENSE b/librarian/font-optimizer/LICENSE similarity index 100% rename from font-optimizer/LICENSE rename to librarian/font-optimizer/LICENSE diff --git a/font-optimizer/README.txt b/librarian/font-optimizer/README.txt similarity index 100% rename from font-optimizer/README.txt rename to librarian/font-optimizer/README.txt diff --git a/font-optimizer/convert-eot.pl b/librarian/font-optimizer/convert-eot.pl similarity index 100% rename from font-optimizer/convert-eot.pl rename to librarian/font-optimizer/convert-eot.pl diff --git a/font-optimizer/ext/Font-TTF/.cvsignore b/librarian/font-optimizer/ext/Font-TTF/.cvsignore similarity index 100% rename from font-optimizer/ext/Font-TTF/.cvsignore rename to librarian/font-optimizer/ext/Font-TTF/.cvsignore diff --git a/font-optimizer/ext/Font-TTF/COPYING b/librarian/font-optimizer/ext/Font-TTF/COPYING similarity index 100% rename from font-optimizer/ext/Font-TTF/COPYING rename to librarian/font-optimizer/ext/Font-TTF/COPYING diff --git a/font-optimizer/ext/Font-TTF/Changes b/librarian/font-optimizer/ext/Font-TTF/Changes similarity index 100% rename from font-optimizer/ext/Font-TTF/Changes rename to librarian/font-optimizer/ext/Font-TTF/Changes diff --git a/font-optimizer/ext/Font-TTF/MANIFEST.SKIP b/librarian/font-optimizer/ext/Font-TTF/MANIFEST.SKIP similarity index 100% rename from font-optimizer/ext/Font-TTF/MANIFEST.SKIP rename to librarian/font-optimizer/ext/Font-TTF/MANIFEST.SKIP diff --git a/font-optimizer/ext/Font-TTF/Makefile.PL b/librarian/font-optimizer/ext/Font-TTF/Makefile.PL similarity index 100% rename from font-optimizer/ext/Font-TTF/Makefile.PL rename to librarian/font-optimizer/ext/Font-TTF/Makefile.PL diff --git a/font-optimizer/ext/Font-TTF/README.TXT b/librarian/font-optimizer/ext/Font-TTF/README.TXT similarity index 100% rename from font-optimizer/ext/Font-TTF/README.TXT rename to librarian/font-optimizer/ext/Font-TTF/README.TXT diff --git a/font-optimizer/ext/Font-TTF/TODO b/librarian/font-optimizer/ext/Font-TTF/TODO similarity index 100% rename from font-optimizer/ext/Font-TTF/TODO rename to librarian/font-optimizer/ext/Font-TTF/TODO diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/AATKern.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/AATKern.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/AATKern.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/AATKern.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/AATutils.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/AATutils.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/AATutils.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/AATutils.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Anchor.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Anchor.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Anchor.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Anchor.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Bsln.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Bsln.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Bsln.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Bsln.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Changes b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Changes similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Changes rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Changes diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Cmap.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Cmap.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Cmap.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Cmap.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Coverage.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Coverage.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Coverage.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Coverage.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Cvt_.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Cvt_.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Cvt_.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Cvt_.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Delta.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Delta.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Delta.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Delta.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Dumper.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Dumper.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Dumper.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Dumper.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/EBDT.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/EBDT.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/EBDT.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/EBDT.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/EBLC.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/EBLC.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/EBLC.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/EBLC.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fdsc.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fdsc.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Fdsc.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fdsc.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Feat.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Feat.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Feat.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Feat.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fmtx.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fmtx.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Fmtx.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fmtx.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Font.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Font.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Font.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Font.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fpgm.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fpgm.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Fpgm.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Fpgm.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/GDEF.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GDEF.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/GDEF.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GDEF.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/GPOS.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GPOS.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/GPOS.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GPOS.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/GSUB.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GSUB.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/GSUB.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GSUB.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyf.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyf.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyf.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyf.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyph.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyph.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyph.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Glyph.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/GrFeat.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GrFeat.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/GrFeat.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/GrFeat.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hdmx.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hdmx.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Hdmx.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hdmx.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Head.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Head.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Head.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Head.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hhea.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hhea.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Hhea.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hhea.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hmtx.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hmtx.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Hmtx.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Hmtx.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/CompactClassArray.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/CompactClassArray.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/CompactClassArray.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/CompactClassArray.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/OrderedList.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/OrderedList.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/OrderedList.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/OrderedList.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/StateTable.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/StateTable.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/StateTable.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/StateTable.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/Subtable.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/Subtable.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/Subtable.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/Subtable.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/LTSH.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/LTSH.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/LTSH.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/LTSH.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Loca.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Loca.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Loca.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Loca.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Manual.pod b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Manual.pod similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Manual.pod rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Manual.pod diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Maxp.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Maxp.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Maxp.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Maxp.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Chain.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Chain.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Chain.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Chain.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Contextual.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Contextual.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Contextual.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Contextual.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Insertion.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Insertion.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Insertion.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Insertion.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Ligature.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Ligature.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Ligature.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Ligature.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Noncontextual.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Noncontextual.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Noncontextual.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Noncontextual.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Rearrangement.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Rearrangement.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Rearrangement.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Rearrangement.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Subtable.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Subtable.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Subtable.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Mort/Subtable.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Name.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Name.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Name.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Name.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/OS_2.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OS_2.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/OS_2.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OS_2.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/OTTags.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OTTags.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/OTTags.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OTTags.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/OldCmap.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OldCmap.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/OldCmap.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OldCmap.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/OldMort.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OldMort.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/OldMort.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/OldMort.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/PCLT.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/PCLT.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/PCLT.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/PCLT.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/PSNames.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/PSNames.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/PSNames.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/PSNames.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Post.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Post.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Post.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Post.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Prep.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Prep.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Prep.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Prep.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Prop.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Prop.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Prop.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Prop.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Segarr.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Segarr.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Segarr.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Segarr.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Sill.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Sill.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Sill.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Sill.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Table.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Table.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Table.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Table.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttc.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttc.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttc.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttc.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttopen.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttopen.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttopen.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Ttopen.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Useall.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Useall.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Useall.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Useall.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Utils.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Utils.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Utils.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Utils.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Vhea.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Vhea.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Vhea.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Vhea.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Vmtx.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Vmtx.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Vmtx.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Vmtx.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Win32.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Win32.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/Win32.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/Win32.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/XMLparse.pm b/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/XMLparse.pm similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/Font/TTF/XMLparse.pm rename to librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/XMLparse.pm diff --git a/font-optimizer/ext/Font-TTF/lib/ttfmod.pl b/librarian/font-optimizer/ext/Font-TTF/lib/ttfmod.pl similarity index 100% rename from font-optimizer/ext/Font-TTF/lib/ttfmod.pl rename to librarian/font-optimizer/ext/Font-TTF/lib/ttfmod.pl diff --git a/font-optimizer/ext/Font-TTF/t/OFL.txt b/librarian/font-optimizer/ext/Font-TTF/t/OFL.txt similarity index 100% rename from font-optimizer/ext/Font-TTF/t/OFL.txt rename to librarian/font-optimizer/ext/Font-TTF/t/OFL.txt diff --git a/font-optimizer/ext/Font-TTF/t/tags.t b/librarian/font-optimizer/ext/Font-TTF/t/tags.t similarity index 100% rename from font-optimizer/ext/Font-TTF/t/tags.t rename to librarian/font-optimizer/ext/Font-TTF/t/tags.t diff --git a/font-optimizer/ext/Font-TTF/t/testfont.ttf b/librarian/font-optimizer/ext/Font-TTF/t/testfont.ttf similarity index 100% rename from font-optimizer/ext/Font-TTF/t/testfont.ttf rename to librarian/font-optimizer/ext/Font-TTF/t/testfont.ttf diff --git a/font-optimizer/ext/Font-TTF/t/ttfcopy.t b/librarian/font-optimizer/ext/Font-TTF/t/ttfcopy.t similarity index 100% rename from font-optimizer/ext/Font-TTF/t/ttfcopy.t rename to librarian/font-optimizer/ext/Font-TTF/t/ttfcopy.t diff --git a/font-optimizer/gen-tests.pl b/librarian/font-optimizer/gen-tests.pl similarity index 100% rename from font-optimizer/gen-tests.pl rename to librarian/font-optimizer/gen-tests.pl diff --git a/font-optimizer/list-features.pl b/librarian/font-optimizer/list-features.pl similarity index 100% rename from font-optimizer/list-features.pl rename to librarian/font-optimizer/list-features.pl diff --git a/font-optimizer/modify-names.pl b/librarian/font-optimizer/modify-names.pl similarity index 100% rename from font-optimizer/modify-names.pl rename to librarian/font-optimizer/modify-names.pl diff --git a/font-optimizer/obfuscate-font.pl b/librarian/font-optimizer/obfuscate-font.pl similarity index 100% rename from font-optimizer/obfuscate-font.pl rename to librarian/font-optimizer/obfuscate-font.pl diff --git a/font-optimizer/subset.pl b/librarian/font-optimizer/subset.pl similarity index 100% rename from font-optimizer/subset.pl rename to librarian/font-optimizer/subset.pl diff --git a/font-optimizer/t/subsetter.pl b/librarian/font-optimizer/t/subsetter.pl similarity index 100% rename from font-optimizer/t/subsetter.pl rename to librarian/font-optimizer/t/subsetter.pl diff --git a/librarian/pdf.py b/librarian/pdf.py index b9ead15..94441db 100644 --- a/librarian/pdf.py +++ b/librarian/pdf.py @@ -11,9 +11,9 @@ from StringIO import StringIO from tempfile import mkdtemp import re from copy import deepcopy +from subprocess import call, PIPE import sys -sys.path.append('..') # for running from working copy from Texml.processor import process from lxml import etree @@ -46,22 +46,26 @@ def insert_tags(doc, split_re, tagname): """ for elem in doc.iter(): - if elem.text: - chunks = split_re.split(elem.text) - elem.text = chunks.pop(0) - while chunks: - ins = etree.Element(tagname) - ins.tail = chunks.pop() - elem.insert(0, ins) - if elem.tail: - chunks = split_re.split(elem.tail) - parent = elem.getparent() - ins_index = parent.index(elem) + 1 - elem.tail = chunks.pop(0) - while chunks: - ins = etree.Element(tagname) - ins.tail = chunks.pop() - parent.insert(ins_index, ins) + try: + if elem.text: + chunks = split_re.split(elem.text) + while len(chunks) > 1: + ins = etree.Element(tagname) + ins.tail = chunks.pop() + elem.insert(0, ins) + elem.text = chunks.pop(0) + if elem.tail: + chunks = split_re.split(elem.tail) + parent = elem.getparent() + ins_index = parent.index(elem) + 1 + while len(chunks) > 1: + ins = etree.Element(tagname) + ins.tail = chunks.pop() + parent.insert(ins_index, ins) + elem.tail = chunks.pop(0) + except TypeError, e: + # element with no children, like comment + pass def substitute_hyphens(doc): @@ -76,77 +80,149 @@ def fix_hanging(doc): "nbsp") +def move_motifs_inside(doc): + """ moves motifs to be into block elements """ + for master in doc.xpath('//powiesc|//opowiadanie|//liryka_l|//liryka_lp|//dramat_wierszowany_l|//dramat_wierszowany_lp|//dramat_wspolczesny'): + for motif in master.xpath('motyw'): + print motif.text + for sib in motif.itersiblings(): + if sib.tag not in ('sekcja_swiatlo', 'sekcja_asterysk', 'separator_linia', 'begin', 'end', 'motyw', 'extra', 'uwaga'): + # motif shouldn't have a tail - it would be untagged text + motif.tail = None + motif.getparent().remove(motif) + sib.insert(0, motif) + break + + +def hack_motifs(doc): + """ dirty hack for the marginpar-creates-orphans LaTeX problem + see http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2304 + + moves motifs in stanzas from first verse to second + and from next to last to last, then inserts negative vspace before them + """ + for motif in doc.findall('//strofa//motyw'): + # find relevant verse-level tag + verse, stanza = motif, motif.getparent() + while stanza is not None and stanza.tag != 'strofa': + verse, stanza = stanza, stanza.getparent() + breaks_before = sum(1 for i in verse.itersiblings('br', preceding=True)) + breaks_after = sum(1 for i in verse.itersiblings('br')) + if (breaks_before == 0 and breaks_after > 0) or breaks_after == 1: + move_by = 1 + if breaks_after == 2: + move_by += 1 + moved_motif = deepcopy(motif) + motif.tag = 'span' + motif.text = None + moved_motif.tail = None + moved_motif.set('moved', str(move_by)) + + for br in verse.itersiblings('br'): + if move_by > 1: + move_by -= 1 + continue + br.addnext(moved_motif) + break + + def get_resource(path): return os.path.join(os.path.dirname(__file__), path) def get_stylesheet(name): return get_resource(STYLESHEETS[name]) -def transform(provider, slug, output_file=None, output_dir=None): - """ produces a pdf file - provider is a DocProvider - either output_file (a file-like object) or output_dir (path to file/dir) should be specified - if output_dir is specified, file will be written to //.pdf +def package_available(package, args='', verbose=False): + """ check if a verion of a latex package accepting given args is available """ + tempdir = mkdtemp('-wl2pdf-test') + fpath = os.path.join(tempdir, 'test.tex') + f = open(fpath, 'w') + f.write(r""" + \documentclass{book} + \usepackage[%s]{%s} + \begin{document} + \end{document} + """ % (args, package)) + f.close() + if verbose: + p = call(['xelatex', '-output-directory', tempdir, fpath]) + else: + p = call(['xelatex', '-interaction=batchmode', '-output-directory', tempdir, fpath], stdout=PIPE, stderr=PIPE) + shutil.rmtree(tempdir) + return p == 0 + + +def transform(provider, slug, output_file=None, output_dir=None, make_dir=False, verbose=False, save_tex=None): + """ produces a PDF file with XeLaTeX + + provider: a DocProvider + slug: slug of file to process, available by provider + output_file: file-like object or path to output file + output_dir: path to directory to save output file to; either this or output_file must be present + make_dir: writes output to //.pdf istead of /.pdf + verbose: prints all output from LaTeX + save_tex: path to save the intermediary LaTeX file to """ # Parse XSLT try: - style_filename = get_stylesheet("wl2tex") - style = etree.parse(style_filename) + # check for latex packages + if not package_available('morefloats', 'maxfloats=19', verbose=verbose): + document.edoc.getroot().set('old-morefloats', 'yes') + print >> sys.stderr, """ +============================================================================== +LaTeX `morefloats' package is older than v.1.0c or not available at all. +Some documents with many motifs in long stanzas or paragraphs may not compile. +==============================================================================""" document = load_including_children(provider, slug) - # dirty hack for the marginpar-creates-orphans LaTeX problem - # see http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2304 - for motif in document.edoc.findall('//strofa//motyw'): - # find relevant verse-level tag - verse, stanza = motif, motif.getparent() - while stanza is not None and stanza.tag != 'strofa': - verse, stanza = stanza, stanza.getparent() - breaks_before = sum(1 for i in verse.itersiblings('br', preceding=True)) - breaks_after = sum(1 for i in verse.itersiblings('br')) - if (breaks_before == 0 and breaks_after > 0) or breaks_after == 1: - move_by = 1 - if breaks_after == 2: - move_by += 1 - moved_motif = deepcopy(motif) - motif.tag = 'span' - motif.text = None - moved_motif.tail = None - moved_motif.set('moved', str(move_by)) - - for br in verse.itersiblings(tag='br'): - if move_by > 1: - move_by -= 1 - continue - br.addnext(moved_motif) - break - + # hack the tree + move_motifs_inside(document.edoc) + hack_motifs(document.edoc) substitute_hyphens(document.edoc) fix_hanging(document.edoc) - # if output to dir, create the file - if output_dir is not None: + # find output dir + if make_dir and output_dir is not None: author = unicode(document.book_info.author) output_dir = os.path.join(output_dir, author) + # wl -> TeXML + style_filename = get_stylesheet("wl2tex") + style = etree.parse(style_filename) texml = document.transform(style) del document # no longer needed large object :) - temp = mkdtemp('wl2pdf-') + # TeXML -> LaTeX + temp = mkdtemp('-wl2pdf') tex_path = os.path.join(temp, 'doc.tex') fout = open(tex_path, 'w') - process(StringIO(texml), fout, 'utf8', 255, 0, 0) + process(StringIO(texml), fout, 'utf-8') fout.close() del texml + if save_tex: + shutil.copy(tex_path, save_tex) + + # LaTeX -> PDF shutil.copy(get_resource('pdf/wl.sty'), temp) shutil.copy(get_resource('pdf/wl-logo.png'), temp) - print "pdflatex -output-directory %s %s" % (temp, os.path.join(temp, 'doc.tex')) - if os.system("pdflatex -output-directory %s %s" % (temp, os.path.join(temp, 'doc.tex'))): + + cwd = os.getcwd() + os.chdir(temp) + + if verbose: + p = call(['xelatex', tex_path]) + else: + p = call(['xelatex', '-interaction=batchmode', tex_path], stdout=PIPE, stderr=PIPE) + if p: raise ParseError("Error parsing .tex file") + os.chdir(cwd) + + # save the PDF pdf_path = os.path.join(temp, 'doc.pdf') if output_dir is not None: try: @@ -156,11 +232,16 @@ def transform(provider, slug, output_file=None, output_dir=None): output_path = os.path.join(output_dir, '%s.pdf' % slug) shutil.move(pdf_path, output_path) else: - with open(pdf_path) as f: - output_file.write(f.read()) - output_file.close() + if hasattr(output_file, 'write'): + # file-like object + with open(pdf_path) as f: + output_file.write(f.read()) + output_file.close() + else: + # path to output file + shutil.copy(pdf_path, output_file) + shutil.rmtree(temp) - return True except (XMLSyntaxError, XSLTApplyError), e: raise ParseError(e) @@ -186,19 +267,3 @@ def load_including_children(provider, slug=None, uri=None): document.edoc.getroot().append(child.edoc.getroot()) return document - - -if __name__ == '__main__': - import sys - from librarian import DirDocProvider - - if len(sys.argv) < 2: - print >> sys.stderr, 'Usage: python pdf.py ' - sys.exit(1) - - main_input = sys.argv[1] - basepath, ext = os.path.splitext(main_input) - path, slug = os.path.realpath(basepath).rsplit('/', 1) - provider = DirDocProvider(path) - transform(provider, slug, output_dir=path) - diff --git a/librarian/pdf/wl.sty b/librarian/pdf/wl.sty index 0f60d20..7a37e28 100644 --- a/librarian/pdf/wl.sty +++ b/librarian/pdf/wl.sty @@ -1,8 +1,12 @@ \usepackage[MeX]{polski} -\usepackage[utf8]{inputenc} + + +\usepackage[xetex]{graphicx} +\usepackage{xltxtra} +\usepackage{xunicode} + + \pagestyle{plain} -%\usepackage{antpolt} -\usepackage{graphicx} \usepackage{fancyhdr} \makeatletter @@ -24,6 +28,7 @@ \setlength{\textheight}{24cm} \pagestyle{fancy} +\fancyhf{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0.4pt} \lfoot{{\footnotesize \@author, \emph{\@title}}} @@ -42,7 +47,7 @@ \color{theme} \noindent \begin{minipage}[t]{.35\textwidth}\vspace{0pt} - \includegraphics[width=\textwidth]{pdf/wl-logo.png} + \includegraphics[width=\textwidth]{wl-logo.png} \end{minipage} \begin{minipage}[t]{.65\textwidth}\vspace{0pt} Wejdź na stronę http://wolnelektury.pl/ i~zobacz, jak wiele możliwości daje interaktywna wersja szkolnej biblioteki diff --git a/librarian/xslt/wl2tex.xslt b/librarian/xslt/wl2tex.xslt index dd0a878..e94d4a8 100644 --- a/librarian/xslt/wl2tex.xslt +++ b/librarian/xslt/wl2tex.xslt @@ -19,6 +19,21 @@ \usepackage{wl} + + + + \IfFileExists{morefloats.sty}{ + \usepackage{morefloats} + }{} + + + + + \usepackage[maxfloats=64]{morefloats} + + + + @@ -141,10 +156,9 @@ - 0.4 - 0.6 - - + + + @@ -180,7 +194,7 @@ -X + @@ -206,9 +220,9 @@ - + - + @@ -242,30 +256,30 @@ - - + + + + + + + + \\{} + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + 1em @@ -274,10 +288,10 @@ - pt + 1em - + em @@ -286,17 +300,16 @@ - 12em + 8em - 0.4 - 0.6 - - + + + diff --git a/scripts/book2epub b/scripts/book2epub new file mode 100755 index 0000000..8e713b9 --- /dev/null +++ b/scripts/book2epub @@ -0,0 +1,38 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# This file is part of Librarian, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +import os.path +import optparse + +from librarian import epub, DirDocProvider + + +if __name__ == '__main__': + # Parse commandline arguments + usage = """Usage: %prog [options] SOURCE + Convert SOURCE file to EPUB format.""" + + parser = optparse.OptionParser(usage=usage) + + parser.add_option('-v', '--verbose', action='store_true', dest='verbose', default=False, + help='print status messages to stdout') + parser.add_option('-d', '--make-dir', action='store_true', dest='make_dir', default=False, + help='create a directory for author and put the PDF in it') + + options, input_filenames = parser.parse_args() + + if len(input_filenames) != 1: + parser.print_help() + exit(1) + + # Do some real work + main_input = input_filenames[0] + if options.verbose: + print main_input + basepath, ext = os.path.splitext(main_input) + path, slug = os.path.realpath(basepath).rsplit('/', 1) + provider = DirDocProvider(path) + epub.transform(provider, slug, output_dir=path, make_dir=options.make_dir) diff --git a/scripts/book2pdf b/scripts/book2pdf new file mode 100755 index 0000000..6589746 --- /dev/null +++ b/scripts/book2pdf @@ -0,0 +1,40 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# This file is part of Librarian, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +import os.path +from optparse import OptionParser +from librarian import pdf, DirDocProvider, ParseError + +if __name__ == '__main__': + usage = "usage: %prog [options] [output_file]" + parser = OptionParser(usage) + parser.add_option('-v', '--verbose', action='store_true', dest='verbose', default=False, + help='make lots of noise and revert to default interaction in LaTeX') + parser.add_option('-d', '--make-dir', action='store_true', dest='make_dir', default=False, + help='create a directory for author and put the PDF in it') + parser.add_option('-t', '--save-tex', dest='save_tex', metavar='FILE', + help='path to save the intermediary LaTeX file to') + (options, args) = parser.parse_args() + + if not 1 <= len(args) <= 2: + parser.print_help() + exit(1) + + main_input = args[0] + basepath, ext = os.path.splitext(main_input) + path, slug = os.path.realpath(basepath).rsplit('/', 1) + provider = DirDocProvider(path) + try: + if len(args) > 1: + pdf.transform(provider, slug, output_file=args[1], verbose=options.verbose, save_tex=options.save_tex) + else: + pdf.transform(provider, slug, output_dir=path, make_dir=options.make_dir, verbose=options.verbose, save_tex=options.save_tex) + except ParseError, e: + print '%(file)s:%(name)s:%(message)s' % { + 'file': main_input, + 'name': e.__class__.__name__, + 'message': e.message + } diff --git a/setup.py b/setup.py index 952bf0c..db2551a 100644 --- a/setup.py +++ b/setup.py @@ -4,23 +4,39 @@ # This file is part of Librarian, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # +import os +import os.path from distutils.core import setup +def whole_tree(prefix, path): + files = [] + for f in (f for f in os.listdir(os.path.join(prefix, path)) if not f[0]=='.'): + new_path = os.path.join(path, f) + if os.path.isdir(os.path.join(prefix, new_path)): + files.extend(whole_tree(prefix, new_path)) + else: + files.append(new_path) + return files + + setup( name='librarian', version='1.3', description='Converter from WolneLektury.pl XML-based language to XHTML, TXT and other formats', author="Marek Stępniowski", author_email='marek@stepniowski.com', - maintainer='Łukasz Rekucki', - maintainer_email='lrekucki@gmail.com', + maintainer='Radek Czajka', + maintainer_email='radek.czajka@gmail.com', url='http://github.com/fnp/librarian', packages=['librarian'], - package_data={'librarian': ['xslt/*.xslt', 'epub/*']}, + package_data={'librarian': ['xslt/*.xslt', 'epub/*', 'pdf/*', 'fonts/*'] + + whole_tree(os.path.join(os.path.dirname(__file__), 'librarian'), 'font-optimizer')}, include_package_data=True, install_requires=['lxml>=2.2'], scripts=['scripts/book2html', 'scripts/book2txt', + 'scripts/book2epub', + 'scripts/book2pdf', 'scripts/bookfragments', 'scripts/genslugs'], tests_require=['nose>=0.11', 'coverage>=3.0.1'], -- 2.20.1