| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
KB.Text.Shape.FFI.API.Segmentation
Synopsis
- kbts_GuessTextProperties :: Ptr () -> CInt -> TextFormat -> Ptr Direction -> Ptr Script -> IO ()
- kbts_GuessTextPropertiesUtf32 :: Ptr CInt -> CInt -> Ptr Direction -> Ptr Script -> IO ()
- kbts_GuessTextPropertiesUtf8 :: Ptr CChar -> CInt -> Ptr Direction -> Ptr Script -> IO ()
- kbts_BreakBegin :: BreakState -> Direction -> JapaneseLineBreakStyle -> BreakConfigFlags -> IO ()
- kbts_BreakAddCodepoint :: BreakState -> CInt -> CInt -> CInt -> IO ()
- kbts_BreakEnd :: BreakState -> IO ()
- kbts_Break :: BreakState -> Ptr Break -> IO CInt
- kbts_BreakEntireString :: Direction -> JapaneseLineBreakStyle -> BreakConfigFlags -> Ptr () -> CInt -> TextFormat -> Ptr Break -> CInt -> Ptr CInt -> Ptr BreakFlags -> CInt -> Ptr CInt -> IO ()
- kbts_BreakEntireStringUtf32 :: Direction -> JapaneseLineBreakStyle -> BreakConfigFlags -> Ptr () -> CInt -> Ptr Break -> CInt -> Ptr CInt -> Ptr BreakFlags -> CInt -> Ptr CInt -> IO ()
- kbts_BreakEntireStringUtf8 :: Direction -> JapaneseLineBreakStyle -> BreakConfigFlags -> Ptr () -> CInt -> IO ()
Documentation
This is a quick guess that stops at the first glyph that has a strong script/direction associated to it.
It is convenient, but only works if you are sure your input text is mono-script and mono-direction.
kbts_GuessTextProperties Source #
void kbts_GuessTextProperties(void *Text, int TextSizeInBytes, kbts_text_format Format, kbts_direction *Direction, kbts_script *Script);
kbts_GuessTextPropertiesUtf32 Source #
void kbts_GuessTextPropertiesUtf32(const int *Utf32, int Utf32Count, kbts_direction *Direction, kbts_script *Script);
kbts_GuessTextPropertiesUtf8 Source #
void kbts_GuessTextPropertiesUtf8(const char *Utf8, int Utf8Length, kbts_direction *Direction, kbts_script *Script);
Arguments
| :: BreakState | |
| -> Direction | ParagraphDirection |
| -> JapaneseLineBreakStyle | |
| -> BreakConfigFlags | |
| -> IO () |
void kbts_BreakBegin(kbts_break_state *State, kbts_direction ParagraphDirection, kbts_japanese_line_break_style JapaneseLineBreakStyle, kbts_break_config_flags ConfigFlags);
kbts_BreakAddCodepoint Source #
Arguments
| :: BreakState | |
| -> CInt | Codepoint |
| -> CInt | PositionIncrement |
| -> CInt | EndOfText |
| -> IO () |
void kbts_BreakAddCodepoint(kbts_break_state *State, int Codepoint, int PositionIncrement, int EndOfText);
kbts_BreakEnd :: BreakState -> IO () Source #
void kbts_BreakEnd(kbts_break_state *State);
kbts_Break :: BreakState -> Ptr Break -> IO CInt Source #
int kbts_Break(kbts_break_state *State, kbts_break *Break);
kbts_BreakEntireString Source #
Arguments
| :: Direction | |
| -> JapaneseLineBreakStyle | |
| -> BreakConfigFlags | |
| -> Ptr () | Input |
| -> CInt | InputSizeInBytes |
| -> TextFormat | |
| -> Ptr Break | |
| -> CInt | BreakCapacity |
| -> Ptr CInt | BreakCount |
| -> Ptr BreakFlags | |
| -> CInt | BreakFlagCapacity |
| -> Ptr CInt | BreakFlagCount |
| -> IO () |
void kbts_BreakEntireString(kbts_direction Direction, kbts_japanese_line_break_style JapaneseLineBreakStyle, kbts_break_config_flags ConfigFlags, const void *Input, int InputSizeInBytes, kbts_text_format InputFormat, kbts_break *Breaks, int BreakCapacity, int *BreakCount, kbts_break_flags *BreakFlags, int BreakFlagCapacity, int *BreakFlagCount);
kbts_BreakEntireStringUtf32 Source #
Arguments
| :: Direction | |
| -> JapaneseLineBreakStyle | |
| -> BreakConfigFlags | |
| -> Ptr () | Input |
| -> CInt | Utf32Count |
| -> Ptr Break | |
| -> CInt | BreakCapacity |
| -> Ptr CInt | BreakCount |
| -> Ptr BreakFlags | |
| -> CInt | BreakFlagCapacity |
| -> Ptr CInt | BreakFlagCount |
| -> IO () |
void kbts_BreakEntireStringUtf32(kbts_direction Direction, kbts_japanese_line_break_style JapaneseLineBreakStyle, kbts_break_config_flags ConfigFlags, const int *Utf32, int Utf32Count, kbts_break *Breaks, int BreakCapacity, int *BreakCount, kbts_break_flags *BreakFlags, int BreakFlagCapacity, int *BreakFlagCount);
kbts_BreakEntireStringUtf8 Source #
Arguments
| :: Direction | |
| -> JapaneseLineBreakStyle | |
| -> BreakConfigFlags | |
| -> Ptr () | Input |
| -> CInt | Utf8Length |
| -> IO () |
void kbts_BreakEntireStringUtf8(kbts_direction Direction, kbts_japanese_line_break_style JapaneseLineBreakStyle, kbts_break_config_flags ConfigFlags, const char *Utf8, int Utf8Length, kbts_break *Breaks, int BreakCapacity, int *BreakCount, kbts_break_flags *BreakFlags, int BreakFlagCapacity, int *BreakFlagCount);