Try putting combining marks in the same font run
Try putting combining marks in the same font run

Indic combining marks, when combined with a common character such as
a hyphen or a dotted circle, used to get rendered in a different font
due to the greedy algorithm used in determining runs, which resulted
in the base character and the combining mark getting rendered in
separate font runs, resulting in a dotted circle appearing in phrases
such as "100-ാം" (0031 0030 0030 002D 0D3E 0D02).

This change makes combining marks change the font run of the base
character if the base character is supported in the same font as the
combining mark, similar to the support for emoji modifiers and the
combining keycap.

Bug: 25036888
Bug: 24535344
Change-Id: I8e2798e8ecb8efaf723a0fd02c05c6fbdef8b365

aam/engine,mikejurka/engine,tvolkert/engine,jason-simmons/flutter_engine,jason-simmons/flutter_engine,jason-simmons/flutter_engine,jamesr/flutter_engine,mikejurka/engine,devoncarew/engine,mikejurka/engine,aam/engine,jason-simmons/sky_engine,aam/engine,cdotstout/sky_engine,krisgiesing/sky_engine,krisgiesing/sky_engine,chinmaygarde/sky_engine,Hixie/sky_engine,jason-simmons/flutter_engine,aam/engine,jamesr/flutter_engine,chinmaygarde/flutter_engine,tvolkert/engine,jason-simmons/sky_engine,jamesr/flutter_engine,tvolkert/engine,aam/engine,mikejurka/engine,jason-simmons/flutter_engine,jason-simmons/flutter_engine,flutter/engine,chinmaygarde/sky_engine,jamesr/sky_engine,devoncarew/engine,rmacnak-google/engine,krisgiesing/sky_engine,Hixie/sky_engine,jason-simmons/sky_engine,jamesr/sky_engine,chinmaygarde/flutter_engine,jamesr/flutter_engine,chinmaygarde/flutter_engine,mikejurka/engine,krisgiesing/sky_engine,jamesr/sky_engine,flutter/engine,jason-simmons/flutter_engine,jason-simmons/sky_engine,devoncarew/engine,devoncarew/sky_engine,tvolkert/engine,flutter/engine,devoncarew/engine,devoncarew/engine,devoncarew/engine,devoncarew/sky_engine,rmacnak-google/engine,chinmaygarde/flutter_engine,devoncarew/sky_engine,jason-simmons/sky_engine,jamesr/flutter_engine,tvolkert/engine,flutter/engine,rmacnak-google/engine,jamesr/flutter_engine,flutter/engine,flutter/engine,mikejurka/engine,mikejurka/engine,krisgiesing/sky_engine,krisgiesing/sky_engine,aam/engine,devoncarew/engine,jamesr/sky_engine,jason-simmons/sky_engine,rmacnak-google/engine,Hixie/sky_engine,tvolkert/engine,mikejurka/engine,krisgiesing/sky_engine,chinmaygarde/sky_engine,rmacnak-google/engine,cdotstout/sky_engine,Hixie/sky_engine,mikejurka/engine,cdotstout/sky_engine,devoncarew/sky_engine,jamesr/flutter_engine,jamesr/flutter_engine,rmacnak-google/engine,jamesr/sky_engine,devoncarew/sky_engine,Hixie/sky_engine,chinmaygarde/flutter_engine,chinmaygarde/sky_engine,jamesr/sky_engine,chinmaygarde/flutter_engine,cdotstout/sky_engine,Hixie/sky_engine,cdotstout/sky_engine,flutter/engine,jamesr/flutter_engine,flutter/engine,jason-simmons/flutter_engine,cdotstout/sky_engine,Hixie/sky_engine,chinmaygarde/sky_engine,chinmaygarde/sky_engine,jamesr/sky_engine,aam/engine,Hixie/sky_engine,devoncarew/sky_engine,aam/engine,cdotstout/sky_engine,chinmaygarde/flutter_engine,tvolkert/engine,rmacnak-google/engine,jason-simmons/sky_engine,chinmaygarde/sky_engine,devoncarew/sky_engine