- {
- Real this_offset = offset - a->extent (a, X_AXIS)[RIGHT];
- a->translate_axis (this_offset, X_AXIS);
-
- /* FIXME: read the padding from the AccidentalPlacement grob */
- last_offset = this_offset;
- offset -= a->extent (a, X_AXIS).length () + 0.2;
- }
-
- vector<Box> boxes = Accidental_interface::accurate_boxes (a, common);
- ape->extents_.insert (ape->extents_.end (), boxes.begin (), boxes.end ());
-
- for (vsize j = boxes.size (); j--;)
- ape->vertical_extent_.unite (boxes[j][Y_AXIS]);
+ {
+ Real this_offset = offset - a->extent (a, X_AXIS)[RIGHT];
+ a->translate_axis (this_offset, X_AXIS);
+
+ last_offset = this_offset;
+ offset -= a->extent (a, X_AXIS).length () + padding;
+ }
+
+ if (Skyline_pair *sky = unsmob<Skyline_pair> (a->get_property ("horizontal-skylines")))
+ {
+ Skyline_pair copy (*sky);
+ copy.raise (a->relative_coordinate (common[X_AXIS], X_AXIS));
+ copy.shift (a->relative_coordinate (common[Y_AXIS], Y_AXIS));
+ ape->horizontal_skylines_.merge (copy);
+ }