utf8_print.Rd
Print a UTF-8 character object.
utf8_print(x, chars = NULL, quote = TRUE, na.print = NULL,
print.gap = NULL, right = FALSE, max = NULL,
names = NULL, rownames = NULL, escapes = NULL,
display = TRUE, style = TRUE, utf8 = NULL, ...)
character object.
integer scalar indicating the maximum number of
character units to display. Wide characters like emoji take
two character units; combining marks and default ignorables
take none. Longer strings get truncated and suffixed or prefixed
with an ellipsis ("..."
in C locale, "\u2026"
in
others). Set to NULL
to limit output to the line width
as determined by getOption("width")
.
logical scalar indicating whether to put surrounding
double-quotes ('"'
) around character strings and escape
internal double-quotes.
character string (or NULL
) indicating
the encoding for NA
values. Ignored when
na.encode
is FALSE
.
non-negative integer (or NULL
) giving the
number of spaces in gaps between columns; set to NULL
or 1
for a single space.
logical scalar indicating whether to right-justify character strings.
non-negative integer (or NULL
) indicating the
maximum number of elements to print; set to
getOption("max.print")
if argument is NULL
.
a character string specifying the display style for the (column) names, as an ANSI SGR parameter string.
a character string specifying the display style for the row names, as an ANSI SGR parameter string.
a character string specifying the display style for the backslash escapes, as an ANSI SGR parameter string.
logical scalar indicating whether to optimize the encoding for display, not byte-for-byte data transmission.
logical scalar indicating whether to apply ANSI
terminal escape codes to style the output. Ignored when
output_ansi()
is FALSE
.
logical scalar indicating whether to optimize results
for a UTF-8 capable display, or NULL
to set as the
result of output_utf8()
. Ignored when output_utf8()
is FALSE
.
further arguments passed from other methods. Ignored.
utf8_print
prints a character object after formatting it with
utf8_format
.
For ANSI terminal output (when output_ansi()
is TRUE
),
you can style the row and column names with the rownames
and
names
parameters, specifying an ANSI SGR parameter string; see
https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters.
The function returns x
invisibly.
# printing (assumes that output is capable of displaying Unicode 10.0.0)
print(intToUtf8(0x1F600 + 0:79)) # with default R print function
#> [1] "๐๐๐๐๐๐
๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐
๐๐๐๐๐๐๐๐๐๐"
utf8_print(intToUtf8(0x1F600 + 0:79)) # with utf8_print, truncates line
#> [1] "๐โ๐โ๐โ๐โ๐โ๐
โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐ โ๐กโ๐ขโ๐ฃโโฆ"
utf8_print(intToUtf8(0x1F600 + 0:79), chars = 1000) # higher character limit
#> [1] "๐โ๐โ๐โ๐โ๐โ๐
โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐ โ๐กโ๐ขโ๐ฃโ๐คโ๐ฅโ๐ฆโ๐งโ๐จโ๐ฉโ๐ชโ๐ซโ๐ฌโ๐ญโ๐ฎโ๐ฏโ๐ฐโ๐ฑโ๐ฒโ๐ณโ๐ดโ๐ตโ๐ถโ๐ทโ๐ธโ๐นโ๐บโ๐ปโ๐ผโ๐ฝโ๐พโ๐ฟโ๐โ๐โ๐โ๐โ๐โ๐
โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ๐โ"
# in C locale, output ASCII (same results on all platforms)
oldlocale <- Sys.getlocale("LC_CTYPE")
invisible(Sys.setlocale("LC_CTYPE", "C")) # switch to C locale
utf8_print(intToUtf8(0x1F600 + 0:79))
#> [1] "\U0001f600\U0001f601\U0001f602\U0001f603\U0001f604\U0001f605\U0001f606..."
invisible(Sys.setlocale("LC_CTYPE", oldlocale)) # switch back to old locale
# Mac and Linux only: style the names
# see https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters
utf8_print(matrix(as.character(1:20), 4, 5),
names = "1;4", rownames = "2;3")
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] "1" "5" "9" "13" "17"
#> [2,] "2" "6" "10" "14" "18"
#> [3,] "3" "7" "11" "15" "19"
#> [4,] "4" "8" "12" "16" "20"