diff --git a/cui/AllLangResTarget_cui.mk b/cui/AllLangResTarget_cui.mk index e82b4e0e0f6c..119a1d62ab1b 100644 --- a/cui/AllLangResTarget_cui.mk +++ b/cui/AllLangResTarget_cui.mk @@ -50,7 +50,6 @@ $(eval $(call gb_SrsTarget_add_files,cui/res,\ cui/source/options/dbregister.src \ cui/source/options/doclinkdialog.src \ cui/source/options/internationaloptions.src \ - cui/source/options/optasian.src \ cui/source/options/optchart.src \ cui/source/options/optcolor.src \ cui/source/options/optdict.src \ diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk index 5d3538b867d6..98680862dfce 100644 --- a/cui/UIConfig_cui.mk +++ b/cui/UIConfig_cui.mk @@ -63,6 +63,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/optaccessibilitypage \ cui/uiconfig/ui/optadvancedpage \ cui/uiconfig/ui/optappearancepage \ + cui/uiconfig/ui/optasianpage \ cui/uiconfig/ui/optbasicidepage \ cui/uiconfig/ui/optbrowserpage \ cui/uiconfig/ui/optctlpage \ diff --git a/cui/source/inc/optasian.hxx b/cui/source/inc/optasian.hxx index db7b2b00e83c..e68452a85459 100644 --- a/cui/source/inc/optasian.hxx +++ b/cui/source/inc/optasian.hxx @@ -29,26 +29,22 @@ struct SvxAsianLayoutPage_Impl; class SvxAsianLayoutPage : public SfxTabPage { - FixedLine aKerningGB; - RadioButton aCharKerningRB; - RadioButton aCharPunctKerningRB; + RadioButton* m_pCharKerningRB; + RadioButton* m_pCharPunctKerningRB; - FixedLine aCharDistGB; - RadioButton aNoCompressionRB; - RadioButton aPunctCompressionRB; - RadioButton aPunctKanaCompressionRB; + RadioButton* m_pNoCompressionRB; + RadioButton* m_pPunctCompressionRB; + RadioButton* m_pPunctKanaCompressionRB; - FixedLine aStartEndGB; + FixedText* m_pLanguageFT; + SvxLanguageBox* m_pLanguageLB; + CheckBox* m_pStandardCB; - FixedText aLanguageFT; - SvxLanguageBox aLanguageLB; - CheckBox aStandardCB; - - FixedText aStartFT; - Edit aStartED; - FixedText aEndFT; - Edit aEndED; - FixedText aHintFT; + FixedText* m_pStartFT; + Edit* m_pStartED; + FixedText* m_pEndFT; + Edit* m_pEndED; + FixedText* m_pHintFT; SvxAsianLayoutPage_Impl* pImpl; @@ -62,8 +58,8 @@ public: virtual ~SvxAsianLayoutPage(); static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); - static sal_uInt16* GetRanges(); - virtual sal_Bool FillItemSet( SfxItemSet& rSet ); + static sal_uInt16* GetRanges(); + virtual sal_Bool FillItemSet( SfxItemSet& rSet ); virtual void Reset( const SfxItemSet& rSet ); }; diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx index a74b30a28bf0..2c86765bb31d 100644 --- a/cui/source/options/optasian.cxx +++ b/cui/source/options/optasian.cxx @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -64,7 +63,7 @@ typedef ::std::map< LanguageType, SvxForbiddenChars_Impl* > SvxForbiddenCharacte struct SvxAsianLayoutPage_Impl { SvxAsianConfig aConfig; - SvxAsianLayoutPage_Impl() {} + SvxAsianLayoutPage_Impl() {} ~SvxAsianLayoutPage_Impl(); @@ -123,34 +122,31 @@ void SvxAsianLayoutPage_Impl::addForbiddenCharacters( static LanguageType eLastUsedLanguageTypeForForbiddenCharacters = USHRT_MAX; SvxAsianLayoutPage::SvxAsianLayoutPage( Window* pParent, const SfxItemSet& rSet ) : - SfxTabPage(pParent, CUI_RES( RID_SVXPAGE_ASIAN_LAYOUT ), rSet), - aKerningGB( this, CUI_RES(GB_KERNING )), - aCharKerningRB( this, CUI_RES(RB_CHAR_KERNING )), - aCharPunctKerningRB( this, CUI_RES(RB_CHAR_PUNCT )), - aCharDistGB( this, CUI_RES(GB_CHAR_DIST )), - aNoCompressionRB( this, CUI_RES(RB_NO_COMP )), - aPunctCompressionRB( this, CUI_RES(RB_PUNCT_COMP )), - aPunctKanaCompressionRB(this, CUI_RES(RB_PUNCT_KANA_COMP )), - aStartEndGB( this, CUI_RES(GB_START_END )), - aLanguageFT( this, CUI_RES(FT_LANGUAGE )), - aLanguageLB( this, CUI_RES(LB_LANGUAGE )), - aStandardCB( this, CUI_RES(CB_STANDARD )), - aStartFT( this, CUI_RES(FT_START )), - aStartED( this, CUI_RES(ED_START )), - aEndFT( this, CUI_RES(FT_END )), - aEndED( this, CUI_RES(ED_END )), - aHintFT( this, CUI_RES(FT_HINT )), + SfxTabPage(pParent, "OptAsianPage", "cui/ui/optasianpage.ui", rSet), pImpl(new SvxAsianLayoutPage_Impl) { - FreeResource(); - LanguageHdl(&aLanguageLB); - aLanguageLB.SetSelectHdl(LINK(this, SvxAsianLayoutPage, LanguageHdl)); - aStandardCB.SetClickHdl(LINK(this, SvxAsianLayoutPage, ChangeStandardHdl)); - Link aLk(LINK(this, SvxAsianLayoutPage, ModifyHdl)); - aStartED.SetModifyHdl(aLk); - aEndED.SetModifyHdl(aLk); + get(m_pCharKerningRB, "charkerning"); + get(m_pCharPunctKerningRB, "charpunctkerning"); + get(m_pNoCompressionRB, "nocompression"); + get(m_pPunctCompressionRB, "punctcompression"); + get(m_pPunctKanaCompressionRB, "punctkanacompression"); + get(m_pLanguageFT, "languageft"); + get(m_pLanguageLB, "language"); + get(m_pStandardCB, "standard"); + get(m_pStartFT, "startft"); + get(m_pStartED, "start"); + get(m_pEndFT, "endft"); + get(m_pEndED, "end"); + get(m_pHintFT, "hintft"); - aLanguageLB.SetLanguageList( LANG_LIST_FBD_CHARS, sal_False, sal_False ); + LanguageHdl(m_pLanguageLB); + m_pLanguageLB->SetSelectHdl(LINK(this, SvxAsianLayoutPage, LanguageHdl)); + m_pStandardCB->SetClickHdl(LINK(this, SvxAsianLayoutPage, ChangeStandardHdl)); + Link aLk(LINK(this, SvxAsianLayoutPage, ModifyHdl)); + m_pStartED->SetModifyHdl(aLk); + m_pEndED->SetModifyHdl(aLk); + + m_pLanguageLB->SetLanguageList( LANG_LIST_FBD_CHARS, sal_False, sal_False ); } SvxAsianLayoutPage::~SvxAsianLayoutPage() @@ -165,24 +161,24 @@ SfxTabPage* SvxAsianLayoutPage::Create( Window* pParent, const SfxItemSet& rAttr sal_Bool SvxAsianLayoutPage::FillItemSet( SfxItemSet& ) { - if(aCharKerningRB.IsChecked() != aCharKerningRB.GetSavedValue()) + if(m_pCharKerningRB->IsChecked() != m_pCharKerningRB->GetSavedValue()) { - pImpl->aConfig.SetKerningWesternTextOnly(aCharKerningRB.IsChecked()); + pImpl->aConfig.SetKerningWesternTextOnly(m_pCharKerningRB->IsChecked()); OUString sPunct(cIsKernAsianPunctuation); if(pImpl->xPrSetInfo.is() && pImpl->xPrSetInfo->hasPropertyByName(sPunct)) { Any aVal; - sal_Bool bVal = !aCharKerningRB.IsChecked(); + sal_Bool bVal = !m_pCharKerningRB->IsChecked(); aVal.setValue(&bVal, ::getBooleanCppuType()); pImpl->xPrSet->setPropertyValue(sPunct, aVal); } } - if(aNoCompressionRB.IsChecked() != aNoCompressionRB.GetSavedValue() || - aPunctCompressionRB.IsChecked() != aPunctCompressionRB.GetSavedValue()) + if(m_pNoCompressionRB->IsChecked() != m_pNoCompressionRB->GetSavedValue() || + m_pPunctCompressionRB->IsChecked() != m_pPunctCompressionRB->GetSavedValue()) { - sal_Int16 nSet = aNoCompressionRB.IsChecked() ? 0 : - aPunctCompressionRB.IsChecked() ? 1 : 2; + sal_Int16 nSet = m_pNoCompressionRB->IsChecked() ? 0 : + m_pPunctCompressionRB->IsChecked() ? 1 : 2; pImpl->aConfig.SetCharDistanceCompression(nSet); OUString sCompress(cCharacterCompressionType); if(pImpl->xPrSetInfo.is() && pImpl->xPrSetInfo->hasPropertyByName(sCompress)) @@ -213,7 +209,7 @@ sal_Bool SvxAsianLayoutPage::FillItemSet( SfxItemSet& ) OSL_FAIL("exception in XForbiddenCharacters"); } } - eLastUsedLanguageTypeForForbiddenCharacters = aLanguageLB.GetSelectLanguage(); + eLastUsedLanguageTypeForForbiddenCharacters = m_pLanguageLB->GetSelectLanguage(); return sal_False; } @@ -258,32 +254,31 @@ void SvxAsianLayoutPage::Reset( const SfxItemSet& ) } else { - aStartEndGB.Enable(sal_False); - aLanguageFT.Enable(sal_False); - aLanguageLB.Enable(sal_False); - aStandardCB.Enable(sal_False); - aStartFT.Enable(sal_False); - aStartED.Enable(sal_False); - aEndFT.Enable(sal_False); - aEndED.Enable(sal_False); - aHintFT.Enable(sal_False); + m_pLanguageFT->Enable(sal_False); + m_pLanguageLB->Enable(sal_False); + m_pStandardCB->Enable(sal_False); + m_pStartFT->Enable(sal_False); + m_pStartED->Enable(sal_False); + m_pEndFT->Enable(sal_False); + m_pEndED->Enable(sal_False); + m_pHintFT->Enable(sal_False); } if(bKernWesternText) - aCharKerningRB.Check(sal_True); + m_pCharKerningRB->Check(sal_True); else - aCharPunctKerningRB.Check(sal_True); + m_pCharPunctKerningRB->Check(sal_True); switch(nCompress) { - case 0 : aNoCompressionRB.Check(); break; - case 1 : aPunctCompressionRB.Check(); break; - default: aPunctKanaCompressionRB.Check(); + case 0 : m_pNoCompressionRB->Check(); break; + case 1 : m_pPunctCompressionRB->Check(); break; + default: m_pPunctKanaCompressionRB->Check(); } - aCharKerningRB.SaveValue(); - aNoCompressionRB.SaveValue(); - aPunctCompressionRB.SaveValue(); - aPunctKanaCompressionRB.SaveValue(); + m_pCharKerningRB->SaveValue(); + m_pNoCompressionRB->SaveValue(); + m_pPunctCompressionRB->SaveValue(); + m_pPunctKanaCompressionRB->SaveValue(); - aLanguageLB.SelectEntryPos(0); + m_pLanguageLB->SelectEntryPos(0); //preselect the system language in the box - if available if(USHRT_MAX == eLastUsedLanguageTypeForForbiddenCharacters) { @@ -294,14 +289,14 @@ void SvxAsianLayoutPage::Reset( const SfxItemSet& ) else if (MsLangId::isTraditionalChinese(eLastUsedLanguageTypeForForbiddenCharacters)) eLastUsedLanguageTypeForForbiddenCharacters = LANGUAGE_CHINESE_TRADITIONAL; } - aLanguageLB.SelectLanguage( eLastUsedLanguageTypeForForbiddenCharacters ); - LanguageHdl(&aLanguageLB); + m_pLanguageLB->SelectLanguage( eLastUsedLanguageTypeForForbiddenCharacters ); + LanguageHdl(m_pLanguageLB); } IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl) { //set current value - LanguageType eSelectLanguage = aLanguageLB.GetSelectLanguage(); + LanguageType eSelectLanguage = m_pLanguageLB->GetSelectLanguage(); LanguageTag aLanguageTag( eSelectLanguage); Locale aLocale( aLanguageTag.getLocale()); @@ -352,13 +347,13 @@ IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl) sStart = aForbidden.beginLine; sEnd = aForbidden.endLine; } - aStandardCB.Check(!bAvail); - aStartED.Enable(bAvail); - aEndED.Enable(bAvail); - aStartFT.Enable(bAvail); - aEndFT.Enable(bAvail); - aStartED.SetText(sStart); - aEndED.SetText(sEnd); + m_pStandardCB->Check(!bAvail); + m_pStartED->Enable(bAvail); + m_pEndED->Enable(bAvail); + m_pStartFT->Enable(bAvail); + m_pEndFT->Enable(bAvail); + m_pStartED->SetText(sStart); + m_pEndED->SetText(sEnd); return 0; } @@ -366,21 +361,21 @@ IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl) IMPL_LINK(SvxAsianLayoutPage, ChangeStandardHdl, CheckBox*, pBox) { sal_Bool bCheck = pBox->IsChecked(); - aStartED.Enable(!bCheck); - aEndED.Enable(!bCheck); - aStartFT.Enable(!bCheck); - aEndFT.Enable(!bCheck); + m_pStartED->Enable(!bCheck); + m_pEndED->Enable(!bCheck); + m_pStartFT->Enable(!bCheck); + m_pEndFT->Enable(!bCheck); - ModifyHdl(&aStartED); + ModifyHdl(m_pStartED); return 0; } IMPL_LINK(SvxAsianLayoutPage, ModifyHdl, Edit*, pEdit) { - LanguageType eSelectLanguage = aLanguageLB.GetSelectLanguage(); + LanguageType eSelectLanguage = m_pLanguageLB->GetSelectLanguage(); Locale aLocale( LanguageTag::convertToLocale( eSelectLanguage )); - OUString sStart = aStartED.GetText(); - OUString sEnd = aEndED.GetText(); + OUString sStart = m_pStartED->GetText(); + OUString sEnd = m_pEndED->GetText(); sal_Bool bEnable = pEdit->IsEnabled(); if(pImpl->xForbidden.is()) { diff --git a/cui/source/options/optasian.hrc b/cui/source/options/optasian.hrc deleted file mode 100644 index caf37224b34d..000000000000 --- a/cui/source/options/optasian.hrc +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- 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 . - */ -#ifndef _SVX_OPTASIAN_HRC -#define _SVX_OPTASIAN_HRC - -#define GB_KERNING 1 -#define RB_CHAR_KERNING 2 -#define RB_CHAR_PUNCT 3 -#define GB_CHAR_DIST 4 -#define RB_NO_COMP 5 -#define RB_PUNCT_COMP 6 -#define RB_PUNCT_KANA_COMP 7 -#define GB_START_END 8 -#define CB_STANDARD 9 - -#define FT_LANGUAGE 11 -#define LB_LANGUAGE 12 -#define FT_START 13 -#define ED_START 14 -#define FT_END 15 -#define ED_END 16 -#define FT_HINT 17 - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/optasian.src b/cui/source/options/optasian.src deleted file mode 100644 index 054b2476a162..000000000000 --- a/cui/source/options/optasian.src +++ /dev/null @@ -1,141 +0,0 @@ -/* -*- 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 . - */ - -#include "optasian.hrc" -#include -#include "helpid.hrc" -#include - -TabPage RID_SVXPAGE_ASIAN_LAYOUT -{ - HelpId = HID_OPTIONS_ASIAN_LAYOUT ; - OutputSize = TRUE ; - Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ; - SVLook = TRUE ; - Hide = TRUE ; - FixedLine GB_KERNING - { - Pos = MAP_APPFONT ( 6, 3 ) ; - Size = MAP_APPFONT ( 248 , 8 ) ; - Text [ en-US ] = "Kerning"; - }; - RadioButton RB_CHAR_KERNING - { - HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_CHAR_KERNING"; - Pos = MAP_APPFONT ( 12, 14 ) ; - Size = MAP_APPFONT ( 200 , 10 ) ; - Text [ en-US ] = "~Western characters only"; - }; - RadioButton RB_CHAR_PUNCT - { - HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_CHAR_PUNCT"; - Pos = MAP_APPFONT ( 12, 27 ) ; - Size = MAP_APPFONT ( 200 , 10 ) ; - Text [ en-US ] = "Western ~text and Asian punctuation"; - }; - FixedLine GB_CHAR_DIST - { - Pos = MAP_APPFONT ( 6, 43 ) ; - Size = MAP_APPFONT ( 248 , 8 ) ; - Text [ en-US ] = "Character spacing"; - }; - RadioButton RB_NO_COMP - { - HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_NO_COMP"; - Pos = MAP_APPFONT ( 12, 54 ) ; - Size = MAP_APPFONT ( 200 , 10 ) ; - Text [ en-US ] = "~No compression"; - }; - RadioButton RB_PUNCT_COMP - { - HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_PUNCT_COMP"; - Pos = MAP_APPFONT ( 12, 67) ; - Size = MAP_APPFONT ( 200 , 10 ) ; - Text [ en-US ] = "~Compress punctuation only"; - }; - RadioButton RB_PUNCT_KANA_COMP - { - HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_PUNCT_KANA_COMP"; - Pos = MAP_APPFONT ( 12, 80 ) ; - Size = MAP_APPFONT ( 200 , 10 ) ; - Text [ en-US ] = "Compress ~punctuation and Japanese Kana"; - }; - FixedLine GB_START_END - { - Pos = MAP_APPFONT ( 6, 96 ) ; - Size = MAP_APPFONT ( 248 , 8 ) ; - Text [ en-US ] = "First and last characters"; - }; - FixedText FT_LANGUAGE - { - Pos = MAP_APPFONT ( 12 , 109 ) ; - Size = MAP_APPFONT ( 80 , 8 ) ; - Text [ en-US ] = "~Language"; - }; - ListBox LB_LANGUAGE - { - HelpID = "cui:ListBox:RID_SVXPAGE_ASIAN_LAYOUT:LB_LANGUAGE"; - Pos = MAP_APPFONT ( 95 , 107 ) ; - Size = MAP_APPFONT ( 80 , 48 ) ; - Border = TRUE ; - DropDown = TRUE ; - }; - CheckBox CB_STANDARD - { - HelpID = "cui:CheckBox:RID_SVXPAGE_ASIAN_LAYOUT:CB_STANDARD"; - Pos = MAP_APPFONT ( 180, 109 ) ; - Size = MAP_APPFONT ( 74 , 10 ) ; - Text [ en-US ] = "~Default"; - }; - FixedText FT_START - { - Pos = MAP_APPFONT ( 12 , 125 ) ; - Size = MAP_APPFONT ( 80 , 8 ) ; - Text [ en-US ] = "Not at start of line:"; - }; - Edit ED_START - { - HelpID = "cui:Edit:RID_SVXPAGE_ASIAN_LAYOUT:ED_START"; - Pos = MAP_APPFONT ( 95 , 123 ) ; - Size = MAP_APPFONT ( 159 , 12 ) ; - Border = TRUE ; - }; - FixedText FT_END - { - Pos = MAP_APPFONT ( 12 , 141 ) ; - Size = MAP_APPFONT ( 80 , 8 ) ; - Text [ en-US ] = "Not at end of line:"; - }; - Edit ED_END - { - HelpID = "cui:Edit:RID_SVXPAGE_ASIAN_LAYOUT:ED_END"; - Pos = MAP_APPFONT ( 95 , 139 ) ; - Size = MAP_APPFONT ( 159 , 12 ) ; - Border = TRUE ; - }; - FixedText FT_HINT - { - Pos = MAP_APPFONT ( 12 , 155 ) ; - Size = MAP_APPFONT ( 242 , 8 ) ; - Text [ en-US ] = "Without user-defined line break symbols"; - }; - Text [ en-US ] = "Proxy"; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/uiconfig/ui/optasianpage.ui b/cui/uiconfig/ui/optasianpage.ui new file mode 100644 index 000000000000..18989097d25c --- /dev/null +++ b/cui/uiconfig/ui/optasianpage.ui @@ -0,0 +1,381 @@ + + + + + True + False + 6 + 12 + + + True + False + 0 + none + + + True + False + 12 + + + True + False + 6 + vertical + 6 + + + _Western characters only + False + True + True + False + False + True + 0 + True + True + charpunctkerning + + + False + True + 0 + + + + + Western _text and Asian punctuation + False + True + True + False + False + True + 0 + True + True + charkerning + + + False + True + 1 + + + + + + + + + True + False + Kerning + False + + + + + + + + 0 + 0 + 1 + 1 + + + + + True + False + 0 + none + + + True + False + 12 + + + True + False + 6 + vertical + 6 + + + _No compression + False + True + True + False + False + True + 0 + True + True + punctcompression + + + False + True + 0 + + + + + _Compress punctuation only + False + True + True + False + False + True + 0 + True + True + punctkanacompression + + + False + True + 1 + + + + + Compress punctuation and Japanese Kana + False + True + True + False + False + True + 0 + True + True + nocompression + + + False + True + 2 + + + + + + + + + True + False + Character spacing + False + + + + + + + + 0 + 1 + 1 + 1 + + + + + True + False + True + 0 + none + + + True + False + True + 6 + 12 + + + True + False + True + vertical + 12 + + + True + False + True + 12 + 12 + + + True + False + True + 12 + True + + + True + False + True + + + False + True + 0 + + + + + _Default + False + True + True + False + False + True + 0 + True + + + False + True + 1 + + + + + 1 + 0 + 1 + 1 + + + + + True + False + 0 + _Language + True + + + 0 + 0 + 1 + 1 + + + + + True + False + 0 + Not _at start of line: + True + + + 0 + 1 + 1 + 1 + + + + + True + False + 0 + Not at _end of line: + True + + + 0 + 2 + 1 + 1 + + + + + True + True + True + + + + 1 + 1 + 1 + 1 + + + + + True + True + True + + + + 1 + 2 + 1 + 1 + + + + + False + True + 0 + + + + + True + False + 0 + Without user-defined line break symbols + + + False + True + 1 + + + + + + + + + True + False + First and last characters + False + + + + + + + + 0 + 2 + 1 + 1 + + + +