Changes in version 1.3.1 What's Changed - Update author and contributor roles in DESCRIPTION by @wangben718 in https://github.com/Merck/r2rtf/pull/293 Changes in version 1.3.0 (2026-01-09) New features - Add write_docx() and write_html() to output encoded RTF to DOCX/HTML via LibreOffice (@elong0527, #281). - Add \\pagenumber_hardcoding control word for table-relative page numbering in multi-page tables (@wangben718, #283). Bug fixes - Remove trailing whitespace after \\totalpage to avoid emitting extra spaces and support page-aware substitution (@elong0527, #280). - strwidth() and par() calls no longer leak a graphics device when no device is active, preventing unwanted Rplots.pdf output (@nanxstats, #285). Improvements - Update vignette examples to avoid misleading footer/source labels (@wangben718, #286). Maintenance - Include tests/testthat/_snaps/ in the built package to satisfy testthat snapshot requirements and fix R CMD check with testthat >= 3.3.0 (@elong0527, #282). Changes in version 1.2.0 (2025-08-22) New features - Add internationalization (i18n) support with use_i18n parameter in rtf_page() to enable SimSun font for Chinese character support in RTF documents (#256). - Add text_hyphenation parameter to rtf_title(), rtf_colheader(), and rtf_subline() functions to control text hyphenation in RTF output (#235). Improvements - Refactor font type table to use a data frame structure for better maintainability (#264). Changes in version 1.1.4 (2025-03-11) Bug fixes - Support setting text color properly when encoding figures into RTF (@elong0527, #252). Improvements - Safeguard code examples and tests against a rare situation where officer could miss its underlying dependency systemfonts (@nanxstats, #249). Changes in version 1.1.3 (2025-02-28) Bug fixes - Fix unlist() usage in as_rtf_footnote() which could result in errors for downstream code under R >= 4.5.0 (@nanxstats, #245). Changes in version 1.1.2 (2025-02-21) Improvements - Fine-tune the symbol to ANSI and Unicode converter for faster, safer, and more robust conversion (thanks, @yihui, #217). - Use code to generate the Unicode/LaTeX mapping table, to replace the previous R/sysdata.rda solution. Now the mapping table is directly accessible via r2rtf:::unicode_latex (thanks, @yihui, #218). Changes in version 1.1.1 (2023-10-25) Bug fixes - Fix bug when converting UTF-8 code >= 128 (#194). Improvements - Add LibreOffice 7.6 support and improve error messages style (#198). - Update .docx and .html artifacts in vignettes/ (#206). Changes in version 1.1.0 (2023-07-10) New features - Add r2rtf_ric_text() to allow inline formatting (#184). Improvements - Use the native pipe in unit testing (#179). Changes in version 1.0.4 (2023-06-18) Bug fixes - Page size of the first page is different from the other pages (#174). Changes in version 1.0.3 (2023-05-26) Bug fixes - Properly display cell height in HTML output (#66). - Fix an issue when group_by and page_by are used together (#168). Changes in version 1.0.2 (2023-05-01) Bug fixes - Display proper indentation for footnote and data source (#141). - Fix an issue when a column only contains missing value (#146). Improvements - Improve grammar and style for the main vignette (@howardbaek, #144). - Add LibreOffice 7.4 and 7.5 support (#156). - Add citation details (#155). Changes in version 1.0.1 (2023-02-01) New features - Enable vertical alignment (#136). Improvements - Add support for LibreOffice 7.3 (#92). Changes in version 1.0.0 (2023-01-12) New features - Add new functions: assemble_docx() and assemble_rtf(). Bug fixes - rtf_encode() fails when data contains NA and fixed-width font is used (#118). - Avoid error when cell_nrow = 1 (#108, #109). Improvements - Update copyright text. Changes in version 0.3.5 (2022-05-17) Bug fixes - Avoid warning messages on matrix dimension in R >= 4.2.0 (#101). - Vectorized text justification for rtf_title(), rtf_footnote(), and other functions (#98). Changes in version 0.3.4 (2022-04-08) Bug fixes - utf8Tortf() provides additional "-". Improvements - Update maintainer email. Changes in version 0.3.3 (2022-03-07) Improvements - rtf_page() now has a new argument use_color. Bug fixes - Convert to proper RTF code. - rft_encode() does not add footnote and source to all pages for doc_type = "figure" (#90). Changes in version 0.3.2 (2021-12-07) New features - The new function rtf_read_figure() supports jpeg and emf formats for reading figures (#65). Bug fixes - Avoid using as.vector for data.frame (#74). - Proper alignment to transfer html (#61). Improvements - Avoid specific LibreOffice version (#68). Changes in version 0.3.1 (2021-09-09) New features - New argument cell_vertical_alignment in rtf_*() functions (#49, #52). - New argument verbose in rtf_encode_list() and rtf_encode_table() (#38). Bug fixes - unicode_latex not found (#50). - Vertical align column headers (#49, #52). - Vectorize text formatting arguments in rtf_page_header() and rtf_page_footer() (#47, #53). - text_format issue with all value equal to "" (#40). - r2rtf needs to work properly with group_by() (#36). Changes in version 0.3.0 (2021-06-01) New features - New experimental internal function rtf_convert_format(). - New argument pageby_row in rtf_body() to display first row instead of page_by variable when pageby_row = "first_row". - New argument subline_by in rtf_body to display subline by an variable. - New argument text_indent_reference to allow user to control reference of indent from page margin or table border (#12). - New internal function rtf_subset() to subset an RTF table object. Bug fixes - group_by can be used when page_by = NULL. - page_by cannot sort format style in rtf_body(). - Ensure consistent font size with blank cell (#14). Improvements - Rename datasets with prefix r2rtf_ to avoid conflicts with other namespaces. - Enable special place holder "-----" in page_by variable to suppress line displayed in the page_by variable. See example 2 in vignettes/example-pageby-groupby.Rmd. Changes in version 0.2.0 (2020-12-04) New features - Add rtf_subline(), rtf_page_header(), and rtf_page_footer(). - Add rtf_page() to set page related attributes. - Introduce argument text_convert to allow fixed string. - Add argument as_table in rtf_footnote() and rtf_source() to allow footnote and data source inside or outside of a table. - Refactor the pageby feature to enable the group_by feature. Add vignettes/example-pageby.Rmd to illustrate new pageby features. - Define obj_rtf_border and obj_rtf_text objects to standardize border and text attributes. Improvements - Add example ADaM datasets. - Add validation tracker in inst/ and test cases in tests/. Changes in version 0.1.1 (2020-04-03) - Standardize input from gt_tbl to tbl. - Resolve UTF-8 encoding. Changes in version 0.1.0 - Added a NEWS.md file to track changes to the package. - Initial version.