Bug 122532 - Some expressions' first letters eligible to be capitalized are not capitalized.
Summary: Some expressions' first letters eligible to be capitalized are not capitalized.
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
(earliest affected)
Inherited From OOo
Hardware: x86-64 (AMD64) All
: low minor
Assignee: Not Assigned
Keywords: needsDevAdvice
Depends on:
Blocks: AutoCorrect-Complete
  Show dependency treegraph
Reported: 2019-01-07 14:39 UTC by ricky.tigg
Modified: 2021-04-03 19:02 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Note You need to log in before you can comment on or make changes to this bug.
Description ricky.tigg 2019-01-07 14:39:46 UTC
Some expressions' first letters eligible to be capitalized are not capitalized.

Steps to Reproduce:
1. Under Fedora, open a new ODT document, enter 'a' as only content;
2. Under Tools -> AutoCorrect, check While Typing;
3. Under Tools -> AutoCorrect -> AutoCorrect Options, Options tab, check both boxes for Capitalize first letter of every sentence, one for initial typing, the other for modification of existing text;
4. Alternate the use of following combinations with Step 1. : '. ', '.[Return]', '! ', '? ';
5. Enter as contents, each alone, 'Linux? linux. ', 'Linux? a. ', 'A? linux. '.

Actual Results:
4. – Combinations '. ', '.[Return]' do not trigger capitalization operations.
5. – Respective results are 'Linux? Linux. ', 'Linux? a. ', 'A? linux. '. Only expression 'linux' in first content has been capitalized as expected.

Expected Results:
Assuming full stop ('.'), question mark  ('?'), exclamation point ('!') followed by space mark (' ') or [Return] mark at the end of an expression, answer to the definition of a sentence.

The following steps' contents are eligible to trigger capitalization operations.
4. – 'a. ', 'a.[Return]'.
5. – 'Linux? a. ', 'A? linux. '.

Reproducible: Always

User Profile Reset: Yes

Additional Info:
Version:; Build ID:; CPU threads: 4; OS: Linux 4.19; UI render: default; VCL: gtk3; Locale: en-GB (en_GB.UTF-8); Calc: group threaded
Comment 1 Durgapriyanka 2019-01-07 17:44:55 UTC
Thank you for reporting the bug. I can reproduce the bug in 

Build ID: 3c964980da07892a02d5ac721d80558c459532d0
CPU threads: 2; OS: Windows 6.1; UI render: default; VCL: win; 
TinderBox: Win-x86@42, Branch:master, Time: 2018-12-12_02:07:45
Locale: en-US (en_US); UI-Language: en-US
Calc: threaded
Comment 2 Buovjaga 2019-01-15 14:31:05 UTC
I guess it is some rule made on purpose, possibly a balancing act trying not to annoy users. The same applies for strings with 2 characters: 'ab. ' will not capitalise.

I found the condition:

In editeng/source/misc/svxacorr.cxx

In the function definition void SvxAutoCorrect::FnCapitalStartSentence

> if( *pDelim && 2 >= pDelim - pWordStt &&
>    lcl_IsInAsciiArr( ".-)>", *pDelim ) )
>    return;

Adding needsDevAdvice.
Comment 3 QA Administrators 2021-01-15 04:24:07 UTC Comment hidden (obsolete)
Comment 4 ricky.tigg 2021-01-15 11:00:57 UTC
Version:; Build ID: 00(Build:2); CPU threads: 4; OS: Linux 5.10; UI render: default; VCL: gtk3; Locale: fi-FI (fi_FI.UTF-8); UI: en-US; Calc: threaded

I still observe the depicted behaviours. They may though be expected as the results of an applied hidden rule as suggested. By essence, users cannot be aware of how such a rule would be aimed to apply and then unable to determine whether there are some incorrect results if any.