- Add
write_docx()andwrite_html()to output encoded RTF to DOCX/HTML via LibreOffice (@elong0527, #281). - Add
\\pagenumber_hardcodingcontrol word for table-relative page numbering in multi-page tables (@wangben718, #283).
- Remove trailing whitespace after
\\totalpageto avoid emitting extra spaces and support page-aware substitution (@elong0527, #280). strwidth()andpar()calls no longer leak a graphics device when no device is active, preventing unwantedRplots.pdfoutput (@nanxstats, #285).
- Update vignette examples to avoid misleading footer/source labels (@wangben718, #286).
- Include
tests/testthat/_snaps/in the built package to satisfy testthat snapshot requirements and fixR CMD checkwith testthat >= 3.3.0 (@elong0527, #282).
- Add internationalization (i18n) support with
use_i18nparameter inrtf_page()to enable SimSun font for Chinese character support in RTF documents (#256). - Add
text_hyphenationparameter tortf_title(),rtf_colheader(), andrtf_subline()functions to control text hyphenation in RTF output (#235).
- Refactor font type table to use a data frame structure for better maintainability (#264).
- Support setting text color properly when encoding figures into RTF (@elong0527, #252).
- Safeguard code examples and tests against a rare situation where officer could miss its underlying dependency systemfonts (@nanxstats, #249).
- Fix
unlist()usage inas_rtf_footnote()which could result in errors for downstream code under R >= 4.5.0 (@nanxstats, #245).
- 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.rdasolution. Now the mapping table is directly accessible viar2rtf:::unicode_latex(thanks, @yihui, #218).
- Fix bug when converting UTF-8 code >= 128 (#194).
- Add LibreOffice 7.6 support and improve error messages style (#198).
- Update
.docxand.htmlartifacts invignettes/(#206).
- Add
r2rtf_ric_text()to allow inline formatting (#184).
- Use the native pipe in unit testing (#179).
- Page size of the first page is different from the other pages (#174).
- Properly display cell height in HTML output (#66).
- Fix an issue when
group_byandpage_byare used together (#168).
- Display proper indentation for footnote and data source (#141).
- Fix an issue when a column only contains missing value (#146).
- Improve grammar and style for the main vignette (@howardbaek, #144).
- Add LibreOffice 7.4 and 7.5 support (#156).
- Add citation details (#155).
- Enable vertical alignment (#136).
- Add support for LibreOffice 7.3 (#92).
- Add new functions:
assemble_docx()andassemble_rtf().
rtf_encode()fails when data containsNAand fixed-width font is used (#118).- Avoid error when
cell_nrow = 1(#108, #109).
- Update copyright text.
- Avoid warning messages on matrix dimension in R >= 4.2.0 (#101).
- Vectorized text justification for
rtf_title(),rtf_footnote(), and other functions (#98).
utf8Tortf()provides additional "-".
- Update maintainer email.
rtf_page()now has a new argumentuse_color.
- Convert to proper RTF code.
rft_encode()does not add footnote and source to all pages fordoc_type = "figure"(#90).
- The new function
rtf_read_figure()supportsjpegandemfformats for reading figures (#65).
- Avoid using
as.vectorfordata.frame(#74). - Proper alignment to transfer
html(#61).
- Avoid specific LibreOffice version (#68).
- New argument
cell_vertical_alignmentinrtf_*()functions (#49, #52). - New argument
verboseinrtf_encode_list()andrtf_encode_table()(#38).
unicode_latexnot found (#50).- Vertical align column headers (#49, #52).
- Vectorize text formatting arguments in
rtf_page_header()andrtf_page_footer()(#47, #53). text_formatissue with all value equal to""(#40).- r2rtf needs to work properly with
group_by()(#36).
- New experimental internal function
rtf_convert_format(). - New argument
pageby_rowinrtf_body()to display first row instead ofpage_byvariable whenpageby_row = "first_row". - New argument
subline_byinrtf_bodyto display subline by an variable. - New argument
text_indent_referenceto 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.
group_bycan be used whenpage_by = NULL.page_bycannot sort format style inrtf_body().- Ensure consistent font size with blank cell (#14).
- Rename datasets with prefix
r2rtf_to avoid conflicts with other namespaces. - Enable special place holder
"-----"inpage_byvariable to suppress line displayed in thepage_byvariable. See example 2 invignettes/example-pageby-groupby.Rmd.
- Add
rtf_subline(),rtf_page_header(), andrtf_page_footer(). - Add
rtf_page()to set page related attributes. - Introduce argument
text_convertto allow fixed string. - Add argument
as_tableinrtf_footnote()andrtf_source()to allow footnote and data source inside or outside of a table. - Refactor the
pagebyfeature to enable thegroup_byfeature. Addvignettes/example-pageby.Rmdto illustrate newpagebyfeatures. - Define
obj_rtf_borderandobj_rtf_textobjects to standardize border and text attributes.
- Add example ADaM datasets.
- Add validation tracker in
inst/and test cases intests/.
- Standardize input from
gt_tbltotbl. - Resolve UTF-8 encoding.
- Added a
NEWS.mdfile to track changes to the package. - Initial version.