enum HarfBuzz::BufferClusterLevelT

Overview

Data type for holding HarfBuzz's clustering behavior options. The cluster level dictates one aspect of how HarfBuzz will treat non-base characters during shaping.

In @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES, non-base characters are merged into the cluster of the base character that precedes them.

In @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS, non-base characters are initially assigned their own cluster values, which are not merged into preceding base clusters. This allows HarfBuzz to perform additional operations like reorder sequences of adjacent marks.

@HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES is the default, because it maintains backward compatibility with older versions of HarfBuzz. New client programs that do not need to maintain such backward compatibility are recommended to use @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS instead of the default.

Defined in:

auto/harf_buzz-0.0/harf_buzz.cr

Enum Members

MonotoneGraphemes = 0_u32

Return cluster values grouped by graphemes into monotone order.

MonotoneCharacters = 1_u32

Return cluster values grouped into monotone order.

Characters = 2_u32

Don't group cluster values.

Default = 0_u32

Default cluster level, equal to @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES.

Instance Method Summary

Instance Method Detail

def characters? #

def default? #

def monotone_characters? #

def monotone_graphemes? #