# Character Combinations Problematic in Some Fonts

Ancient Greek lexicons and other linguistically-focused works often need to mark vowel length in combination with other diacritics. Support for this in fonts is varied. Here I outline the cases in question to help both users and developers of fonts.

The things I personally have most need of are the three **vowel + macron + acute** combinations and the **iota + macron + rough breathing + acute** needed for ἵημι and the imperfect of ἵστημι.

Note that the **precomposed** column below is just what the NFC normalization gives.

## vowel + macron + acute [IMPORTANT]

Quite common are combinations of macron with acute:

decomposed | precomposed | char | description |
---|---|---|---|

U+03B1 U+0304 U+0301 | U+1FB1 U+0301 | ᾱ́ | alpha + macron + acute |

U+03B9 U+0304 U+0301 | U+1FD1 U+0301 | ῑ́ | iota + macron + acute |

U+03C5 U+0304 U+0301 | U+1FE1 U+0301 | ῡ́ | upsilon + macron + acute |

## vowel + macron + grave

Far less common but still potentially useful in running texts are combinations of macron with grave:

decomposed | precomposed | char | description |
---|---|---|---|

U+03B1 U+0304 U+0300 | U+1FB1 U+0300 | ᾱ̀ | alpha + macron + grave |

U+03B9 U+0304 U+0300 | U+1FD1 U+0300 | ῑ̀ | iota + macron + grave |

U+03C5 U+0304 U+0300 | U+1FE1 U+0300 | ῡ̀ | upsilon + macron + grave |

## vowel + breve + acute/grave

Although a particular work will normally use one of macron or breve (and default to the other in the unmarked case) it might be useful for completeness to include the breve cases as well:

decomposed | precomposed | char | description |
---|---|---|---|

U+03B1 U+0306 U+0301 | U+1FB0 U+0301 | ᾰ́ | alpha + breve + acute |

U+03B9 U+0306 U+0301 | U+1FD0 U+0301 | ῐ́ | iota + breve + acute |

U+03C5 U+0306 U+0301 | U+1FE0 U+0301 | ῠ́ | upsilon + breve + acute |

U+03B1 U+0306 U+0300 | U+1FB0 U+0300 | ᾰ̀ | alpha + breve + grave |

U+03B9 U+0306 U+0300 | U+1FD0 U+0300 | ῐ̀ | iota + breve + grave |

U+03C5 U+0306 U+0300 | U+1FE0 U+0300 | ῠ̀ | upsilon + breve + grave |

## iota + macron + rough breathing + acute [IMPORTANT]

This is needed for ἵημι and the imperfect of ἵστημι.

decomposed | precomposed | char | description |
---|---|---|---|

U+03B9 U+0304 U+0314 U+0301 | U+1FD1 U+0314 U+0301 | ῑ̔́ | iota + macron + rough breathing + acute |

Many fonts will stack the acute on top of the rough breathing when it really needs to be alongside it. Some (e.g. Skolar PE before they updated it at my request) will put the acute next to the rough breathing but after rather than on-top-of the macron.

It should look like ἵ but with a macron between the ι and ῞. In some fonts, ἵ̄ (U+1F35 U+0304) displays but both the character order and glyph cluster display are wrong so that combination of code points should not be used.

## vowel + macron/breve + rough/smooth breathing + acute/grave

For completeness, all other combinations of macron/breve, rough/smooth, and acute/grave could be supported:

decomposed | precomposed | char | description |
---|---|---|---|

U+03B1 U+0304 U+0314 U+0301 | U+1FB1 U+0314 U+0301 | ᾱ̔́ | alpha + macron + rough breathing + acute |

U+03B1 U+0304 U+0314 U+0300 | U+1FB1 U+0314 U+0300 | ᾱ̔̀ | alpha + macron + rough breathing + grave |

U+03B1 U+0304 U+0313 U+0301 | U+1FB1 U+0313 U+0301 | ᾱ̓́ | alpha + macron + smooth + acute |

U+03B1 U+0304 U+0313 U+0300 | U+1FB1 U+0313 U+0300 | ᾱ̓̀ | alpha + macron + smooth + grave |

U+03B1 U+0306 U+0314 U+0301 | U+1FB0 U+0314 U+0301 | ᾰ̔́ | alpha + breve + rough breathing + acute |

U+03B1 U+0306 U+0314 U+0300 | U+1FB0 U+0314 U+0300 | ᾰ̔̀ | alpha + breve + rough breathing + grave |

U+03B1 U+0306 U+0313 U+0301 | U+1FB0 U+0313 U+0301 | ᾰ̓́ | alpha + breve + smooth + acute |

U+03B1 U+0306 U+0313 U+0300 | U+1FB0 U+0313 U+0300 | ᾰ̓̀ | alpha + breve + smooth + grave |

U+03B9 U+0304 U+0314 U+0300 | U+1FD1 U+0314 U+0300 | ῑ̔̀ | iota + macron + rough breathing + grave |

U+03B9 U+0304 U+0313 U+0301 | U+1FD1 U+0313 U+0301 | ῑ̓́ | iota + macron + smooth + acute |

U+03B9 U+0304 U+0313 U+0300 | U+1FD1 U+0313 U+0300 | ῑ̓̀ | iota + macron + smooth + grave |

U+03B9 U+0306 U+0314 U+0301 | U+1FD0 U+0314 U+0301 | ῐ̔́ | iota + breve + rough breathing + acute |

U+03B9 U+0306 U+0314 U+0300 | U+1FD0 U+0314 U+0300 | ῐ̔̀ | iota + breve + rough breathing + grave |

U+03B9 U+0306 U+0313 U+0301 | U+1FD0 U+0313 U+0301 | ῐ̓́ | iota + breve + smooth + acute |

U+03B9 U+0306 U+0313 U+0300 | U+1FD0 U+0313 U+0300 | ῐ̓̀ | iota + breve + smooth + grave |

U+03C5 U+0304 U+0314 U+0301 | U+1FE1 U+0314 U+0301 | ῡ̔́ | upsilon + macron + rough breathing + acute |

U+03C5 U+0304 U+0314 U+0300 | U+1FE1 U+0314 U+0300 | ῡ̔̀ | upsilon + macron + rough breathing + grave |

U+03C5 U+0304 U+0313 U+0301 | U+1FE1 U+0313 U+0301 | ῡ̓́ | upsilon + macron + smooth + acute |

U+03C5 U+0304 U+0313 U+0300 | U+1FE1 U+0313 U+0300 | ῡ̓̀ | upsilon + macron + smooth + grave |

U+03C5 U+0306 U+0314 U+0301 | U+1FE0 U+0314 U+0301 | ῠ̔́ | upsilon + breve + rough breathing + acute |

U+03C5 U+0306 U+0314 U+0300 | U+1FE0 U+0314 U+0300 | ῠ̔̀ | upsilon + breve + rough breathing + grave |

U+03C5 U+0306 U+0313 U+0301 | U+1FE0 U+0313 U+0301 | ῠ̓́ | upsilon + breve + smooth + acute |

U+03C5 U+0306 U+0313 U+0300 | U+1FE0 U+0313 U+0300 | ῠ̓̀ | upsilon + breve + smooth + grave |

In all cases the accent should be to the right of the breathing with both of them over the length diacritic.