///|
fn pdf_ua_metadata_length(subformat : PdfUASubformat, title : String) -> Int {
pdf_ua_ascii_length(
"\n",
) +
pdf_ua_ascii_length("\n") +
pdf_ua_ascii_length(
"\n",
) +
pdf_ua_ascii_length(
"\n",
) +
pdf_ua_ascii_length("") +
pdf_ua_xml_escaped_utf8_length(title) +
pdf_ua_ascii_length("\n\n") +
pdf_ua_ascii_length("\n") +
pdf_ua_pdfua_marker_length(subformat) +
pdf_ua_ascii_length(
"\n\n\n",
)
}
///|
fn pdf_ua_metadata_bytes(
subformat : PdfUASubformat,
title : String,
) -> @core.PdfBytes {
let output = Array::make(pdf_ua_metadata_length(subformat, title), b'\x00')
let mut position = pdf_ua_write_ascii(
output, 0, "\n",
)
position = pdf_ua_write_ascii(
output, position, "\n",
)
position = pdf_ua_write_ascii(
output, position, "\n",
)
position = pdf_ua_write_ascii(
output, position, "\n",
)
position = pdf_ua_write_ascii(
output, position, "",
)
position = pdf_ua_write_xml_escaped_utf8(output, position, title)
position = pdf_ua_write_ascii(
output, position, "\n\n",
)
position = pdf_ua_write_ascii(
output, position, "\n")
position = pdf_ua_write_pdfua_marker(output, position, subformat)
let _ = pdf_ua_write_ascii(
output, position, "\n\n\n",
)
Bytes::from_array(output)
}