Bug 39667 - Enable accessible/tagged PDF export options by default
Summary: Enable accessible/tagged PDF export options by default
Status: ASSIGNED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Printing and PDF export (show other bugs)
Version:
(earliest affected)
3.3.3 release
Hardware: Other All
: medium enhancement
Assignee: Naman
URL:
Whiteboard:
Keywords: accessibility, difficultyBeginner, easyHack, filter:pdf, skillDesign, topicUI
Depends on:
Blocks: a11y, Accessibility PDF-Export PDF-Accessibility
  Show dependency treegraph
 
Reported: 2011-07-29 08:37 UTC by Christophe Strobbe
Modified: 2023-01-19 07:08 UTC (History)
14 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments
comparison stats between current PDF export settings vs PDF/UA (40.23 KB, application/vnd.oasis.opendocument.spreadsheet)
2021-07-17 00:17 UTC, Stéphane Guillou (stragu)
Details
Result of bug 117428 OP STR as pasted to Notepad++ UTF-8 (31.96 KB, image/png)
2021-07-20 15:09 UTC, V Stuart Foote
Details
comparison stats between current PDF export settings vs tagged PDF and PDF/UA (45.01 KB, application/vnd.oasis.opendocument.spreadsheet)
2021-08-07 11:22 UTC, Stéphane Guillou (stragu)
Details
histogram of change rates in PDF sizes, tagged vs PDF/UA (24.73 KB, image/svg+xml)
2021-08-07 11:26 UTC, Stéphane Guillou (stragu)
Details
R script to process and visualise file sizes (2.35 KB, text/x-r-source)
2021-08-07 11:27 UTC, Stéphane Guillou (stragu)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christophe Strobbe 2011-07-29 08:37:30 UTC
When exporting ODF to PDF (in Writer or another LibreOffice component), the author can/should check several options in the export dialog to produce tagged and accessible PDF:
* the options "Tagged PDF" and "Export bookmarks" on the General tab,
* the option "Bookmarks and page" on the Initial View tab (because many users who can benefit from bookmarks don't know they exist).

It is a good thing (!) that these options remain checked after the first time, but it would be even better if they were already checked by default (i.e. right after installation): many documents are sufficiently accessible to benefit from tagged PDF export, but most authors don't know that tagged PDF exists or what it means.
Enabling tagged PDF by default won't turn inaccessible ODF files into accessible PDF, but it would make many PDF files much easier to navigate with a screen reader. In untagged PDF, screen reader shortcuts for navigating documents (h for heading, t for table, p for paragraph, etc) won't work.

Background:
http://blogs.adobe.com/acrolaw/2006/01/understanding_t_1/ explains what tagged PDF is and why it matters.
Comment 1 Tom 2011-07-30 06:28:25 UTC
Hi :)
It's an Accessibility issue but i couldn't find how to flag that up.
Regards from
Tom :)
Comment 2 Christophe Strobbe 2011-08-18 08:35:48 UTC
Microsoft Office 2010's built-in PDF export produces tagged PDF. I have not found a way to turn this off.
Comment 3 Björn Michaelsen 2011-12-23 12:21:31 UTC Comment hidden (noise)
Comment 4 Christophe Strobbe 2012-01-27 03:23:50 UTC
I confirm that this functionality request is still relevant to LibreOffice 3.5.0 RC1 (i.e. bookmarks are exported by default, but tags are not) and change the status from UNCONFIRMED to NEW.
Comment 5 QA Administrators 2015-02-19 15:43:51 UTC Comment hidden (noise)
Comment 6 Owen Genat (retired) 2015-03-22 12:42:02 UTC
Tagged PDF option still not checked by default under v4.4.1.2 when exporting to PDF.
Comment 7 Robinson Tryon (qubit) 2015-03-31 13:55:19 UTC Comment hidden (noise)
Comment 8 Robinson Tryon (qubit) 2015-12-10 03:37:39 UTC Comment hidden (noise)
Comment 9 Yousuf Philips (jay) (retired) 2016-09-13 10:08:26 UTC
So "export bookmarks" is already enabled, so 1 of 3 is already done. Enabling "bookmarks and page" seems fine as we have already enabled "export bookmarks" and pdfs with no bookmarks arent affected by this setting. "tagged pdf" is the main issue to discuss as the help states "Selects to write PDF tags. This can increase file size by huge amounts.", so i'm not to sure about enabling this by default.

