unifont_combining() returns a character vector of the code points
for all the "combining" characters in Unifont.
Arguments
- upper
Include glyphs above the Unicode Basic Multilingual plane.
- csur
Include (Under-)Conscript Unicode Registry glyphs.
- unicode
Include combining glyphs assigned by the Unicode Consortium (i.e. not ones in the Private Use Area like the CSUR ones). By default
FALSEsincebittermelon::bm_compose()can usually guess that a Unicode Consortium assigned glyph is a combining glyph by usingUnicode::u_char_property().
See also
Can be used with the pua_combining argument of bittermelon::bm_compose()
and bittermelon::as_bm_bitmap().
Examples
uc <- unifont_combining()
print(uc)
#> [1] "U+E040" "U+E041" "U+E042" "U+E043" "U+E044" "U+E045"
#> [7] "U+E046" "U+E047" "U+E048" "U+E049" "U+E04A" "U+E04B"
#> [13] "U+E04C" "U+E04D" "U+E04E" "U+E04F" "U+E050" "U+E051"
#> [19] "U+E052" "U+E053" "U+E054" "U+E055" "U+E056" "U+E057"
#> [25] "U+E059" "U+E05A" "U+E07D" "U+E0EA" "U+E0EB" "U+E0EC"
#> [31] "U+E12E" "U+E130" "U+E131" "U+E132" "U+E133" "U+E134"
#> [37] "U+E135" "U+E136" "U+E137" "U+E138" "U+E185" "U+E186"
#> [43] "U+E187" "U+E188" "U+E189" "U+E18A" "U+E18B" "U+E18C"
#> [49] "U+E1EA" "U+E256" "U+E257" "U+E258" "U+E259" "U+E2BF"
#> [55] "U+E310" "U+E311" "U+E312" "U+E313" "U+E3E4" "U+E3E5"
#> [61] "U+E3E6" "U+E3E7" "U+E3E8" "U+E415" "U+E416" "U+E417"
#> [67] "U+E418" "U+E419" "U+E41B" "U+E41C" "U+E41D" "U+E41E"
#> [73] "U+E542" "U+E543" "U+E544" "U+E547" "U+E548" "U+E6D4"
#> [79] "U+E6D5" "U+E6D6" "U+E6D7" "U+E6D8" "U+E6D9" "U+E6DA"
#> [85] "U+E6DB" "U+E6DC" "U+E6DD" "U+E6DE" "U+E6DF" "U+E6E0"
#> [91] "U+E6E1" "U+E6E2" "U+E6E3" "U+E6E4" "U+E6E5" "U+E985"
#> [97] "U+E986" "U+E987" "U+E988" "U+E989" "U+E98A" "U+E98B"
#> [103] "U+E98C" "U+E98D" "U+E98E" "U+E98F" "U+E99F" "U+E9A0"
#> [109] "U+E9A1" "U+E9A2" "U+E9A3" "U+E9A4" "U+E9A5" "U+E9A6"
#> [115] "U+E9A7" "U+E9A8" "U+E9A9" "U+E9AA" "U+E9AB" "U+E9AC"
#> [121] "U+E9AD" "U+E9AE" "U+E9AF" "U+E9B0" "U+E9B1" "U+E9B2"
#> [127] "U+E9B3" "U+E9B4" "U+E9B5" "U+E9B6" "U+E9B7" "U+E9B8"
#> [133] "U+E9B9" "U+E9BA" "U+E9BB" "U+E9BC" "U+E9BD" "U+E9BE"
#> [139] "U+E9BF" "U+E9C0" "U+E9C1" "U+E9C2" "U+E9C3" "U+E9C4"
#> [145] "U+E9C5" "U+E9C6" "U+E9C7" "U+E9C8" "U+E9C9" "U+E9CA"
#> [151] "U+E9CB" "U+E9CC" "U+E9CD" "U+E9CE" "U+E9CF" "U+E9D0"
#> [157] "U+E9D1" "U+E9D2" "U+E9D3" "U+E9D4" "U+E9D5" "U+E9D6"
#> [163] "U+E9D7" "U+E9D8" "U+E9D9" "U+E9DA" "U+E9DB" "U+E9DC"
#> [169] "U+E9DD" "U+E9DE" "U+E9DF" "U+EAEC" "U+EAED" "U+EAEE"
#> [175] "U+EB20" "U+EB21" "U+EB22" "U+EB23" "U+EB24" "U+EB25"
#> [181] "U+EB26" "U+EB27" "U+EB28" "U+EB29" "U+EB2A" "U+EBB1"
#> [187] "U+EBB2" "U+EBB3" "U+EBB4" "U+EBB5" "U+EBB6" "U+EBB7"
#> [193] "U+EBB8" "U+EBB9" "U+EBC1" "U+EBC2" "U+EBC3" "U+EBC4"
#> [199] "U+EBC5" "U+EBC6" "U+EBC7" "U+EBC8" "U+EBC9" "U+EBD1"
#> [205] "U+EBD2" "U+EBD3" "U+EBD4" "U+EBD5" "U+EBD6" "U+EBD7"
#> [211] "U+EBD8" "U+EBD9" "U+F8BF" "U+F8C5" "U+F8C6" "U+F8C8"
#> [217] "U+0F16CA" "U+0F16CB" "U+0F16CC" "U+0F16CD" "U+0F16CE" "U+0F1992"
#> [223] "U+0F1993" "U+0F1994" "U+0F1995" "U+0F1996" "U+0F1997" "U+0F1998"
#> [229] "U+0F1999" "U+0F199A" "U+0F199B"
# Tengwar with combining glyphs
if (require("bittermelon")) {
s <- "\ue004\ue014\ue04a\ue005\ue000\ue040\ue022\ue04a\ue003\ue04e"
font <- unifont(ucp = str2ucp(s))
bml <- as_bm_list(s, font = font)
to_raise <- which(names(bml) %in% c("U+E04A", "U+E04E"))
bml[to_raise] <- bm_shift(bml[to_raise], top = 1L)
bml <- bm_compose(bml, pua_combining = uc)
bml <- bm_pad(bml, type = "trim", left = 1L, right = 0L)
bm <- bm_call(bml, cbind)
print(bm, px = px_ascii)
}
#> -----------------------------------@@------------------
#> ----------------@------------------@@------@------@-@--
#> ---------------@-@------------------------@-@----@-@-@-
#> ---------------@-----------------@@--@@---@------@-@---
#> ---------------@-----------------@@--@@---@------@-@---
#> -------------------------------------------------------
#> -@-@@@--@@@--@-@@@--@-@@@--@@@---@-@@@-@@@@@@@@-@@@@@@@
#> -@@--@@@--@@-@@--@@-@@--@@@--@@--@@--@@---@------@@---@
#> -@----@----@-@----@-@----@----@--@----@--@-------@----@
#> -@----@----@-@----@-@---@@---@@--@----@--@-------@@--@@
#> -@--@@---@@--@--@@--@@@@@@@@@@@@-@--@@---@--------@@@-@
#> -@------------------@------------@------@-------------@
#> -@------------------@------------@------@-------------@
#> -@------------------@------------@------@-------------@
#> -@------------------@------------@------@@---@--------@
#> -@------------------@------------@-------@@@@---------@