- {
- int cmp = (lo + hi) / 2;
-
- b = fm->get_char (cmp);
- if (b[Y_AXIS].empty_b () || b[Y_AXIS].length () > y)
- {
- hi = cmp;
- }
- else
- {
- /*
- ugh: 7
- We have four fonts: feta-braces0-3.mf
-
- In the style-sheet, all paper relative sizes need to start
- looking at the feta-braces0 font.
-
- The smallest paper size, feta11 or -3, has to make 5 steps
- to get to feta26 or +2. Only after that, from +3 to +5 are
- the real bigger sizes, so worst case we need 8 steps to get
- to the font we need. */
- if (big < 8)
- {
- bigger = gh_cons (gh_cons (ly_symbol2scm ("font-relative-size"),
- gh_int2scm (big++)),
- bigger);
- me->set_grob_property ("font", bigger);
- fm = Font_interface::get_default_font (me);
- lo = 0;
- hi = 255; //fm->count () >? 2;
- }
- else
- lo = cmp;
- }
+ {
+ int cmp = (lo + hi) / 2;
+ b = fm->get_indexed_char (cmp);
+ if (b[Y_AXIS].is_empty () || b[Y_AXIS].length () > y)
+ hi = cmp;
+ else
+ lo = cmp;