forked from amazingfate/loongoffice
...as referenced e.g. at <https://docs.microsoft.com/en-us/previous-versions/visualstudio/foxpro/aa975345(v=vs.71)> "Code Pages Supported by Visual FoxPro". That source lists those two encodings with "code page" values 895 and 620, resp. (which might be what we call "Windows code pages" in include/rtl/tencinfo.h) and "code page identifier" values 0x68 and 0x69, reps. (which might be what we call "Windows charsets" in include/rtl/tencinfo.h. But I deliberately left these two new RTL_TEXTENCODING_* values without any mappings to such Windows codepages etc., as I didn't find any authoritative sources. What I used is the information available at <https://en.wikipedia.org/wiki/Kamenick%C3%BD_encoding> and <https://en.wikipedia.org/wiki/Mazovia_encoding>. (And while at it, I also updated the instructions what to do "Whenever some encoding is added here" in include/rtl/textenc.h.) This commit is building on some prior, abandoned work by Julien Nabet at <https://gerrit.libreoffice.org/c/core/+/139819> "tdf#150877: DBF Mazovia encoding (0x69)". Change-Id: Iae8af4ebab8915411499ae7ef951339b335aa857 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140014 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
270 lines
16 KiB
C
270 lines
16 KiB
C
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
/*
|
|
* This file is part of LibreOffice published API.
|
|
*/
|
|
|
|
#ifndef INCLUDED_RTL_TEXTENC_H
|
|
#define INCLUDED_RTL_TEXTENC_H
|
|
|
|
#include "sal/types.h"
|
|
|
|
/** The various supported text encodings.
|
|
|
|
Possible values include a wide range of single- and multi-byte encodings
|
|
(ranging from RTL_TEXTENCODING_MS_1252 to RTL_TEXTENCODING_GB_18030),
|
|
the ISO 10646 (Unicode) specific encodings RTL_TEXTENCODING_UCS4 and
|
|
RTL_TEXTENCODING_UCS2 (aka RTL_TEXTENCODING_UNICODE), and
|
|
RTL_TEXTENCODING_DONTKNOW to indicate an unknown or missing encoding.
|
|
*/
|
|
typedef sal_uInt16 rtl_TextEncoding;
|
|
|
|
#define RTL_TEXTENC_CAST( val ) ((rtl_TextEncoding) val)
|
|
|
|
#define RTL_TEXTENCODING_DONTKNOW (RTL_TEXTENC_CAST( 0 ))
|
|
#define RTL_TEXTENCODING_MS_1252 (RTL_TEXTENC_CAST( 1 ))
|
|
#define RTL_TEXTENCODING_APPLE_ROMAN (RTL_TEXTENC_CAST( 2 ))
|
|
#define RTL_TEXTENCODING_IBM_437 (RTL_TEXTENC_CAST( 3 ))
|
|
#define RTL_TEXTENCODING_IBM_850 (RTL_TEXTENC_CAST( 4 ))
|
|
#define RTL_TEXTENCODING_IBM_860 (RTL_TEXTENC_CAST( 5 ))
|
|
#define RTL_TEXTENCODING_IBM_861 (RTL_TEXTENC_CAST( 6 ))
|
|
#define RTL_TEXTENCODING_IBM_863 (RTL_TEXTENC_CAST( 7 ))
|
|
#define RTL_TEXTENCODING_IBM_865 (RTL_TEXTENC_CAST( 8 ))
|
|
/* Reserved: RTL_TEXTENCODING_SYSTEM (RTL_TEXTENC_CAST( 9 )) */
|
|
#define RTL_TEXTENCODING_SYMBOL (RTL_TEXTENC_CAST( 10 ))
|
|
#define RTL_TEXTENCODING_ASCII_US (RTL_TEXTENC_CAST( 11 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_1 (RTL_TEXTENC_CAST( 12 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_2 (RTL_TEXTENC_CAST( 13 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_3 (RTL_TEXTENC_CAST( 14 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_4 (RTL_TEXTENC_CAST( 15 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_5 (RTL_TEXTENC_CAST( 16 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_6 (RTL_TEXTENC_CAST( 17 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_7 (RTL_TEXTENC_CAST( 18 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_8 (RTL_TEXTENC_CAST( 19 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_9 (RTL_TEXTENC_CAST( 20 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_14 (RTL_TEXTENC_CAST( 21 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_15 (RTL_TEXTENC_CAST( 22 ))
|
|
#define RTL_TEXTENCODING_IBM_737 (RTL_TEXTENC_CAST( 23 ))
|
|
#define RTL_TEXTENCODING_IBM_775 (RTL_TEXTENC_CAST( 24 ))
|
|
#define RTL_TEXTENCODING_IBM_852 (RTL_TEXTENC_CAST( 25 ))
|
|
#define RTL_TEXTENCODING_IBM_855 (RTL_TEXTENC_CAST( 26 ))
|
|
#define RTL_TEXTENCODING_IBM_857 (RTL_TEXTENC_CAST( 27 ))
|
|
#define RTL_TEXTENCODING_IBM_862 (RTL_TEXTENC_CAST( 28 ))
|
|
#define RTL_TEXTENCODING_IBM_864 (RTL_TEXTENC_CAST( 29 ))
|
|
#define RTL_TEXTENCODING_IBM_866 (RTL_TEXTENC_CAST( 30 ))
|
|
#define RTL_TEXTENCODING_IBM_869 (RTL_TEXTENC_CAST( 31 ))
|
|
#define RTL_TEXTENCODING_MS_874 (RTL_TEXTENC_CAST( 32 ))
|
|
#define RTL_TEXTENCODING_MS_1250 (RTL_TEXTENC_CAST( 33 ))
|
|
#define RTL_TEXTENCODING_MS_1251 (RTL_TEXTENC_CAST( 34 ))
|
|
#define RTL_TEXTENCODING_MS_1253 (RTL_TEXTENC_CAST( 35 ))
|
|
#define RTL_TEXTENCODING_MS_1254 (RTL_TEXTENC_CAST( 36 ))
|
|
#define RTL_TEXTENCODING_MS_1255 (RTL_TEXTENC_CAST( 37 ))
|
|
#define RTL_TEXTENCODING_MS_1256 (RTL_TEXTENC_CAST( 38 ))
|
|
#define RTL_TEXTENCODING_MS_1257 (RTL_TEXTENC_CAST( 39 ))
|
|
#define RTL_TEXTENCODING_MS_1258 (RTL_TEXTENC_CAST( 40 ))
|
|
#define RTL_TEXTENCODING_APPLE_ARABIC (RTL_TEXTENC_CAST( 41 ))
|
|
#define RTL_TEXTENCODING_APPLE_CENTEURO (RTL_TEXTENC_CAST( 42 ))
|
|
#define RTL_TEXTENCODING_APPLE_CROATIAN (RTL_TEXTENC_CAST( 43 ))
|
|
#define RTL_TEXTENCODING_APPLE_CYRILLIC (RTL_TEXTENC_CAST( 44 ))
|
|
#define RTL_TEXTENCODING_APPLE_DEVANAGARI (RTL_TEXTENC_CAST( 45 ))
|
|
#define RTL_TEXTENCODING_APPLE_FARSI (RTL_TEXTENC_CAST( 46 ))
|
|
#define RTL_TEXTENCODING_APPLE_GREEK (RTL_TEXTENC_CAST( 47 ))
|
|
#define RTL_TEXTENCODING_APPLE_GUJARATI (RTL_TEXTENC_CAST( 48 ))
|
|
#define RTL_TEXTENCODING_APPLE_GURMUKHI (RTL_TEXTENC_CAST( 49 ))
|
|
#define RTL_TEXTENCODING_APPLE_HEBREW (RTL_TEXTENC_CAST( 50 ))
|
|
#define RTL_TEXTENCODING_APPLE_ICELAND (RTL_TEXTENC_CAST( 51 ))
|
|
#define RTL_TEXTENCODING_APPLE_ROMANIAN (RTL_TEXTENC_CAST( 52 ))
|
|
#define RTL_TEXTENCODING_APPLE_THAI (RTL_TEXTENC_CAST( 53 ))
|
|
#define RTL_TEXTENCODING_APPLE_TURKISH (RTL_TEXTENC_CAST( 54 ))
|
|
#define RTL_TEXTENCODING_APPLE_UKRAINIAN (RTL_TEXTENC_CAST( 55 ))
|
|
#define RTL_TEXTENCODING_APPLE_CHINSIMP (RTL_TEXTENC_CAST( 56 ))
|
|
#define RTL_TEXTENCODING_APPLE_CHINTRAD (RTL_TEXTENC_CAST( 57 ))
|
|
#define RTL_TEXTENCODING_APPLE_JAPANESE (RTL_TEXTENC_CAST( 58 ))
|
|
#define RTL_TEXTENCODING_APPLE_KOREAN (RTL_TEXTENC_CAST( 59 ))
|
|
#define RTL_TEXTENCODING_MS_932 (RTL_TEXTENC_CAST( 60 ))
|
|
#define RTL_TEXTENCODING_MS_936 (RTL_TEXTENC_CAST( 61 ))
|
|
#define RTL_TEXTENCODING_MS_949 (RTL_TEXTENC_CAST( 62 ))
|
|
#define RTL_TEXTENCODING_MS_950 (RTL_TEXTENC_CAST( 63 ))
|
|
#define RTL_TEXTENCODING_SHIFT_JIS (RTL_TEXTENC_CAST( 64 ))
|
|
#define RTL_TEXTENCODING_GB_2312 (RTL_TEXTENC_CAST( 65 ))
|
|
#define RTL_TEXTENCODING_GBT_12345 (RTL_TEXTENC_CAST( 66 ))
|
|
#define RTL_TEXTENCODING_GBK (RTL_TEXTENC_CAST( 67 ))
|
|
#define RTL_TEXTENCODING_BIG5 (RTL_TEXTENC_CAST( 68 ))
|
|
#define RTL_TEXTENCODING_EUC_JP (RTL_TEXTENC_CAST( 69 ))
|
|
#define RTL_TEXTENCODING_EUC_CN (RTL_TEXTENC_CAST( 70 ))
|
|
#define RTL_TEXTENCODING_EUC_TW (RTL_TEXTENC_CAST( 71 ))
|
|
#define RTL_TEXTENCODING_ISO_2022_JP (RTL_TEXTENC_CAST( 72 ))
|
|
#define RTL_TEXTENCODING_ISO_2022_CN (RTL_TEXTENC_CAST( 73 ))
|
|
#define RTL_TEXTENCODING_KOI8_R (RTL_TEXTENC_CAST( 74 ))
|
|
#define RTL_TEXTENCODING_UTF7 (RTL_TEXTENC_CAST( 75 ))
|
|
#define RTL_TEXTENCODING_UTF8 (RTL_TEXTENC_CAST( 76 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_10 (RTL_TEXTENC_CAST( 77 ))
|
|
#define RTL_TEXTENCODING_ISO_8859_13 (RTL_TEXTENC_CAST( 78 ))
|
|
#define RTL_TEXTENCODING_EUC_KR (RTL_TEXTENC_CAST( 79 ))
|
|
#define RTL_TEXTENCODING_ISO_2022_KR (RTL_TEXTENC_CAST( 80 ))
|
|
#define RTL_TEXTENCODING_JIS_X_0201 (RTL_TEXTENC_CAST( 81 ))
|
|
#define RTL_TEXTENCODING_JIS_X_0208 (RTL_TEXTENC_CAST( 82 ))
|
|
#define RTL_TEXTENCODING_JIS_X_0212 (RTL_TEXTENC_CAST( 83 ))
|
|
#define RTL_TEXTENCODING_MS_1361 (RTL_TEXTENC_CAST( 84 ))
|
|
#define RTL_TEXTENCODING_GB_18030 (RTL_TEXTENC_CAST( 85 ))
|
|
#define RTL_TEXTENCODING_BIG5_HKSCS (RTL_TEXTENC_CAST( 86 ))
|
|
#define RTL_TEXTENCODING_TIS_620 (RTL_TEXTENC_CAST( 87 ))
|
|
#define RTL_TEXTENCODING_KOI8_U (RTL_TEXTENC_CAST( 88 ))
|
|
#define RTL_TEXTENCODING_ISCII_DEVANAGARI (RTL_TEXTENC_CAST( 89 ))
|
|
#define RTL_TEXTENCODING_JAVA_UTF8 (RTL_TEXTENC_CAST( 90 ))
|
|
#define RTL_TEXTENCODING_ADOBE_STANDARD (RTL_TEXTENC_CAST( 91 ))
|
|
#define RTL_TEXTENCODING_ADOBE_SYMBOL (RTL_TEXTENC_CAST( 92 ))
|
|
#define RTL_TEXTENCODING_PT154 (RTL_TEXTENC_CAST( 93 ))
|
|
#define RTL_TEXTENCODING_ADOBE_DINGBATS (RTL_TEXTENC_CAST( 94 ))
|
|
#define RTL_TEXTENCODING_KAMENICKY (RTL_TEXTENC_CAST( 95 ))
|
|
#define RTL_TEXTENCODING_MAZOVIA (RTL_TEXTENC_CAST( 96 ))
|
|
/* ATTENTION! Whenever some encoding is added here, make sure to update
|
|
* rtl_isOctetTextEncoding in sal/textenc/tencinfo.cxx and sal_getFullTextEncodingData in
|
|
* sal/textenc/tables.cxx.
|
|
*/
|
|
|
|
#define RTL_TEXTENCODING_USER_START (RTL_TEXTENC_CAST( 0x8000 ))
|
|
#define RTL_TEXTENCODING_USER_END (RTL_TEXTENC_CAST( 0xEFFF ))
|
|
|
|
#define RTL_TEXTENCODING_UCS4 (RTL_TEXTENC_CAST( 0xFFFE ))
|
|
#define RTL_TEXTENCODING_UCS2 (RTL_TEXTENC_CAST( 0xFFFF ))
|
|
#define RTL_TEXTENCODING_UNICODE RTL_TEXTENCODING_UCS2
|
|
|
|
/****** Overview over the TextEncodings *****
|
|
# Arabic (Apple Macintosh) RTL_TEXTENCODING_APPLE_ARABIC
|
|
Arabic (DOS/OS2-864) RTL_TEXTENCODING_IBM_864
|
|
Arabic (ISO-8859-6) RTL_TEXTENCODING_ISO_8859_6
|
|
Arabic (Windows-1256) RTL_TEXTENCODING_MS_1256
|
|
|
|
Baltic (DOS/OS2-775) RTL_TEXTENCODING_IBM_775
|
|
Baltic (ISO-8859-4) RTL_TEXTENCODING_ISO_8859_4
|
|
Baltic (Windows-1257) RTL_TEXTENCODING_MS_1257
|
|
|
|
Central European (Apple Macintosh) RTL_TEXTENCODING_APPLE_CENTEURO
|
|
Central European (Apple Macintosh/Croatian) RTL_TEXTENCODING_APPLE_CROATIAN
|
|
Central European (Apple Macintosh/Romanian) RTL_TEXTENCODING_APPLE_ROMANIAN
|
|
Central European (DOS/OS2-852) RTL_TEXTENCODING_IBM_852
|
|
Central European (ISO-8859-2) RTL_TEXTENCODING_ISO_8859_2
|
|
Central European (ISO-8859-10) RTL_TEXTENCODING_ISO_8859_10
|
|
Central European (ISO-8859-13) RTL_TEXTENCODING_ISO_8859_13
|
|
Central European (Windows-1250/WinLatin 2) RTL_TEXTENCODING_MS_1250
|
|
|
|
Chinese Simplified (Apple Macintosh) RTL_TEXTENCODING_APPLE_CHINSIMP
|
|
Chinese Simplified (EUC-CN) RTL_TEXTENCODING_EUC_CN
|
|
Chinese Simplified (GB-2312) RTL_TEXTENCODING_GB_2312
|
|
Chinese Simplified (GBK/GB-2312-80) RTL_TEXTENCODING_GBK
|
|
# Chinese Simplified (ISO-2022-CN) RTL_TEXTENCODING_ISO_2022_CN
|
|
Chinese Simplified (Windows-936) RTL_TEXTENCODING_MS_936
|
|
# Chinese Simplified (GB-18030) RTL_TEXTENCODING_GB_18030
|
|
|
|
Chinese Traditional (Apple Macintosh) RTL_TEXTENCODING_APPLE_CHINTRAD
|
|
Chinese Traditional (BIG5) RTL_TEXTENCODING_BIG5
|
|
# Chinese Traditional (EUC-TW) RTL_TEXTENCODING_EUC_TW
|
|
Chinese Traditional (GBT-12345) RTL_TEXTENCODING_GBT_12345
|
|
Chinese Traditional (Windows-950) RTL_TEXTENCODING_MS_950
|
|
Chinese Traditional (BIG5-HKSCS) RTL_TEXTENCODING_BIG5_HKSCS
|
|
|
|
Cyrillic (Apple Macintosh) RTL_TEXTENCODING_APPLE_CYRILLIC
|
|
Cyrillic (Apple Macintosh/Ukrainian) RTL_TEXTENCODING_APPLE_UKRAINIAN
|
|
Cyrillic (DOS/OS2-855) RTL_TEXTENCODING_IBM_855
|
|
Cyrillic (DOS/OS2-866/Russian) RTL_TEXTENCODING_IBM_866
|
|
Cyrillic (ISO-8859-5) RTL_TEXTENCODING_ISO_8859_5
|
|
Cyrillic (KOI8-R) RTL_TEXTENCODING_KOI8_R
|
|
Cyrillic (KOI8-U) RTL_TEXTENCODING_KOI8_U
|
|
Cyrillic (Windows-1251) RTL_TEXTENCODING_MS_1251
|
|
|
|
Greek (Apple Macintosh) RTL_TEXTENCODING_APPLE_GREEK
|
|
Greek (DOS/OS2-737) RTL_TEXTENCODING_IBM_737
|
|
Greek (DOS/OS2-869/Modern) RTL_TEXTENCODING_IBM_869
|
|
Greek (ISO-8859-7) RTL_TEXTENCODING_ISO_8859_7
|
|
Greek (Windows-1253) RTL_TEXTENCODING_MS_1253
|
|
|
|
# Hebrew (Apple Macintosh) RTL_TEXTENCODING_APPLE_HEBREW
|
|
Hebrew (DOS/OS2-862) RTL_TEXTENCODING_IBM_862
|
|
Hebrew (ISO-8859-8) RTL_TEXTENCODING_ISO_8859_8
|
|
Hebrew (Windows-1255) RTL_TEXTENCODING_MS_1255
|
|
|
|
Korean (Apple Macintosh) RTL_TEXTENCODING_APPLE_KOREAN
|
|
Korean (EUC-KR) RTL_TEXTENCODING_EUC_KR
|
|
# Korean (ISO-2022-KR) RTL_TEXTENCODING_ISO_2022_KR
|
|
Korean (Windows-Wansung-949) RTL_TEXTENCODING_MS_949
|
|
Korean (Windows-Johab-1361) RTL_TEXTENCODING_MS_1361
|
|
|
|
Latin 3 (ISO-8859-3) RTL_TEXTENCODING_ISO_8859_3
|
|
|
|
Indian (ISCII Devanagari) RTL_TEXTENCODING_ISCII_DEVANAGARI
|
|
|
|
Japanese (Apple Macintosh) RTL_TEXTENCODING_APPLE_JAPANESE
|
|
Japanese (EUC-JP) RTL_TEXTENCODING_EUC_JP
|
|
# Japanese (ISO-2022-JP) RTL_TEXTENCODING_ISO_2022_JP
|
|
Japanese (Shift-JIS) RTL_TEXTENCODING_SHIFT_JIS
|
|
Japanese (Windows-932) RTL_TEXTENCODING_MS_932
|
|
|
|
Symbol RTL_TEXTENCODING_SYMBOL
|
|
|
|
# Thai (Apple Macintosh) RTL_TEXTENCODING_APPLE_THAI
|
|
Thai (Dos/Windows-874) RTL_TEXTENCODING_MS_874
|
|
Thai (TIS 620) RTL_TEXTENCODING_TIS_620
|
|
|
|
Turkish (Apple Macintosh) RTL_TEXTENCODING_APPLE_TURKISH
|
|
Turkish (DOS/OS2-857) RTL_TEXTENCODING_IBM_857
|
|
Turkish (ISO-8859-9) RTL_TEXTENCODING_ISO_8859_9
|
|
Turkish (Windows-1254) RTL_TEXTENCODING_MS_1254
|
|
|
|
Unicode (UTF-7) RTL_TEXTENCODING_UTF7
|
|
Unicode (UTF-8) RTL_TEXTENCODING_UTF8
|
|
Unicode (Java's modified UTF-8) RTL_TEXTENCODING_JAVA_UTF8
|
|
|
|
Vietnamese (Windows-1258) RTL_TEXTENCODING_MS_1258
|
|
|
|
Western (Apple Macintosh) RTL_TEXTENCODING_APPLE_ROMAN
|
|
Western (Apple Macintosh/Icelandic) RTL_TEXTENCODING_APPLE_ICELAND
|
|
Western (ASCII/US) RTL_TEXTENCODING_ASCII_US
|
|
Western (DOS/OS2-437/US) RTL_TEXTENCODING_IBM_437
|
|
Western (DOS/OS2-850/International) RTL_TEXTENCODING_IBM_850
|
|
Western (DOS/OS2-860/Portuguese) RTL_TEXTENCODING_IBM_860
|
|
Western (DOS/OS2-861/Icelandic) RTL_TEXTENCODING_IBM_861
|
|
Western (DOS/OS2-863/Canadian-French) RTL_TEXTENCODING_IBM_863
|
|
Western (DOS/OS2-865/Nordic) RTL_TEXTENCODING_IBM_865
|
|
Western (ISO-8859-1) RTL_TEXTENCODING_ISO_8859_1
|
|
Western (ISO-8859-14) RTL_TEXTENCODING_ISO_8859_14
|
|
Western (ISO-8859-15/EURO) RTL_TEXTENCODING_ISO_8859_15
|
|
Western (Window-1252/WinLatin 1) RTL_TEXTENCODING_MS_1252
|
|
|
|
Not known and currently not supported
|
|
# RTL_TEXTENCODING_APPLE_DEVANAGARI
|
|
# RTL_TEXTENCODING_APPLE_FARSI
|
|
# RTL_TEXTENCODING_APPLE_GUJARATI
|
|
# RTL_TEXTENCODING_APPLE_GURMUKHI
|
|
|
|
Only for internal implementations and not useful for user interface.
|
|
These encodings are not used for text encodings, only used for
|
|
font-/textoutput encodings.
|
|
Japanese (JIS 0201) RTL_TEXTENCODING_JISX_0201
|
|
Japanese (JIS 0208) RTL_TEXTENCODING_JISX_0208
|
|
Japanese (JIS 0212) RTL_TEXTENCODING_JISX_0212
|
|
|
|
# Currently not implemented
|
|
*/
|
|
|
|
#endif // INCLUDED_RTL_TEXTENC_H
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|