@Heiko, @Stuart, @Cor, @Adolfo: What are your takes?
Comment 10 Cor Nouws 2016-09-13 19:40:23 UTC
(In reply to Yousuf Philips (jay) from comment #9)
> So "export bookmarks" is already enabled, so 1 of 3 is already done.
> Enabling "bookmarks and page" seems fine as we have already enabled "export
> bookmarks" and pdfs with no bookmarks arent affected by this setting.
> "tagged pdf" is the main issue to discuss as the help states "Selects to
> write PDF tags. This can increase file size by huge amounts.", so i'm not to
> sure about enabling this by default.
> 
> @Heiko, @Stuart, @Cor, @Adolfo: What are your takes?

Do some tests on file size..
But I agree with Christophe about the benefit. Think I would give that more weight..
Comment 11 V Stuart Foote 2016-09-13 20:18:08 UTC
While this is simply a toggle control in the export dialog, so should be simple to implement. Think it is correct to do as a default setting to produce tagged PDF by default.

More important but much more work would be to refactor the tagged PDF to produce PDF/UA compliant PDF (bug 45636).
Comment 12 Yousuf Philips (jay) (retired) 2016-09-14 00:40:09 UTC
So i tested a few docs i had from my compatibility testing days and here is the change in size.

747.4 KiB -> 3.9 MiB (+433%) [1]
979.5 KiB -> 1.5 MiB (+52%) [2]
515.0 KiB -> 680.3 KiB (+325) [3]
160.6 KiB -> 198.6 KiB [4] (+24)
184.8 KiB -> 385.7 KiB [5] (+109%)
405.7 KiB -> 484.6 KiB (+19%) [6] (a google doc i threw into the mix)

So in half of the cases, the size more than doubles and the other half it less than doubles, so it all comes down to how much structure the file has and whether users will complain about their pdfs growing way to much.

[1] http://www.microsoft.com/investor/reports/ar13/docs/2013_Annual_Report.docx
[2] attachment 103815 [details]
[3] http://download.microsoft.com/documents/rus/microsoft4you/How_to_license_the_operating_system_Windows_8_new.docx
[4] http://download.microsoft.com/documents/customerevidence/Files/710000003670/Xiamen_Tungsten_Group_unifies_enterprise.docx
[5] http://download.microsoft.com/documents/uk/partner/publicsector/DraftMicrosoftResponsetoGovernment.docx
[6] https://docs.google.com/document/d/1GCsZ3a-ACHNA6bF-pr1bGqrlgX287ZIbpV6QJ3N3keU/edit#
Comment 13 Heiko Tietze 2016-09-14 07:10:19 UTC
How about checking "Archive PDF" by default? This option includes the tagged feature and produces more standardized results. Otherwise I think average documents are small enough to deal with double its size. We do not talk about 100MB files.
Comment 14 Yousuf Philips (jay) (retired) 2016-09-14 18:51:47 UTC
"Create PDF Form' is enabled by default and enabling "Archive PDF" disables that option. Also when i tested exporting a file (number 6 from comment 12), it gave some warnings of loss of features and the file size jumped 50% compared to the tagged pdf version, so i wouldnt think it would be suitable as default for the masses.
Comment 15 Alex ARNAUD 2018-04-23 13:31:06 UTC
(In reply to Heiko Tietze from comment #13)
> How about checking "Archive PDF" by default? This option includes the tagged
> feature and produces more standardized results. Otherwise I think average
> documents are small enough to deal with double its size. We do not talk
> about 100MB files.

I'm also in favor of enabling archive PDF by default because it's less problematic to increase size of PDF than creating inaccessible PDFs.

Also, Microsoft Office exports to accessible PDF by default.

@Heiko: Do you know who is aware on how to change a default settings in LibreOffice? I assume it's trivial for someone aware of this.

Best regards,
Alex.
Comment 16 Heiko Tietze 2020-10-14 18:07:26 UTC
(In reply to Alex ARNAUD from comment #15)
> @Heiko: Do you know who is aware on how to change a default settings in
> LibreOffice? I assume it's trivial for someone aware of this.

The checkbox is on filter/uiconfig/ui/pdfgeneralpage.ui. It is set by const bool bIsPDFA = (pParent->mnPDFTypeSelection>=1) && (pParent->mnPDFTypeSelection <= 3); in filter/source/pdf/impdialog.cxx, which is defined in filter/source/pdf/pdfexport.hxx. The value is read in impdialog.cxx as mnPDFTypeSelection =  maConfigItem.ReadInt32( "SelectPdfVersion", 0 ); and this configuration is defined in https://opengrok.libreoffice.org/xref/core/officecfg/registry/schema/org/openoffice/Office/Common.xcs?r=a927e096#5389 as 0. Just set it to one of the other values.

Samuel, Thorsten: What is a sane/save default for this?
Comment 17 RISHAV 2021-01-13 04:32:40 UTC
Hi, I am working on this. Can you please point me where should I look for the code related to this issue?
Comment 18 Buovjaga 2021-01-13 06:52:13 UTC
(In reply to RISHAV from comment #17)
> Hi, I am working on this. Can you please point me where should I look for
> the code related to this issue?

The code pointer was in the last comment. Please always read some comments before asking.
Comment 19 Stéphane Guillou (stragu) 2021-07-05 05:52:45 UTC
@RISHAV, are you still working on this one?
Comment 20 Buovjaga 2021-07-05 07:23:35 UTC
(In reply to stragu from comment #19)
> @RISHAV, are you still working on this one?

As it's been 6 months, it's safe to assume the answer is "no"
Comment 21 Stéphane Guillou (stragu) 2021-07-15 00:54:44 UTC
I am interested in fixing this one.

Now, since this bug was reported, we have PDF/UA available as an option.

I understand that it would be best to now use PDF/UA as a default, as opposed to only a tagged PDF (given that, as far as I know, PDF/UA is a more recent standard, and its features is superset of tagged PDF).

For this setting, the relevant line is this one:

https://opengrok.libreoffice.org/xref/core/officecfg/registry/schema/org/openoffice/Office/Common.xcs?r=a927e096#5397

I am currently testing file size changes on a sample of 213 files from the test files from core, all the files in:
- sw/qa/extras/odfimport/data
- sw/qa/extras/ooxmlimport/data
- sw/qa/extras/ww8import/data

Please let me know if you think there are more appropriate files to test PDF export on.
Comment 22 Stéphane Guillou (stragu) 2021-07-17 00:17:16 UTC
Created attachment 173642 [details]
comparison stats between current PDF export settings vs PDF/UA

Using the 213 sample files, I get to the following stats on increase in PDF size:

1365.94% maximum change
104.88% minimum change
186.28%	median change
258.87%	mean change

The most important value here is the median change: most of the example files will result in a PDF/UA file that is less than twice the size of the current default.
The largest increases seem to be mostly related to tables and special fields.

Even if the increase is significant, I still think this is a wonderful improvement to make PDF accessible by default. It is also important for LO to be a credible tool in businesses and public institutions, especially since laws about accessibility are increasingly common. If users are concerned about PDF size, they still have the option to change settings to lower it.

Given that this bug report was originally about tagged PDF, wondering if anyone has an opinion on which option is best:
- Default PDF/UA, but when unticked: "Tagged PDF" is unticked.
- Default PDF/UA, but when unticked: "Tagged PDF" is still ticked.

I would go with the second option.
Comment 23 V Stuart Foote 2021-07-17 09:07:55 UTC
(In reply to stragu from comment #22)

See the open enhancement of bug 117428 to implement a PDF /ActualText structure for each word as iterated by ICU word bounds. 

That enhanced PDF content tagging would significantly alter Tagged PDF and PDF/UA size--but potentially greatly improve fidelity of assistive technology rendering of all document content.
Comment 24 Stéphane Guillou (stragu) 2021-07-20 13:49:40 UTC
Thanks, Stuart.

So if that by-word ActualText was to be implemented, it would automatically be integrated in both UA and Tagged PDF, and would increase the size further? Did I understand it right?

One more question: if the commit makes PDF export tests fail (because the files generated by the tests are obviously different with the new default settings), should the tests be modified in the same commit before submitting to Gerrit?
Comment 25 V Stuart Foote 2021-07-20 15:07:01 UTC
(In reply to stragu from comment #24)
> Thanks, Stuart.
> 
> So if that by-word ActualText was to be implemented, it would automatically
> be integrated in both UA and Tagged PDF, and would increase the size
> further? Did I understand it right?
> 

Yes that is my understanding.

> One more question: if the commit makes PDF export tests fail (because the
> files generated by the tests are obviously different with the new default
> settings), should the tests be modified in the same commit before submitting
> to Gerrit?

Probably also needed.
Comment 26 V Stuart Foote 2021-07-20 15:09:17 UTC Comment hidden (obsolete)
Comment 27 Stéphane Guillou (stragu) 2021-08-07 11:22:42 UTC
Created attachment 174124 [details]
comparison stats between current PDF export settings vs tagged PDF and PDF/UA

Updated stats on 213 sample files, using both tagged and PDF/UA options. Median rate of size change is 1.17 for tagged PDF, and 1.86 for PDF/UA.

With PDF/UA as a default, most PDFs (according to this sample) wouldn't reach a doubling in size.
Comment 28 Stéphane Guillou (stragu) 2021-08-07 11:26:35 UTC
Created attachment 174125 [details]
histogram of change rates in PDF sizes, tagged vs PDF/UA

Visualisation of how sizes change for 213 sample files, with median value highlighted.
PDF/UA results are more variable compared to tagged PDF, but median stays below a doubling in size.
Comment 29 Stéphane Guillou (stragu) 2021-08-07 11:27:54 UTC
Created attachment 174126 [details]
R script to process and visualise file sizes

Just in case it is useful / for transparency, the R script that processed the data and created the histogram.
Comment 30 Xisco Faulí 2022-05-02 14:48:28 UTC Comment hidden (noise)
Comment 31 Naman 2022-11-16 14:09:43 UTC
IS SOMEONE working on it ? Can I work if nobody is doing it
Comment 32 Stéphane Guillou (stragu) 2022-11-16 16:20:35 UTC
Hi Naman

The bug has no assignee anymore, so yes, please feel free to work on it.

When you switch the default settings, you will also have to fix the tests that fail as a consequence. (see comment 25)

Thank you!
Comment 33 V Stuart Foote 2022-11-16 19:11:31 UTC
Assume the UI tweak, as in comment 21, will be to set enabled PDF/UA (ISO 14289-1) while adjusting the qa tests of outputs accordingly.
Comment 34 Naman 2022-11-24 08:54:42 UTC
What to do? I am still not getting it.
Do i have to enable UA (and hence Tagged) by default ?  
I have successfully built LibreOffice in my system 
I have navigated to the file as mentioned in Comment 16 and Comment 21
Comment 35 Christophe Strobbe 2022-11-24 10:16:28 UTC
(In reply to Stéphane Guillou (stragu) from comment #21)
> Now, since this bug was reported, we have PDF/UA available as an option.
> 
> I understand that it would be best to now use PDF/UA as a default, as
> opposed to only a tagged PDF (given that, as far as I know, PDF/UA is a more
> recent standard, and its features is superset of tagged PDF).

As the original author of this change request, I would suggest using PDF/UA as the default. In some countries, organisations in charge of monitoring the accessibility of websites often simply check whether a PDF complies with PDF/UA.

With regard to file sizes: I wonder whether this matters a lot in an age where people stream many megabytes of video over their network connections.
It is a concern in countries where internet connections are much slower. There is probably much overlap between these countries and countries that have no legislation related to digital accessibility.
Comment 36 Dustin Hacker 2023-01-16 21:59:33 UTC
I was looking into working on this bug and was wondering if this is only for certain operating systems.

I cannot seem to find the dialog on MacOS 13.2 (b) on my M1 Mac Mini.

This is how the dialog appears to me when converting a document:

https://pasteboard.co/KQEdmo3yREJj.png

There is no option for selecting PDF/UA.

Am I missing something?
Comment 37 Buovjaga 2023-01-16 22:04:45 UTC
(In reply to Dustin Hacker from comment #36)
> I was looking into working on this bug and was wondering if this is only for
> certain operating systems.
> 
> I cannot seem to find the dialog on MacOS 13.2 (b) on my M1 Mac Mini.
> 
> This is how the dialog appears to me when converting a document:
> 
> https://pasteboard.co/KQEdmo3yREJj.png
> 
> There is no option for selecting PDF/UA.
> 
> Am I missing something?

File - Export As - Export as PDF
Comment 38 Dustin Hacker 2023-01-19 03:04:15 UTC
(In reply to Buovjaga from comment #37)
> (In reply to Dustin Hacker from comment #36)
> > I was looking into working on this bug and was wondering if this is only for
> > certain operating systems.
> > 
> > I cannot seem to find the dialog on MacOS 13.2 (b) on my M1 Mac Mini.
> > 
> > This is how the dialog appears to me when converting a document:
> > 
> > https://pasteboard.co/KQEdmo3yREJj.png
> > 
> > There is no option for selecting PDF/UA.
> > 
> > Am I missing something?
> 
> File - Export As - Export as PDF

Thank you. I am about to download the source and get started.
Comment 39 Dustin Hacker 2023-01-19 04:26:56 UTC
Currently running into the following issue when compiling the latest source code:

- dustinhacker@Dustins-Mac-mini libo % ./autogen.sh
- Failed to run aclocal at ./autogen.sh line 196.

When looking at aclocal (from GNU Autoconf), I wasn't getting a lot of information. I decided to try and build Automake, which generated the following error:

- configure: error: The installed version of autoconf does not work.
-     Please check config.log for error messages before this one.

The contents of config.log for this error:

- configure:3662: checking whether autoconf works
- configure:3670: cd conftest && autoconf -o /dev/null conftest.ac
- unknown channel m4trace: -1- _m4_warn(syntax, AC_OUTPUT was never used, )
-  at /usr/local/share/autoconf/Autom4te/Channels.pm line 631.
-         Autom4te::Channels::msg("m4trace: -1- _m4_warn(syntax, AC_OUTPUT was never used, )\x{a}", undef, undef, "partial", 0) called at /usr/local/bin/autom4te line 1084
- configure:3673: $? = 1
- configure:3682: result: no

I decided to try and re-build/install M4, which led me to this error:

- Making all in src
-   CC       m4.o
-   CC       builtin.o
-   CC       debug.o
-   CC       eval.o
-   CC       format.o
-   CC       freeze.o
-   CC       input.o
-   CC       macro.o
-   CC       output.o
-   CC       path.o
-   CC       symtab.o
-   CCLD     m4
- ld: warning: ignoring file ../lib/libm4.a, building for macOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E 0x0A 0x2F 0x20 0x20 0x20 0x20 0x20 0x20 0x20 )
- Undefined symbols for architecture arm64:
-   "__obstack_begin", referenced from:
-       _debug_init in debug.o
-       _pop_wrapup in input.o
-       _input_init in input.o
-       _expand_input in macro.o
-       _expand_token in macro.o
-       _output_init in output.o
-   "__obstack_free", referenced from:
-       _mkstemp_helper in builtin.o
-       _debug_decode in debug.o
-       _trace_flush in debug.o
-       _push_file in input.o
-       _push_macro in input.o
-       _pop_input in input.o
-       _push_string_finish in input.o
-       ...
-   "__obstack_newchunk", referenced from:
-       _expand_user_macro in builtin.o
-       _dump_args in builtin.o
-       _m4___file__ in builtin.o
-       _m4___line__ in builtin.o
-       _m4___program__ in builtin.o
-       _m4_decr in builtin.o
-       _m4_defn in builtin.o
-       ...
-   "_c_stack_action", referenced from:
-       _main in m4.o
-   "_cleanup_temp_dir", referenced from:
-       _cleanup_tmpfile in output.o
-   "_cleanup_temp_file", referenced from:
-       _output_exit in output.o
-       _insert_diversion_helper in output.o
-   "_close_stdin", referenced from:
-       _main in m4.o
-   "_close_stream", referenced from:
-       _debug_set_file in debug.o
-       _debug_set_output in debug.o
-       _produce_frozen_state in freeze.o
-       _reload_frozen_state in freeze.o
-   "_close_stream_temp", referenced from:
-       _output_exit in output.o
-       _make_room_for in output.o
-       _make_diversion in output.o
-       _insert_diversion_helper in output.o
-       _cleanup_tmpfile in output.o
-   "_create_pipe_in", referenced from:
-       _m4_esyscmd in builtin.o
-   "_create_temp_dir", referenced from:
-       _make_room_for in output.o
-   "_emit_bug_reporting_address", referenced from:
-       _usage in m4.o
-   "_error", referenced from:
-       _main in m4.o
-       _process_file in m4.o
-      (maybe you meant: _m4_error, _m4_error_at_line )
-   "_execute", referenced from:
-       _m4_syscmd in builtin.o
-   "_exit_failure", referenced from:
-       _m4_m4exit in builtin.o
-       _cleanup_tmpfile in output.o
-   "_file_name_concat", referenced from:
-       _m4_path_search in path.o
-   "_fopen_safer", referenced from:
-       _debug_set_output in debug.o
-       _produce_frozen_state in freeze.o
-       _m4_path_search in path.o
-   "_fopen_temp", referenced from:
-       _make_room_for in output.o
-       _m4_tmpopen in output.o
-   "_gl_avltree_oset_implementation", referenced from:
-       _output_init in output.o
-   "_memchr2", referenced from:
-       _m4_translit in builtin.o
-       _next_token in input.o
-   "_mkstemp_safer", referenced from:
-       _mkstemp_helper in builtin.o
-   "_program_name", referenced from:
-       _fault_handler in m4.o
-       _usage in m4.o
-       _m4___program__ in builtin.o
-   "_proper_name_utf8", referenced from:
-       _main in m4.o
-   "_register_temp_file", referenced from:
-       _make_room_for in output.o
-       _insert_diversion_helper in output.o
-   "_rpl_fclose", referenced from:
-       _m4_esyscmd in builtin.o
-       _m4_undivert in builtin.o
-       _pop_input in input.o
-       _m4_path_search in path.o
-   "_rpl_fflush", referenced from:
-       _m4_errprint in builtin.o
-       _debug_flush_files in debug.o
-   "_rpl_free", referenced from:
-       _main in m4.o
-       _process_file in m4.o
-       _free_macro_sequence in builtin.o
-       _define_user_macro in builtin.o
-       _builtin_init in builtin.o
-       _m4_patsubst in builtin.o
-       _m4_regexp in builtin.o
-       ...
-   "_rpl_fseeko", referenced from:
-       _debug_flush_files in debug.o
-       _m4_tmpopen in output.o
-   "_rpl_getopt_long", referenced from:
-       _main in m4.o
-   "_rpl_optarg", referenced from:
-       _main in m4.o
-   "_rpl_optind", referenced from:
-       _main in m4.o
-   "_rpl_re_compile_pattern", referenced from:
-       _set_macro_sequence in builtin.o
-       _m4_patsubst in builtin.o
-       _m4_regexp in builtin.o
-   "_rpl_re_search", referenced from:
-       _define_user_macro in builtin.o
-       _m4_patsubst in builtin.o
-       _m4_regexp in builtin.o
-   "_rpl_re_set_registers", referenced from:
-       _set_macro_sequence in builtin.o
-   "_rpl_regfree", referenced from:
-       _free_macro_sequence in builtin.o
-       _m4_patsubst in builtin.o
-       _m4_regexp in builtin.o
-   "_rpl_rename", referenced from:
-       _insert_diversion_helper in output.o
-   "_rpl_setlocale", referenced from:
-       _main in m4.o
-   "_rpl_strstr", referenced from:
-       _m4_index in builtin.o
-   "_set_program_name", referenced from:
-       _main in m4.o
-   "_unregister_temp_file", referenced from:
-       _make_room_for in output.o
-       _insert_diversion_helper in output.o
-   "_verror_at_line", referenced from:
-       _m4_error in m4.o
-       _m4_failure in m4.o
-       _m4_error_at_line in m4.o
-       _m4_failure_at_line in m4.o
-   "_version_etc", referenced from:
-       _main in m4.o
-   "_wait_subprocess", referenced from:
-       _m4_esyscmd in builtin.o
-   "_xalloc_die", referenced from:
-       _output_init in output.o
-       _make_diversion in output.o
-   "_xasprintf", referenced from:
-       _main in m4.o
-       _expand_format in format.o
-       _m4_tmpname in output.o
-   "_xfprintf", referenced from:
-       _usage in m4.o
-       _m4_dumpdef in builtin.o
-       _m4_errprint in builtin.o
-       _debug_message_prefix in debug.o
-       _trace_flush in debug.o
-       _produce_frozen_state in freeze.o
-       _freeze_symbol in freeze.o
-       ...
-   "_xmalloc", referenced from:
-       _main in m4.o
-       _builtin_init in builtin.o
-       _debug_init in debug.o
-       _reload_frozen_state in freeze.o
-       _pop_wrapup in input.o
-       _input_init in input.o
-       _expand_input in macro.o
-       ...
-   "_xreallocarray", referenced from:
-       _symtab_init in symtab.o
-   "_xstrdup", referenced from:
-       _main in m4.o
-       _define_user_macro in builtin.o
-       _input_init in input.o
-       _set_quotes in input.o
-       _set_comment in input.o
-       _insert_diversion_helper in output.o
-       _include_env_init in path.o
-       ...
- ld: symbol(s) not found for architecture arm64
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
- make[2]: *** [m4] Error 1
- make[1]: *** [all-recursive] Error 1
- make: *** [all] Error 2

I have ran into this error before while building other projects and it relates to the way that the build scripts (MakeFile, ./configure, etc.) interpret the output from the "uname" command on Linux and MacOS.

Since Apple swapped to the M1 (AKA Apple Silicon), a lot of older software will just assume that Mac software is X86_64.

I am looking into what I can do to resolve this so that I can re-build and install M4, to install automake and autoconf. I wanted to get whatever kinks I could find in the build system resolved before I started working this bug (#39667).
Comment 40 Buovjaga 2023-01-19 05:41:40 UTC
(In reply to Dustin Hacker from comment #39)
> Currently running into the following issue when compiling the latest source
> code:
> 
> - dustinhacker@Dustins-Mac-mini libo % ./autogen.sh
> - Failed to run aclocal at ./autogen.sh line 196.

Were you using these instructions: https://wiki.documentfoundation.org/Development/lode
and doing the edits to ~/.zprofile ?

Please email me to get mentoring.
Comment 41 Samuel Mehrbrodt (allotropia) 2023-01-19 07:08:52 UTC
While I agree that "Tagged" PDF should be enabled by default, I'm not sure doing this for PDF/UA does make sense.

Creating PDF/UA compliant documents requires the user to create the documents in a very specific way. I don't think this makes sense for the average user.
Thing is, when the PDF/UA checkbox is enabled, the user sees the a11y checker when trying to export a PDF. Even an empty Writer document already has a problem reported: "Document title not set".
This will confuse average users.

So my suggestion is to enable tagged PDF by default, but not PDF/UA.