diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2009-03-18 19:28:52 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2009-06-24 13:52:10 -0400 |
commit | ffd6668b469508177c4baf7745ae42aee5b00322 (patch) | |
tree | 53ac3ee4580918576bed2c81913405874fcd9377 /fc-lang/Makefile.am | |
parent | 4d13536db49bdfba97f84f702325d1a99796c06b (diff) |
[fc-lang] Make LangSet representation in the cache files stable
Fontconfig assigns an index number to each language it knows about.
The index is used to index a bit in FcLangSet language map. The bit
map is stored in the cache.
Previously fc-lang simply sorted the list of languages and assigned
them an index starting from zero. Net effect is that whenever new
orth files were added, all the FcLangSet info in the cache files would
become invalid. This was causing weird bugs like this one:
https://bugzilla.redhat.com/show_bug.cgi?id=490888
With this commit we fix the index assigned to each language. The index
will be based on the order the orth files are passed to fc-lang. As a
result all orth files are explicitly listed in Makefile.am now, and
new additions should be made to the end of the list. The list is made
to reflect the sorted list of orthographies from 2.6.0 released followed
by new additions since.
This fixes the stability problem. Needless to say, recreating caches
is necessary before any new orthography is recognized in existing fonts,
but at least the existing caches are still valid and don't cause bugs
like the above.
Diffstat (limited to 'fc-lang/Makefile.am')
-rw-r--r-- | fc-lang/Makefile.am | 248 |
1 files changed, 246 insertions, 2 deletions
diff --git a/fc-lang/Makefile.am b/fc-lang/Makefile.am index eaf76d23..f248e0ef 100644 --- a/fc-lang/Makefile.am +++ b/fc-lang/Makefile.am @@ -36,8 +36,6 @@ noinst_PROGRAMS=fc-lang noinst_MANS=fc-lang.man -ORTH=@ORTH_FILES@ - EXTRA_DIST=$(TMPL) $(ORTH) $(TARG):$(ORTH) fc-lang${EXEEXT} $(STMPL) @@ -53,3 +51,249 @@ $(ALIAS_FILES): touch $(ALIAS_FILES) CLEANFILES = $(TARG) $(ALIAS_FILES) + +# NOTE: +# +# The order of the orth files here is extremely important (part of the cache +# format) and should not be modified. New orth files should be added at the +# end. No files should be removed either. +# +ORTH = \ + aa.orth \ + ab.orth \ + af.orth \ + am.orth \ + ar.orth \ + as.orth \ + ast.orth \ + av.orth \ + ay.orth \ + az_az.orth \ + az_ir.orth \ + ba.orth \ + bm.orth \ + be.orth \ + bg.orth \ + bh.orth \ + bho.orth \ + bi.orth \ + bin.orth \ + bn.orth \ + bo.orth \ + br.orth \ + bs.orth \ + bua.orth \ + ca.orth \ + ce.orth \ + ch.orth \ + chm.orth \ + chr.orth \ + co.orth \ + cs.orth \ + cu.orth \ + cv.orth \ + cy.orth \ + da.orth \ + de.orth \ + dz.orth \ + el.orth \ + en.orth \ + eo.orth \ + es.orth \ + et.orth \ + eu.orth \ + fa.orth \ + fi.orth \ + fj.orth \ + fo.orth \ + fr.orth \ + ff.orth \ + fur.orth \ + fy.orth \ + ga.orth \ + gd.orth \ + gez.orth \ + gl.orth \ + gn.orth \ + gu.orth \ + gv.orth \ + ha.orth \ + haw.orth \ + he.orth \ + hi.orth \ + ho.orth \ + hr.orth \ + hu.orth \ + hy.orth \ + ia.orth \ + ig.orth \ + id.orth \ + ie.orth \ + ik.orth \ + io.orth \ + is.orth \ + it.orth \ + iu.orth \ + ja.orth \ + ka.orth \ + kaa.orth \ + ki.orth \ + kk.orth \ + kl.orth \ + km.orth \ + kn.orth \ + ko.orth \ + kok.orth \ + ks.orth \ + ku_am.orth \ + ku_ir.orth \ + kum.orth \ + kv.orth \ + kw.orth \ + ky.orth \ + la.orth \ + lb.orth \ + lez.orth \ + ln.orth \ + lo.orth \ + lt.orth \ + lv.orth \ + mg.orth \ + mh.orth \ + mi.orth \ + mk.orth \ + ml.orth \ + mn_cn.orth \ + mo.orth \ + mr.orth \ + mt.orth \ + my.orth \ + nb.orth \ + nds.orth \ + ne.orth \ + nl.orth \ + nn.orth \ + no.orth \ + nr.orth \ + nso.orth \ + ny.orth \ + oc.orth \ + om.orth \ + or.orth \ + os.orth \ + pa_in.orth \ + pl.orth \ + ps_af.orth \ + ps_pk.orth \ + pt.orth \ + rm.orth \ + ro.orth \ + ru.orth \ + sa.orth \ + sah.orth \ + sco.orth \ + se.orth \ + sel.orth \ + sh.orth \ + shs.orth \ + si.orth \ + sk.orth \ + sl.orth \ + sm.orth \ + sma.orth \ + smj.orth \ + smn.orth \ + sms.orth \ + so.orth \ + sq.orth \ + sr.orth \ + ss.orth \ + st.orth \ + sv.orth \ + sw.orth \ + syr.orth \ + ta.orth \ + te.orth \ + tg.orth \ + th.orth \ + ti_er.orth \ + ti_et.orth \ + tig.orth \ + tk.orth \ + tl.orth \ + tn.orth \ + to.orth \ + tr.orth \ + ts.orth \ + tt.orth \ + tw.orth \ + tyv.orth \ + ug.orth \ + uk.orth \ + ur.orth \ + uz.orth \ + ve.orth \ + vi.orth \ + vo.orth \ + vot.orth \ + wa.orth \ + wen.orth \ + wo.orth \ + xh.orth \ + yap.orth \ + yi.orth \ + yo.orth \ + zh_cn.orth \ + zh_hk.orth \ + zh_mo.orth \ + zh_sg.orth \ + zh_tw.orth \ + zu.orth \ + ak.orth \ + an.orth \ + ber_dz.orth \ + ber_ma.orth \ + byn.orth \ + crh.orth \ + csb.orth \ + dv.orth \ + ee.orth \ + fat.orth \ + fil.orth \ + hne.orth \ + hsb.orth \ + ht.orth \ + hz.orth \ + ii.orth \ + jv.orth \ + kab.orth \ + kj.orth \ + kr.orth \ + ku_iq.orth \ + ku_tr.orth \ + kwm.orth \ + lg.orth \ + li.orth \ + mai.orth \ + mn_mn.orth \ + ms.orth \ + na.orth \ + ng.orth \ + nv.orth \ + ota.orth \ + pa_pk.orth \ + pap_an.orth \ + pap_aw.orth \ + qu.orth \ + rn.orth \ + rw.orth \ + sc.orth \ + sd.orth \ + sg.orth \ + sid.orth \ + sn.orth \ + su.orth \ + ty.orth \ + wal.orth \ + za.orth +# ^-------------- Add new orth files here |