CharacterShape refactoring