Hat/circumflex above letter in LibreOffice Writer - libreoffice

I would like to have arbitrary letters in normal text (not formula mode) with a hat/circumflex above it. For instance, it should look like this: Ĝ.
How can I achieve this in LibreOffice Writer?

The example character is LATIN CAPITAL LETTER G WITH CIRCUMFLEX, which decomposes into G and U+0302.
So enter G, then go to Insert -> Special Character and search for U+302. Double-click to insert.
For convenience, set up Keyman or MSKLC or even AutoHotkey to do this with a key combination such as Alt+6.

Related

How to search certain characters based on their unicode number?

In Emacs, I would like to search certain characters and replace them. They can be separated by their unicode number. For example, below 3 characters has different unicode number.
á(#xe1), ⓐ(#x24d0), 𝒶(#x1d4b6)
What if I want to search characters between the range #x1d000 to #x1dfff, and then I will use regxp replace to add a double quote("") for each of these characters?
First of all, you can enter Unicode characters by their hexadecimal codes using the key binding C-x 8 C-m (the command is called insert-char). So type C-x 8 C-m, enter 1d000, and then hit RET to insert the character with Unicode code point 1d000.
Then we can use this to search and replace.
Type C-M-% to run the command query-replace-regexp
For the search expression, enter [, then C-x 8 C-m 1d000 RET , then -, and then C-x 8 C-m 1dfff RET, and finally ]. That is, search for any character in the range between 1d000 and 1dfff. (This is similar to the "normal" regexp [a-z], which matches all characters between a and z, i.e. all lowercase characters.)
For the replace expression, enter "\&". \& is a special sequence for inserting the text matched by the search expression, so we're going to wrap every matching character in double quotes.
Then, hit y to replace matches one by one, or ! to replace all remaining matches.

How do I type an accented letter in VSCode?

I cannot find anything remotely resembling instructions for typing an accented character in VSCode.
On Windows, entering special characters (including letters with accents) can be done with ALT Codes. Pressing down the Alt key and then a specific series of numbers on the num pad will type the corresponding character.
e.g.
Alt+0233 = é
Alt+0225 = á
On OSX, the method is a bit simpler: https://support.apple.com/en-us/HT201586
Typing special characters on Linux is a bit hairy...
You can use the Insert Unicode plugin.
To type 'É'
(which is not easy to get, even on a French keyboard, unless you remember Alt+0201):
simply type E (shift+e)
then "Insert Unicode" (through the palette command), and select 0x301 COMBINNING ACUTE ACCENT
You can easily define keyboard shortcut to insert your favorite emoji
{
"key": "ctrl+e f",
"command": "insert-unicode.insertTextExact",
"args": "fire"
}
tape in command-line setxkbmap fr , and tape 2 for é , 0 for à and 7 for è

Microsoft word wildcard find and replace using ctrl h function

Hi I am a complete novice with Microsoft word wildcard function using ctrl h
I need some assistance with finding all capital letters in a word document and insert line break before each capital letter
Example
Perfect party wear Classic black jacket Open front Collarless
I need to change the above to:
Perfect party wear
Classic black jacket
Open front Collarless
I have tried using Find what:<[A-Z][a-z]{2,}> Replace with ^13 and it replaces the all the words that start with a capital letter with a line break instead of inserting a line break before the capital letter.
I would really appreciate some help please
Find what: <[A-Z][a-z]{2,}>
Replace with: ^p^&
Options: Use wildcards
^p is a paragraph mark (end of paragraph, same as typing <Enter>, not the caracter ¶). ^& means "the text what was found". Press the button Special with the cursor in the Find what or the Replace with fields to see (some of) the available specialties.

Display em-dash in report

I want a simple formula which concatenates two values together separated by an em-dash. The formula would read something like the following:
{?PeriodFrom} & #em-dash-character# & {?PeriodTo}
Obviously, I just want the em-dash character to appear between the two period values. How can this be done?
You can use ― U+2015 Horizontal Bar
You also don't need to use a formula for this. If you create a Text Object you can actually drag {?PeriodFrom} and {?PeriodTo} into the textbox and paste the Horizontal Bar between them:
Just keep in mind you have to drag the parameter fields into the textbox. Manually typing in "{?PeriodFrom}" won't work.
Also found this:
Four ways to insert an em dash in a Word document
The easiest way to enter an em dash ( — ) is to let Word do it. Simply enter two hyphen characters between the two words you want to connect, and Word will turn the hyphens into an em dash. If this doesn't work for you, one of two possibilities exist:
• You've inserted space characters between the words and the hyphen characters. When you enter spaces between the hyphens, Word formats the hyphens as an en dash ( – ), which is shorter than an em dash.
• Someone has disabled the AutoCorrect option that formats hyphens as an em dash.
Now, this default won't work for everyone every single time. If you occasionally need two hyphens instead of an em dash, you can press [Ctrl]+Z and Word willundo the em dash character and restore the hyphens. If you find yourself doing this a lot, it might be more efficient to disable the AutoCorrect option and enter an em dash, when you require it, manually. You can disable this option as follows:
1. From the Tools menu, choose AutoCorrect Options.
2. Click the AutoFormat As You Type tab.
3. Uncheck the Hyphens ( — ) With ( — ) option.
4. Click OK.
After disabling the AutoCorrect option, you'll have to enter an em dash manually. Fortunately, there are three easy methods:
• Press [Ctrl]+[Alt]+-. You must use the minus sign (-) on the numeric keypad; if you use the hyphen character on the alphanumeric keypad, Word will change the cursor.
• Hold down the [Alt] key and type 0151 on the numeric keypad.
• Choose Symbol from the Insert menu, click the Special Characters tab, highlight the em dash, and click Insert.
formatted nicely here

Why words are shuffled when I insert English words in any Arabic/Urdu/Persian text on Notepad or MS Word?

I can write Arabic/Urdu/Persian on MS Word or Notepad just fine, but whenever I insert any English word or number, the sequence is just disturbed and seems like the all the words have been shuffled in the sentence.
Look at the example below:
یہ ایک مثال ہے اردو کی ...
Now I inserted an English word and it became:
یہ ایک مثال ہےword اردو کی ...
So you can see almost all of the words have been jumbled ... what is the solution for that ?
For example:
باللغة العربية “keyboard” انا أريد أن أعرف الكلمة
Finish typing the Arabic word and add a space after it (this space separates the embedded text from the Arabic text to its right).
Insert special character U+200F (to render the preceding space an Arabic character). The character name is "Right to Left Mark".
Insert special character U+202A (to begin the left-to-right embedding). The character name is "Left to Right Embedding".
Insert another space (to separate the embedded text from the Arabic text that will continue to its left).
Change the keyboard to e.g. English and type the left-to-right word.
Insert special character U+202C (to restore the bidrectional state to what it was before the left-to-right embedding). The Character name is "Pop directional formatting".
Change the keyboard back and continue writing in Arabic.
If you're working in Microsoft Office or Open Office, the "special characters" can be found under "insert" [Insert -> symbols -> other symbols -> special characters in MS 2013]. Scroll through until you find the character with the appropriate Unicode number, and if the Unicode number does not appear in your version of MS Word, select it by its name [as indicated above].
You can also add the character by writing it's unicode and then selecting it and pressing Alt+X - but that can be confusing because it needs constant change between Arabic and English.
All of the special characters involved in this little manoeuvre are invisible characters (their job is simply to change the direction of the text) so don't be surprised if it looks like you're not inserting anything.
Pay attention to select the RTL option from the ribbon when the majority of your paragraph is RTL and keep it selected [as shown in the picture in this answer https://stackoverflow.com/a/46050171/8558867 ].
Before you start typing in Arabic/Persian make sure you have chosen "Right-to-Left-Direction" button. This button can be found on Paragraph tab just left side of AZ sorting button. Also select "Align Text Right" button which can be found in Paragraph tab left side of Justify button.
Start typing your language
Before putting an English word put an space then select left ALT + SHIFT and type your English word
Once finished your English words select right ALT + SHIFT and then put a space and keep typing your language again
Hope this helps
This is OK; they're not shuffled: you're seeing them in LTR rendering mode.
You just need to make them right-to-left. In Notepad or Word, press right Ctrl+Shift to make their direction right-to-left and it will be okay. (It's like having <p dir="rtl">...</p> in HTML).
The control characters LRE and RLE (0x202A and 0x202B) and also LRM and RLM (0x200E and 0x200F) need to be applied to the whole paragraph, i.e they should come at the beginning of the sequence. Some text display widgets of some platforms may discard these control characters though, particularly older (pre-2000) platforms or those who do not support Unicode bidirectional algorithm correctly. Newer OS'es and programs should be fine; try with Windows Notepad for example.
I personally recommend using the platform's means to make the text RTL, and avoid special control characters because they're invisible and may cause surprising results if they go out of control. So you'd better use Word's API to make the text RTL, or if your output is HTML put them in <div dir="rtl">...</div> tags. For plain text file, user has to manually press the Ctrl+Shift keys himself.
Edit: this was written as a clarification answer to the first answer here, I later edited the first answer and added the important notes I wrote here [the edit still needs approval though].
I was able to fix my text by following the steps in the first answer here.
In case anyone faces troubles while following the steps, let me clarify some things:
If you are entering an English word in an Arabic text, make sure that RTL option in the ribbon is selected [circled in red in the following figure]:
Keep it selected throughout the paragraph irrespective of the language you are using [as long as the majority of the paragraph is written in an RTL language like Arabic or Hebrew].
Where to find the special characters and how to insert them:
You can write the unicode of the character and then select it and press "Alt + X". However, this can be a bit confusing because of the need to change back and forth between English and Arabic to write the codes, so the best thing to do is enter them 'manually' by inserting their names.
You can do that by going to Insert -> Symbol -> More Symbols -> Special characters [scroll down]. Then select the name of the characters you need to use instead of its unicode.
The names of the characters you'll need to use [as specified in the first answer here] are:
"Right to Left Mark" : U+200F.
"Left to Right Embedding": U+202A.
"Pop Directional Formatting": U+202C.
As the first answer says, nothing will appear on the screen because it's a non-printing character, so it's normal if you felt like nothing happened when you insert.
If you need to do it the other way around, that is, insert a Hebrew or Arabic word in an English text, just reverse the use of unicodes -- Or follow the steps in the following link: https://superuser.com/a/1247476/767967
If you want to know more about what the special characters do and what it means to make your paragraph LTR or RTL, visit the following link: http://dotancohen.com/howto/rtl_right_to_left.html#Directionality
Select the paragraph (e.g. using triple click) and use the button for right-to-left direction (¶◀) in the Paragraph section of the Start pane.
As Hossein’s answer explains, the issue is the directionality in the paragraph. It changes to left to right when you insert a Latin letter, and you need to fix this manually.
You need to add an invisible RLE Unicode Character at the start of the line [^].
It's : 0x202B hex = 8235 decimal or RIGHT-TO-LEFT EMBEDDING (RLE).
It's necessary for Notepad but MS-Word is able to handle it. you need to right align your text correctly.
How to enter RLE: http://www.fileformat.info/tip/microsoft/enter_unicode.htm
In word processing, you have a main text direction which is either left-to-right or right-to-left (or top to bottom, but let's ignore that :-), and you have a text direction for individual characters, which will also be left to right or right to left.
The word processor splits the text into chunks of strings with the same character ordering, then displays these chunks according to the main text ordering.
It seems that your main text ordering was left to right. As long as all your text is arabic, there is just one chunk with arabic text. You see already it is displayed left aligned and not right aligned because the text ordering is left to right. The characters are displayed right to left because that is how arabic is displayed.
When you inserted latin text, you had three chunks: Arabic, latin, arabic. These three chunks are displayed left to right because that is the main text ordering. That would be fine for text that is mostly latin (like "The arabic words for dog and cow are ... and ..."). For text that is mostly arabic with the occasional latin word, you need to change the main text ordering to "right to left".
Just follow this:
Copy and paste the arabic text into from word or text document to ADOBE Illustrator.
Save the illustrator document as in .EPS format.
Open indesign and place the .EPS document into the place you want.
Since indesign can't handle arabic text issue by it self, this method will help many designers.