Resolves tdf#146928 - Redesign charnamedialog
Dialog was changed in d73602dc51aa8829fc88e5e67e2b0c4da6b8f715 to fit
vertical size on small screens by placing Western/CJK/CTL into a notebook.
But for CJK and CTL it's required to have Western fonts visible in parallel.
* dual solution for western with nocjk and cjk dropped
western scales to the dialog width if no CJK nor CTL is enabled
* CJK and CTL placed in a notebook, Western as well for proper alignment
* font names are presented in lists but size and style per simple dropdowns
* info text sized at 80%
* variables renamed to keep track of controls (old names kept in l10n descriotion)
* UITests adjusted for variable names and tab positioning
Change-Id: I45b40e9bc37565f6364f1dfc1b5d837270fe4644
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134666
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
diff --git a/cui/source/inc/chardlg.hxx b/cui/source/inc/chardlg.hxx
index 70935a6..e61675c 100644
--- a/cui/source/inc/chardlg.hxx
+++ b/cui/source/inc/chardlg.hxx
@@ -65,7 +65,7 @@ private:
std::unique_ptr<SvxCharNamePage_Impl> m_pImpl;
std::unique_ptr<weld::Widget> m_xWestFrame;
std::unique_ptr<weld::Notebook> m_xWestern;
std::unique_ptr<weld::Label> m_xWestFontNameFT;
std::unique_ptr<weld::ComboBox> m_xWestFontNameLB;
std::unique_ptr<weld::Label> m_xWestFontStyleFT;
@@ -74,10 +74,10 @@ private:
std::unique_ptr<FontSizeBox> m_xWestFontSizeLB;
std::unique_ptr<weld::Label> m_xWestFontLanguageFT;
std::unique_ptr<SvxLanguageBox> m_xWestFontLanguageLB;
std::unique_ptr<weld::Label> m_xWestFontTypeFT;
std::unique_ptr<weld::Button> m_xWestFontFeaturesButton;
std::unique_ptr<weld::Notebook> m_xLangNotebook;
std::unique_ptr<weld::Label> m_xWestFontTypeFT;
std::unique_ptr<weld::Notebook> m_xCJK_CTL;
std::unique_ptr<weld::Label> m_xEastFontNameFT;
std::unique_ptr<weld::ComboBox> m_xEastFontNameLB;
std::unique_ptr<weld::Label> m_xEastFontStyleFT;
@@ -86,8 +86,8 @@ private:
std::unique_ptr<FontSizeBox> m_xEastFontSizeLB;
std::unique_ptr<weld::Label> m_xEastFontLanguageFT;
std::unique_ptr<SvxLanguageBox> m_xEastFontLanguageLB;
std::unique_ptr<weld::Label> m_xEastFontTypeFT;
std::unique_ptr<weld::Button> m_xEastFontFeaturesButton;
std::unique_ptr<weld::Label> m_xEastFontTypeFT;
std::unique_ptr<weld::Label> m_xCTLFontNameFT;
std::unique_ptr<weld::ComboBox> m_xCTLFontNameLB;
@@ -97,8 +97,8 @@ private:
std::unique_ptr<FontSizeBox> m_xCTLFontSizeLB;
std::unique_ptr<weld::Label> m_xCTLFontLanguageFT;
std::unique_ptr<SvxLanguageBox> m_xCTLFontLanguageLB;
std::unique_ptr<weld::Label> m_xCTLFontTypeFT;
std::unique_ptr<weld::Button> m_xCTLFontFeaturesButton;
std::unique_ptr<weld::Label> m_xCTLFontTypeFT;
//for getting FontFeatures
ScopedVclPtrInstance<VirtualDevice> m_xVDev;
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index 2c2d912..6386436 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -190,27 +190,40 @@ struct SvxCharNamePage_Impl
SvxCharNamePage::SvxCharNamePage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rInSet)
: SvxCharBasePage(pPage, pController, "cui/ui/charnamepage.ui", "CharNamePage", rInSet)
, m_pImpl(new SvxCharNamePage_Impl)
, m_xLangNotebook(m_xBuilder->weld_notebook("notebook"))
, m_xEastFontNameFT(m_xBuilder->weld_label("eastfontnameft"))
, m_xEastFontNameLB(m_xBuilder->weld_combo_box("eastfontnamelb"))
, m_xEastFontStyleFT(m_xBuilder->weld_label("eaststyleft"))
, m_xEastFontStyleLB(new FontStyleBox(m_xBuilder->weld_combo_box("eaststylelb")))
, m_xEastFontSizeFT(m_xBuilder->weld_label("eastsizeft"))
, m_xEastFontSizeLB(new FontSizeBox(m_xBuilder->weld_combo_box("eastsizelb")))
, m_xEastFontLanguageFT(m_xBuilder->weld_label("eastlangft"))
, m_xEastFontLanguageLB(new SvxLanguageBox(m_xBuilder->weld_combo_box("eastlanglb")))
, m_xEastFontTypeFT(m_xBuilder->weld_label("eastfontinfo"))
, m_xEastFontFeaturesButton(m_xBuilder->weld_button("east_features_button"))
, m_xCTLFontNameFT(m_xBuilder->weld_label("ctlfontnameft"))
, m_xCTLFontNameLB(m_xBuilder->weld_combo_box("ctlfontnamelb"))
, m_xCTLFontStyleFT(m_xBuilder->weld_label("ctlstyleft"))
, m_xCTLFontStyleLB(new FontStyleBox(m_xBuilder->weld_combo_box("ctlstylelb")))
, m_xCTLFontSizeFT(m_xBuilder->weld_label("ctlsizeft"))
, m_xCTLFontSizeLB(new FontSizeBox(m_xBuilder->weld_combo_box("ctlsizelb")))
, m_xCTLFontLanguageFT(m_xBuilder->weld_label("ctllangft"))
, m_xCTLFontLanguageLB(new SvxLanguageBox(m_xBuilder->weld_combo_box("ctllanglb")))
, m_xCTLFontTypeFT(m_xBuilder->weld_label("ctlfontinfo"))
, m_xCTLFontFeaturesButton(m_xBuilder->weld_button("ctl_features_button"))
// Western
, m_xWestern(m_xBuilder->weld_notebook("nbWestern"))
, m_xWestFontNameFT(m_xBuilder->weld_label("lbWestFontname"))
, m_xWestFontStyleFT(m_xBuilder->weld_label("lbWestStyle"))
, m_xWestFontStyleLB(new FontStyleBox(m_xBuilder->weld_combo_box("cbWestStyle")))
, m_xWestFontSizeFT(m_xBuilder->weld_label("lbWestSize"))
, m_xWestFontSizeLB(new FontSizeBox(m_xBuilder->weld_combo_box("cbWestSize")))
, m_xWestFontLanguageFT(m_xBuilder->weld_label("lbWestLanguage"))
, m_xWestFontLanguageLB(new SvxLanguageBox(m_xBuilder->weld_combo_box("cbWestLanguage")))
, m_xWestFontFeaturesButton(m_xBuilder->weld_button("btnWestFeatures"))
, m_xWestFontTypeFT(m_xBuilder->weld_label("lbWestFontinfo"))
, m_xCJK_CTL(m_xBuilder->weld_notebook("nbCJKCTL"))
// CJK
, m_xEastFontNameFT(m_xBuilder->weld_label("lbCJKFontname"))
, m_xEastFontStyleFT(m_xBuilder->weld_label("lbCJKStyle"))
, m_xEastFontStyleLB(new FontStyleBox(m_xBuilder->weld_combo_box("cbCJKStyle")))
, m_xEastFontSizeFT(m_xBuilder->weld_label("lbCJKSize"))
, m_xEastFontSizeLB(new FontSizeBox(m_xBuilder->weld_combo_box("cbCJKSize")))
, m_xEastFontLanguageFT(m_xBuilder->weld_label("lbCJKLanguage"))
, m_xEastFontLanguageLB(new SvxLanguageBox(m_xBuilder->weld_combo_box("cbCJKLanguage")))
, m_xEastFontFeaturesButton(m_xBuilder->weld_button("btnCJKFeatures"))
, m_xEastFontTypeFT(m_xBuilder->weld_label("lbCJKFontinfo"))
// CTL
, m_xCTLFontNameFT(m_xBuilder->weld_label("lbCTLFontname"))
// tree
, m_xCTLFontStyleFT(m_xBuilder->weld_label("lbCTLStyle"))
, m_xCTLFontStyleLB(new FontStyleBox(m_xBuilder->weld_combo_box("cbCTLStyle")))
, m_xCTLFontSizeFT(m_xBuilder->weld_label("lbCTLSize"))
, m_xCTLFontSizeLB(new FontSizeBox(m_xBuilder->weld_combo_box("cbCTLSize")))
, m_xCTLFontLanguageFT(m_xBuilder->weld_label("lbCTLLanguage"))
, m_xCTLFontLanguageLB(new SvxLanguageBox(m_xBuilder->weld_combo_box("cbCTLLanguage")))
, m_xCTLFontFeaturesButton(m_xBuilder->weld_button("btnCTLFeatures"))
, m_xCTLFontTypeFT(m_xBuilder->weld_label("lbCTLFontinfo"))
, m_xVDev(*Application::GetDefaultDevice(), DeviceFormat::DEFAULT, DeviceFormat::DEFAULT)
{
m_xPreviewWin.reset(new weld::CustomWeld(*m_xBuilder, "preview", m_aPreviewWin));
@@ -219,54 +232,40 @@ SvxCharNamePage::SvxCharNamePage(weld::Container* pPage, weld::DialogController*
#endif
m_pImpl->m_aNoStyleText = CuiResId( RID_CUISTR_CHARNAME_NOSTYLE );
std::unique_ptr<weld::EntryTreeView> xWestFontName = m_xBuilder->weld_entry_tree_view("gdWestern", "edWestFontName", "trWestFontName");
std::unique_ptr<weld::EntryTreeView> xCJKFontName = m_xBuilder->weld_entry_tree_view("gdCJK", "edCJKFontName", "trCJKFontName");
std::unique_ptr<weld::EntryTreeView> xCTLFontName = m_xBuilder->weld_entry_tree_view("gdCTL", "edCTLFontName", "trCTLFontName");
// 7 lines in the treeview
xWestFontName->set_height_request_by_rows(7);
xCJKFontName->set_height_request_by_rows(7);
xCTLFontName->set_height_request_by_rows(7);
m_xWestFontNameLB = std::move(xWestFontName);
m_xEastFontNameLB = std::move(xCJKFontName);
m_xCTLFontNameLB = std::move(xCTLFontName);
SvtCTLOptions aCTLLanguageOptions;
bool bShowCJK = SvtCJKOptions::IsCJKFontEnabled();
bool bShowCTL = aCTLLanguageOptions.IsCTLFontEnabled();
bool bShowNonWestern = bShowCJK || bShowCTL;
if (bShowNonWestern)
if (!bShowNonWestern)
{
m_xWestFrame = m_xBuilder->weld_widget("western");
m_xWestFontNameFT = m_xBuilder->weld_label("westfontnameft-cjk");
m_xWestFontNameLB = m_xBuilder->weld_combo_box("westfontnamelb-cjk");
m_xWestFontStyleFT = m_xBuilder->weld_label("weststyleft-cjk");
m_xWestFontSizeFT = m_xBuilder->weld_label("westsizeft-cjk");
m_xWestFontStyleLB.reset(new FontStyleBox(m_xBuilder->weld_combo_box("weststylelb-cjk")));
m_xWestFontSizeLB.reset(new FontSizeBox(m_xBuilder->weld_combo_box("westsizelb-cjk")));
m_xWestFontLanguageFT = m_xBuilder->weld_label("westlangft-cjk");
m_xWestFontLanguageLB.reset(new SvxLanguageBox(m_xBuilder->weld_combo_box("westlanglb-cjk")));
m_xWestFontTypeFT = m_xBuilder->weld_label("westfontinfo-cjk");
m_xWestFontFeaturesButton = m_xBuilder->weld_button("west_features_button-cjk");
m_xCJK_CTL->hide();
m_xWestern->set_show_tabs(false); //hide single tab in case of Western only
}
else
{
m_xWestFrame = m_xBuilder->weld_widget("simple");
m_xWestFontNameFT = m_xBuilder->weld_label("westfontnameft-nocjk");
m_xWestFontStyleFT = m_xBuilder->weld_label("weststyleft-nocjk");
m_xWestFontSizeFT = m_xBuilder->weld_label("westsizeft-nocjk");
else if (!bShowCJK) m_xCJK_CTL->remove_page("nbCJK");
else if (!bShowCTL) m_xCJK_CTL->remove_page("nbCTL");
m_xWestFontLanguageFT = m_xBuilder->weld_label("westlangft-nocjk");
m_xWestFontLanguageLB.reset(new SvxLanguageBox(m_xBuilder->weld_combo_box("westlanglb-nocjk")));
m_xWestFontTypeFT = m_xBuilder->weld_label("westfontinfo-nocjk");
m_xWestFontFeaturesButton = m_xBuilder->weld_button("west_features_button-nocjk");
std::unique_ptr<weld::EntryTreeView> xWestFontNameLB = m_xBuilder->weld_entry_tree_view("namegrid", "westfontname-nocjk", "westfontnamelb-nocjk");
std::unique_ptr<weld::EntryTreeView> xWestFontStyleLB = m_xBuilder->weld_entry_tree_view("stylegrid", "weststyle-nocjk", "weststylelb-nocjk");
std::unique_ptr<weld::EntryTreeView> xWestFontSizeLB = m_xBuilder->weld_entry_tree_view("sizegrid", "westsize-nocjk", "westsizelb-nocjk");
// 7 lines in the treeview
xWestFontNameLB->set_height_request_by_rows(7);
xWestFontStyleLB->set_height_request_by_rows(7);
xWestFontSizeLB->set_height_request_by_rows(7);
m_xWestFontNameLB = std::move(xWestFontNameLB);
m_xWestFontStyleLB.reset(new FontStyleBox(std::move(xWestFontStyleLB)));
m_xWestFontSizeLB.reset(new FontSizeBox(std::move(xWestFontSizeLB)));
}
// info at 80% font size
vcl::Font aFont(m_xWestFontTypeFT->get_font());
Size aSize(aFont.GetFontSize());
aSize.setHeight(aSize.Height() * 0.8);
aFont.SetFontSize(aSize);
m_xWestFontTypeFT->set_font(aFont);
m_xEastFontTypeFT->set_font(aFont);
m_xCTLFontTypeFT->set_font(aFont);
//In MacOSX the standard dialogs name font-name, font-style as
//Family, Typeface
@@ -280,8 +279,8 @@ SvxCharNamePage::SvxCharNamePage(weld::Container* pPage, weld::DialogController*
OUString sFontFamilyString(CuiResId(RID_CUISTR_CHARNAME_FAMILY));
#endif
m_xWestFontNameFT->set_label(sFontFamilyString);
m_xEastFontNameFT->set_label(sFontFamilyString);
m_xCTLFontNameFT->set_label(sFontFamilyString);
m_xEastFontNameFT->set_label(sFontFamilyString);
#ifdef MACOSX
OUString sFontStyleString(CuiResId(RID_CUISTR_CHARNAME_TYPEFACE));
@@ -292,18 +291,17 @@ SvxCharNamePage::SvxCharNamePage(weld::Container* pPage, weld::DialogController*
m_xEastFontStyleFT->set_label(sFontStyleString);
m_xCTLFontStyleFT->set_label(sFontStyleString);
m_xWestFrame->show();
if (!bShowCJK)
m_xLangNotebook->remove_page("lbAsian");
if (!bShowCTL)
m_xLangNotebook->remove_page("lbComplex");
m_xWestFontLanguageLB->SetLanguageList(SvxLanguageListFlags::WESTERN, true, false, true, true,
LANGUAGE_SYSTEM, css::i18n::ScriptType::LATIN);
LANGUAGE_SYSTEM, css::i18n::ScriptType::LATIN);
m_xEastFontLanguageLB->SetLanguageList(SvxLanguageListFlags::CJK, true, false, true, true,
LANGUAGE_SYSTEM, css::i18n::ScriptType::ASIAN);
LANGUAGE_SYSTEM, css::i18n::ScriptType::ASIAN);
m_xCTLFontLanguageLB->SetLanguageList(SvxLanguageListFlags::CTL, true, false, true, true,
LANGUAGE_SYSTEM, css::i18n::ScriptType::COMPLEX);
LANGUAGE_SYSTEM, css::i18n::ScriptType::COMPLEX);
int nVisibleChars = 15;
// read-only combobox / HasEntry asserts on set_width_char()
m_xWestFontLanguageLB->set_width_chars(nVisibleChars);
m_xEastFontLanguageLB->set_width_chars(nVisibleChars);
m_xCTLFontLanguageLB->set_width_chars(nVisibleChars);
Initialize();
}
diff --git a/cui/uiconfig/ui/charnamepage.ui b/cui/uiconfig/ui/charnamepage.ui
index aad4efe..c4d3501 100644
--- a/cui/uiconfig/ui/charnamepage.ui
+++ b/cui/uiconfig/ui/charnamepage.ui
@@ -66,1089 +66,825 @@
<column type="GdkPixbuf"/>
</columns>
</object>
<object class="GtkBox" id="CharNamePage">
<!-- n-columns=2 n-rows=2 -->
<object class="GtkGrid" id="CharNamePage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border-width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<!-- n-columns=3 n-rows=3 -->
<object class="GtkGrid" id="simple">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<object class="GtkNotebook" id="nbWestern">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<property name="show-border">False</property>
<child>
<object class="GtkLabel" id="westfontinfo-nocjk">
<!-- n-columns=3 n-rows=6 -->
<object class="GtkGrid" id="gdWestern">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">6</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
<property name="width">3</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=1 n-rows=2 -->
<object class="GtkGrid" id="namegrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">6</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row-spacing">3</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="westfontnamelb-nocjk">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="model">liststore1</property>
<property name="headers-visible">False</property>
<property name="headers-clickable">False</property>
<property name="search-column">0</property>
<property name="show-expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="westfontname-nocjk">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="westfontnameft-nocjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|westfontnameft-nocjk">Family:</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=1 n-rows=2 -->
<object class="GtkGrid" id="stylegrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">6</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row-spacing">3</property>
<child>
<object class="GtkScrolledWindow">
<property name="width-request">42</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="weststylelb-nocjk">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="model">liststore2</property>
<property name="headers-visible">False</property>
<property name="headers-clickable">False</property>
<property name="search-column">0</property>
<property name="show-expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection2"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn2">
<child>
<object class="GtkCellRendererText" id="cellrenderertext2"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="weststylelb-nocjk-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|weststylelb-nocjk">Select the formatting that you want to apply.</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="weststyle-nocjk">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="weststyleft-nocjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|weststyleft-nocjk">Style:</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=1 n-rows=2 -->
<object class="GtkGrid" id="sizegrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">6</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row-spacing">3</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="vscrollbar-policy">always</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="westsizelb-nocjk">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="model">liststore3</property>
<property name="headers-visible">False</property>
<property name="headers-clickable">False</property>
<property name="search-column">0</property>
<property name="show-expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection3"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn3">
<child>
<object class="GtkCellRendererText" id="cellrenderertext3"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="westsizelb-nocjk-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|westsizelb-nocjk">Enter or select the font size that you want to apply. For scalable fonts, you can also enter decimal values.</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="westsize-nocjk">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="westsizeft-nocjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|westsizeft-nocjk">Size:</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">24</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="westlangft-nocjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes" context="charnamepage|westlangft-nocjk">Language:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">westlanglb-nocjk</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="westlanglb-nocjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="model">liststore4</property>
<property name="has-entry">True</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext4"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="westlanglb-nocjk-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|westlanglb-nocjk">Sets the language that the spellchecker uses for the selected text or the text that you type. Available language modules have a check mark in front of them.</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="west_features_button-nocjk">
<property name="label" translatable="yes" context="charnamepage|west_features_button-nocjk">Features...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
<property name="width">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="western">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<object class="GtkNotebook" id="notebook">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="vexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">6</property>
<child>
<!-- n-columns=1 n-rows=2 -->
<object class="GtkGrid" id="grid1">
<object class="GtkLabel" id="lbWestFontname">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" context="charnamepage|westfontnameft-cjk">Name:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">edWestFontName</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbWestLanguage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|westlangft-cjk">Language:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbWestLanguage</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="cbWestLanguage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="model">liststore5</property>
<property name="has-entry">True</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext5"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbWestLanguage-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|westlanglb-cjk">Sets the language that the spellchecker uses for the selected text or the text that you type. Available language modules have a check mark in front of them.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbWestStyle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" context="charnamepage|weststyleft-cjk">Style:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbWestStyle</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="cbWestStyle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbWestStyle-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|weststylelb-cjk">Select the formatting that you want to apply.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbWestSize">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|westsizeft-cjk">Size:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbWestSize</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="cbWestSize">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbWestSize-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|westsizelb-cjk">Enter or select the font size that you want to apply. For scalable fonts, you can also enter decimal values.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnWestFeatures">
<property name="label" translatable="yes" context="charnamepage|west_features_button-cjk">Features...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="trWestFontName">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="model">liststore1</property>
<property name="headers-visible">False</property>
<property name="headers-clickable">False</property>
<property name="search-column">0</property>
<property name="show-expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="trWestFontName-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|westfontnamelb-nocjk">Select the font that you want to apply.</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="edWestFontName">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbWestFontinfo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="row-spacing">6</property>
<child>
<!-- n-columns=3 n-rows=4 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="westfontnameft-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|westfontnameft-cjk">Family:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">westfontnamelb-cjk</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="westlangft-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|westlangft-cjk">Language:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">westlanglb-cjk</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="westlanglb-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="model">liststore5</property>
<property name="has-entry">True</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext5"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="westlanglb-cjk-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|westlanglb-cjk">Sets the language that the spellchecker uses for the selected text or the text that you type. Available language modules have a check mark in front of them.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="westfontnamelb-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="has-entry">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="weststyleft-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|weststyleft-cjk">Style:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">weststylelb-cjk</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="weststylelb-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="weststylelb-cjk-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|weststylelb-cjk">Select the formatting that you want to apply.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="westsizeft-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|westsizeft-cjk">Size:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">westsizelb-cjk</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="westsizelb-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="westsizelb-cjk-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|westsizelb-cjk">Enter or select the font size that you want to apply. For scalable fonts, you can also enter decimal values.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkButton" id="west_features_button-cjk">
<property name="label" translatable="yes" context="charnamepage|west_features_button-cjk">Features...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="westfontinfo-cjk">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="wrap">True</property>
<property name="width-chars">30</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
</child>
<child type="tab">
<object class="GtkLabel" id="lbWestern">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|tab_western">Western</property>
<property name="wrap">True</property>
<property name="width-chars">30</property>
<property name="max-width-chars">30</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="tab-fill">False</property>
<property name="left-attach">1</property>
<property name="top-attach">5</property>
<property name="width">2</property>
</packing>
</child>
<child>
<!-- n-columns=1 n-rows=2 -->
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="row-spacing">6</property>
<child>
<!-- n-columns=3 n-rows=4 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="eastfontnameft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|eastfontnameft">Family:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">eastfontnamelb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="eastsizeft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|eastsizeft">Size:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">eastsizelb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="eastlangft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|eastlangft">Language:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">eastlanglb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="eastfontnamelb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="has-entry">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="eaststylelb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="eaststylelb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|eaststylelb">Select the formatting that you want to apply.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="eastsizelb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="eastsizelb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|eastsizelb">Enter or select the font size that you want to apply. For scalable fonts, you can also enter decimal values.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="eastlanglb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="model">liststore6</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext9"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext6"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="eastlanglb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|eastlanglb">Sets the language that the spellchecker uses for the selected text or the text that you type. Available language modules have a check mark in front of them.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="eaststyleft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|eaststyleft">Style:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">eaststylelb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkButton" id="east_features_button">
<property name="label" translatable="yes" context="charnamepage|east_features_button">Features...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="eastfontinfo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="wrap">True</property>
<property name="width-chars">30</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel" id="lbAsian">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|tab_asian">Asian</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab-fill">False</property>
</packing>
<placeholder/>
</child>
<child>
<!-- n-columns=1 n-rows=2 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="row-spacing">6</property>
<child>
<!-- n-columns=3 n-rows=4 -->
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="ctlfontnameft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|ctlfontnameft">Family:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">ctlfontnamelb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="ctlstyleft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="no" context="charnamepage|ctlstyleft">Style:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">ctlstylelb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="ctlsizeft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|ctlsizeft">Size:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">ctlsizelb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="ctlfontnamelb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="has-entry">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="ctlstylelb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="ctlstylelb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|ctlstylelb">Select the formatting that you want to apply.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="ctlsizelb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="ctlsizelb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|ctlsizelb">Enter or select the font size that you want to apply. For scalable fonts, you can also enter decimal values.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="ctllanglb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="model">liststore7</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext7"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext11"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="ctllanglb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|ctllanglb">Sets the language that the spellchecker uses for the selected text or the text that you type. Available language modules have a check mark in front of them.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="ctllangft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|ctllangft">Language:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">ctllanglb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkButton" id="ctl_features_button">
<property name="label" translatable="yes" context="charnamepage|ctl_features_button">Features...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="ctlfontinfo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="wrap">True</property>
<property name="width-chars">30</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel" id="lbComplex">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|tab_complex">Complex</property>
</object>
<packing>
<property name="position">2</property>
<property name="tab-fill">False</property>
</packing>
<placeholder/>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label4">
<child type="tab">
<object class="GtkLabel" id="lbWestern">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|label4">Text Font</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
<property name="label" translatable="yes" context="charnamepage|Tab_Western">Western</property>
</object>
<packing>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<object class="GtkNotebook" id="nbCJKCTL">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="vexpand">True</property>
<property name="show-border">False</property>
<child>
<!-- n-columns=3 n-rows=6 -->
<object class="GtkGrid" id="gdCJK">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="vexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="lbCJKSize">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|eastsizeft">Size:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbCJKSize</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCJKLanguage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|eastlangft">Language:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbCJKLanguage</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="cbCJKStyle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbCJKStyle-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|eaststylelb">Select the formatting that you want to apply.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="cbCJKSize">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbCJKSize-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|eastsizelb">Enter or select the font size that you want to apply. For scalable fonts, you can also enter decimal values.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCJKStyle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" context="charnamepage|eaststyleft">Style:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbCJKStyle</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnCJKFeatures">
<property name="label" translatable="yes" context="charnamepage|east_features_button">Features...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCJKFontname">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" context="charnamepage|eastfontnameft">Name:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">edCJKFontName</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="trCJKFontName">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="model">liststore2</property>
<property name="headers-visible">False</property>
<property name="headers-clickable">False</property>
<property name="search-column">0</property>
<property name="show-expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn2">
<child>
<object class="GtkCellRendererText" id="cellrenderertext2"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="trCJKFontName-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|trCJKFontName">Select the font that you want to apply.</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="edCJKFontName">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="cbCJKLanguage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="model">liststore6</property>
<property name="has-entry">True</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext6"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbCJKLanguage-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|eastlanglb">Sets the language that the spellchecker uses for the selected text or the text that you type. Available language modules have a check mark in front of them.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCJKFontinfo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="wrap">True</property>
<property name="width-chars">30</property>
<property name="max-width-chars">30</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">5</property>
<property name="width">2</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
<child type="tab">
<object class="GtkLabel" id="nbCJK">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|Tab_Asian">Asian</property>
</object>
<packing>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<!-- n-columns=3 n-rows=6 -->
<object class="GtkGrid" id="gdCTL">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="vexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="lbCTLFontname">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" context="charnamepage|ctlfontnameft">Name:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">edCTLFontName</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCTLStyle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" context="charnamepage|ctlstyleft">Style:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbCTLStyle</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCTLSize">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|ctlsizeft">Size:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbCTLSize</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="cbCTLStyle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbCTLStyle-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|ctlstylelb">Select the formatting that you want to apply.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="cbCTLSize">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="has-entry">True</property>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbCTLSize-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|ctlsizelb">Enter or select the font size that you want to apply. For scalable fonts, you can also enter decimal values.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCTLLanguage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|ctllangft">Language:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">cbCTLLanguage</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnCTLFeatures">
<property name="label" translatable="yes" context="charnamepage|ctl_features_button">Features...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="cbCTLLanguage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="model">liststore7</property>
<property name="has-entry">True</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext11"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="cbCTLLanguage-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|ctllanglb">Sets the language that the spellchecker uses for the selected text or the text that you type. Available language modules have a check mark in front of them.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="trCTLFontName">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="model">liststore3</property>
<property name="headers-visible">False</property>
<property name="headers-clickable">False</property>
<property name="search-column">0</property>
<property name="show-expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn3">
<child>
<object class="GtkCellRendererText" id="cellrenderertext3"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="trCTLFontName-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|trCTLFontName">Select the font that you want to apply.</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="edCTLFontName">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lbCTLFontinfo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="wrap">True</property>
<property name="width-chars">30</property>
<property name="max-width-chars">30</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">5</property>
<property name="width">2</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel" id="nbCTL">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="charnamepage|Tab_Complex">Complex</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<placeholder/>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="swPreview">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">end</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="hexpand">True</property>
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<object class="GtkViewport" id="vpPreview">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
@@ -1166,48 +902,10 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">4</property>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="CharNamePage-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="charnamepage|extended_tip|CharNamePage">Specify the formatting and the font that you want to apply.</property>
</object>
</child>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<property name="ignore-hidden">True</property>
<widgets>
<widget name="weststyleft-cjk"/>
<widget name="eaststyleft"/>
<widget name="ctlstyleft"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup2">
<property name="ignore-hidden">True</property>
<widgets>
<widget name="westfontnameft-cjk"/>
<widget name="eastfontnameft"/>
<widget name="ctlfontnameft"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup3">
<property name="ignore-hidden">True</property>
<widgets>
<widget name="westsizeft-cjk"/>
<widget name="eastsizeft"/>
<widget name="ctlsizeft"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup4">
<property name="ignore-hidden">True</property>
<widgets>
<widget name="westlangft-cjk"/>
<widget name="eastlangft"/>
<widget name="ctllangft"/>
</widgets>
</object>
</interface>
diff --git a/include/svtools/ctrlbox.hxx b/include/svtools/ctrlbox.hxx
index 525c2358..180fb64 100644
--- a/include/svtools/ctrlbox.hxx
+++ b/include/svtools/ctrlbox.hxx
@@ -410,6 +410,8 @@ public:
void connect_changed(const Link<weld::ComboBox&, void>& rLink) { m_xComboBox->connect_changed(rLink); }
OUString get_active_text() const { return m_xComboBox->get_active_text(); }
void set_active_text(const OUString& rText) { m_xComboBox->set_active_text(rText); }
void set_size_request(int nWidth, int nHeight) { m_xComboBox->set_size_request(nWidth, nHeight); }
void append_text(const OUString& rStr) { m_xComboBox->append_text(rStr); }
void set_sensitive(bool bSensitive) { m_xComboBox->set_sensitive(bSensitive); }
void save_value() { m_xComboBox->save_value(); }
@@ -479,6 +481,8 @@ public:
OUString get_active_text() const { return m_xComboBox->get_active_text(); }
void set_active_or_entry_text(const OUString& rText);
void set_sensitive(bool bSensitive) { m_xComboBox->set_sensitive(bSensitive); }
void set_size_request(int nWidth, int nHeight) { m_xComboBox->set_size_request(nWidth, nHeight); }
int get_active() const { return m_xComboBox->get_active(); }
int get_value() const;
void set_value(int nValue);
diff --git a/include/svx/langbox.hxx b/include/svx/langbox.hxx
index e3de9a1..a3d74ad 100644
--- a/include/svx/langbox.hxx
+++ b/include/svx/langbox.hxx
@@ -45,7 +45,8 @@ namespace o3tl
// load language strings from resource
SVXCORE_DLLPUBLIC OUString GetDicInfoStr( std::u16string_view rName, const LanguageType nLang, bool bNeg );
class SVXCORE_DLLPUBLIC SvxLanguageBox
class SVXCORE_DLLPUBLIC
SvxLanguageBox
{
public:
enum class EditedAndValid
@@ -93,6 +94,8 @@ public:
bool get_active_id_changed_from_saved() const { return m_eSavedLanguage != get_active_id(); }
void hide() { m_xControl->hide(); }
void set_visible(bool bShow) { m_xControl->set_visible(bShow); }
void set_size_request(int nWidth, int nHeight) { m_xControl->set_size_request(nWidth, nHeight); }
void set_width_chars(int nChars) { m_xControl->set_entry_width_chars(nChars); }
void set_sensitive(bool bSensitive) { m_xControl->set_sensitive(bSensitive); }
void set_active(int nPos) { m_xControl->set_active(nPos); }
int get_active() const { return m_xControl->get_active(); }
diff --git a/sc/qa/uitest/calc_tests/formatCells.py b/sc/qa/uitest/calc_tests/formatCells.py
index 4c3b892..98bb1c6 100644
--- a/sc/qa/uitest/calc_tests/formatCells.py
+++ b/sc/qa/uitest/calc_tests/formatCells.py
@@ -75,25 +75,27 @@ class formatCell(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FormatCellDialog") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "1") #tab Font
xSizeFont = xDialog.getChild("westsizelb-cjk")
xSizeFontEast = xDialog.getChild("eastsizelb")
xSizeFontCTL = xDialog.getChild("ctlsizelb")
xLangFont = xDialog.getChild("westlanglb-cjk")
xLangFontEast = xDialog.getChild("eastlanglb")
xLangFontCTL = xDialog.getChild("ctllanglb")
# xNoteBook = xDialog.getChild("nbWestern") //western notbook is always active
xSizeFont = xDialog.getChild("cbWestSize")
xSizeFont.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xSizeFont.executeAction("TYPE", mkPropertyValues({"TEXT":"18"})) #set font size 18
xLangFont = xDialog.getChild("cbWestLanguage")
select_pos(xLangFont, "0")
xNoteBook = xDialog.getChild("nbCJKCTL")
select_pos(xNoteBook, "0")
xSizeFontEast = xDialog.getChild("cbCJKSize")
xSizeFontEast.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xSizeFontEast.executeAction("TYPE", mkPropertyValues({"TEXT":"18"})) #set font size 18
xLangFontEast = xDialog.getChild("cbCJKLanguage")
select_pos(xLangFontEast, "0")
select_pos(xNoteBook, "1")
xSizeFontCTL = xDialog.getChild("cbCTLSize")
xSizeFontCTL.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xSizeFontCTL.executeAction("TYPE", mkPropertyValues({"TEXT":"18"})) #set font size 18
xNoteBook = xDialog.getChild("notebook")
select_pos(xNoteBook, "0")
select_pos(xLangFont, "0")
select_pos(xNoteBook, "1")
select_pos(xLangFontEast, "0")
select_pos(xNoteBook, "2")
xLangFontCTL = xDialog.getChild("cbCTLLanguage")
select_pos(xLangFontCTL, "0")
#Verify - select cell A1
@@ -102,19 +104,23 @@ class formatCell(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FormatCellDialog", close_button="cancel") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "1") #tab Font
xSizeFont = xDialog.getChild("westsizelb-cjk")
xSizeFontEast = xDialog.getChild("eastsizelb")
xSizeFontCTL = xDialog.getChild("ctlsizelb")
xLangFont = xDialog.getChild("westlanglb-cjk")
xLangFontEast = xDialog.getChild("eastlanglb")
xLangFontCTL = xDialog.getChild("ctllanglb")
xSizeFont = xDialog.getChild("cbWestSize")
self.assertEqual(get_state_as_dict(xSizeFont)["Text"], "18 pt")
self.assertEqual(get_state_as_dict(xSizeFontEast)["Text"], "18 pt")
self.assertEqual(get_state_as_dict(xSizeFontCTL)["Text"], "18 pt") #check font size
xLangFont = xDialog.getChild("cbWestLanguage")
self.assertEqual(get_state_as_dict(xLangFont)["Text"], "[None]")
self.assertEqual(get_state_as_dict(xLangFontEast)["SelectEntryText"], "[None]")
self.assertEqual(get_state_as_dict(xLangFontCTL)["SelectEntryText"], "[None]")
xNoteBook = xDialog.getChild("nbCJKCTL")
select_pos(xNoteBook, "0")
xSizeFontEast = xDialog.getChild("cbCJKSize")
self.assertEqual(get_state_as_dict(xSizeFontEast)["Text"], "18 pt")
xLangFontEast = xDialog.getChild("cbCJKLanguage")
self.assertEqual(get_state_as_dict(xLangFontEast)["Text"], "[None]")
select_pos(xNoteBook, "1")
xSizeFontCTL = xDialog.getChild("cbCTLSize")
self.assertEqual(get_state_as_dict(xSizeFontCTL)["Text"], "18 pt") #check font size
xLangFontCTL = xDialog.getChild("cbCTLLanguage")
self.assertEqual(get_state_as_dict(xLangFontCTL)["Text"], "[None]")
diff --git a/sc/qa/uitest/calc_tests3/clearCells.py b/sc/qa/uitest/calc_tests3/clearCells.py
index 45f1612..a94f2c1 100644
--- a/sc/qa/uitest/calc_tests3/clearCells.py
+++ b/sc/qa/uitest/calc_tests3/clearCells.py
@@ -216,7 +216,7 @@ class clearCells(UITestCase):
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "1") #tab Font
xstylelb = xDialog.getChild("weststylelb-cjk")
xstylelb = xDialog.getChild("cbWestStyle")
self.assertEqual(get_state_as_dict(xstylelb)["Text"], "Regular")
def test_clear_cells_all(self):
diff --git a/sc/qa/uitest/calc_tests8/tdf126248.py b/sc/qa/uitest/calc_tests8/tdf126248.py
index 2879172..dce58b0 100644
--- a/sc/qa/uitest/calc_tests8/tdf126248.py
+++ b/sc/qa/uitest/calc_tests8/tdf126248.py
@@ -59,8 +59,8 @@ class tdf126248(UITestCase):
select_pos(xTabs, "1")
# Get current font names from the Format Cell dialog
westFontName = get_state_as_dict(xDialog.getChild("westfontnamelb-cjk"))['Text']
eastFontName = get_state_as_dict(xDialog.getChild("eastfontnamelb"))['Text']
westFontName = get_state_as_dict(xDialog.getChild("edWestFontName"))['Text']
eastFontName = get_state_as_dict(xDialog.getChild("edCJKFontName"))['Text']
xCalcDoc = self.xUITest.getTopFocusWindow()
gridwin = xCalcDoc.getChild("grid_window")
diff --git a/sd/qa/uitest/impress_tests/tdf127900.py b/sd/qa/uitest/impress_tests/tdf127900.py
index 20d5078..b85e602 100644
--- a/sd/qa/uitest/impress_tests/tdf127900.py
+++ b/sd/qa/uitest/impress_tests/tdf127900.py
@@ -31,7 +31,7 @@ class tdf127900(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FontDialog") as xDlg:
select_pos(xDlg.getChild("westlanglb-cjk"), "10")
select_pos(xDlg.getChild("cbWestLanguage"), "10")
xMasterLang = doc.MasterPages.getByIndex(0).getByIndex(1).CharLocale.Language
xSlideLang = doc.DrawPages.getByIndex(1).getByIndex(1).CharLocale.Language
diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr
index b7e0c00..ac34d70 100644
--- a/solenv/sanitizers/ui/cui.suppr
+++ b/solenv/sanitizers/ui/cui.suppr
@@ -18,13 +18,9 @@ cui/uiconfig/ui/cellalignment.ui://GtkLabel[@id='labelSTR_CELLLOCK'] orphan-labe
cui/uiconfig/ui/cellalignment.ui://GtkLabel[@id='labelABCD'] orphan-label
cui/uiconfig/ui/certdialog.ui://GtkLabel[@id='manual'] orphan-label
cui/uiconfig/ui/certdialog.ui://GtkLabel[@id='certdir'] orphan-label
cui/uiconfig/ui/charnamepage.ui://GtkLabel[@id='westfontinfo-nocjk'] orphan-label
cui/uiconfig/ui/charnamepage.ui://GtkLabel[@id='westfontinfo-cjk'] orphan-label
cui/uiconfig/ui/charnamepage.ui://GtkLabel[@id='eastfontinfo'] orphan-label
cui/uiconfig/ui/charnamepage.ui://GtkLabel[@id='ctlfontinfo'] orphan-label
cui/uiconfig/ui/charnamepage.ui://GtkEntry[@id='westfontname-nocjk'] no-labelled-by
cui/uiconfig/ui/charnamepage.ui://GtkEntry[@id='weststyle-nocjk'] no-labelled-by
cui/uiconfig/ui/charnamepage.ui://GtkEntry[@id='westsize-nocjk'] no-labelled-by
cui/uiconfig/ui/charnamepage.ui://GtkLabel[@id='lbWestFontinfo'] orphan-label
cui/uiconfig/ui/charnamepage.ui://GtkLabel[@id='lbCJKFontinfo'] orphan-label
cui/uiconfig/ui/charnamepage.ui://GtkLabel[@id='lbCTLFontinfo'] orphan-label
cui/uiconfig/ui/comment.ui://GtkButton[@id='previous'] button-no-label
cui/uiconfig/ui/comment.ui://GtkButton[@id='next'] button-no-label
cui/uiconfig/ui/comment.ui://GtkLabel[@id='label2'] orphan-label
diff --git a/sw/qa/uitest/findReplace/findReplace.py b/sw/qa/uitest/findReplace/findReplace.py
index 3321ebd..d5cc198 100644
--- a/sw/qa/uitest/findReplace/findReplace.py
+++ b/sw/qa/uitest/findReplace/findReplace.py
@@ -71,7 +71,7 @@ class findReplace(UITestCase):
with self.ui_test.execute_blocking_action(format.executeAction, args=('CLICK', ())) as dialog:
xTabs = dialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xSizeFont = dialog.getChild("westsizelb-cjk")
xSizeFont = dialog.getChild("cbWestSize")
xSizeFont.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xSizeFont.executeAction("TYPE", mkPropertyValues({"TEXT":"16"})) #set font size 16
diff --git a/sw/qa/uitest/findReplace/tdf119462.py b/sw/qa/uitest/findReplace/tdf119462.py
index 95e9bc3..ff11f04 100644
--- a/sw/qa/uitest/findReplace/tdf119462.py
+++ b/sw/qa/uitest/findReplace/tdf119462.py
@@ -25,7 +25,7 @@ class tdf119462(UITestCase):
#3. Choose Bold
xTabs = dialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xweststylelbcjk = dialog.getChild("weststylelb-cjk")
xweststylelbcjk = dialog.getChild("cbWestStyle")
xweststylelbcjk.executeAction("TYPE", mkPropertyValues({"TEXT":"Bold"}))
#verify label searchdesc
diff --git a/sw/qa/uitest/table/tdf115572.py b/sw/qa/uitest/table/tdf115572.py
index b666afa..ebd42ab 100644
--- a/sw/qa/uitest/table/tdf115572.py
+++ b/sw/qa/uitest/table/tdf115572.py
@@ -38,7 +38,7 @@ class tdf115572(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FontDialog", close_button="cancel") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xweststylelbcjk = xDialog.getChild("weststylelb-cjk")
xweststylelbcjk = xDialog.getChild("cbWestStyle")
self.assertEqual(get_state_as_dict(xweststylelbcjk)["Text"], "Bold")
@@ -60,7 +60,7 @@ class tdf115572(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FontDialog", close_button="cancel") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xweststylelbcjk = xDialog.getChild("weststylelb-cjk")
xweststylelbcjk = xDialog.getChild("cbWestStyle")
self.assertEqual(get_state_as_dict(xweststylelbcjk)["Text"], "Bold")
# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sw/qa/uitest/table/tdf115573.py b/sw/qa/uitest/table/tdf115573.py
index 49d53ab..2b2ae0a 100644
--- a/sw/qa/uitest/table/tdf115573.py
+++ b/sw/qa/uitest/table/tdf115573.py
@@ -38,7 +38,7 @@ class tdf115573(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FontDialog", close_button="cancel") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xweststylelbcjk = xDialog.getChild("weststylelb-cjk")
xweststylelbcjk = xDialog.getChild("cbWestStyle")
self.assertEqual(get_state_as_dict(xweststylelbcjk)["Text"], "Bold")
@@ -63,7 +63,7 @@ class tdf115573(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FontDialog", close_button="cancel") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xweststylelbcjk = xDialog.getChild("weststylelb-cjk")
xweststylelbcjk = xDialog.getChild("cbWestStyle")
self.assertEqual(get_state_as_dict(xweststylelbcjk)["Text"], "Bold")
@@ -83,7 +83,7 @@ class tdf115573(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FontDialog", close_button="cancel") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xweststylelbcjk = xDialog.getChild("weststylelb-cjk")
xweststylelbcjk = xDialog.getChild("cbWestStyle")
self.assertEqual(get_state_as_dict(xweststylelbcjk)["Text"], "Bold")
@@ -103,7 +103,7 @@ class tdf115573(UITestCase):
with self.ui_test.execute_dialog_through_command(".uno:FontDialog", close_button="cancel") as xDialog:
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xweststylelbcjk = xDialog.getChild("weststylelb-cjk")
xweststylelbcjk = xDialog.getChild("cbWestStyle")
self.assertEqual(get_state_as_dict(xweststylelbcjk)["Text"], "Bold")
# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sw/qa/uitest/writer_tests2/formatCharacter.py b/sw/qa/uitest/writer_tests2/formatCharacter.py
index ecba5bd..b661d25 100644
--- a/sw/qa/uitest/writer_tests2/formatCharacter.py
+++ b/sw/qa/uitest/writer_tests2/formatCharacter.py
@@ -24,42 +24,47 @@ class formatCharacter(UITestCase):
xTabs = xDialog.getChild("tabcontrol")
select_pos(xTabs, "0")
xSizeFont = xDialog.getChild("westsizelb-cjk")
xSizeFontEast = xDialog.getChild("eastsizelb")
xSizeFontCTL = xDialog.getChild("ctlsizelb")
xLangFont = xDialog.getChild("westlanglb-cjk")
xLangFontEast = xDialog.getChild("eastlanglb")
xLangFontCTL = xDialog.getChild("ctllanglb")
# xNoteBook = xDialog.getChild("nbWestern") //western notbook is always active
xSizeFont = xDialog.getChild("cbWestSize")
xLangFont = xDialog.getChild("cbWestLanguage")
xSizeFont.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xSizeFont.executeAction("TYPE", mkPropertyValues({"TEXT":"18"})) #set font size 18
xSizeFont.executeAction("TYPE", mkPropertyValues({"TEXT":"18"}))
#set font size 18
select_pos(xLangFont, "0")
xNoteBook = xDialog.getChild("nbCJKCTL")
select_pos(xNoteBook, "0")
xSizeFontEast = xDialog.getChild("cbCJKSize")
xLangFontEast = xDialog.getChild("cbCJKLanguage")
xSizeFontEast.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xSizeFontEast.executeAction("TYPE", mkPropertyValues({"TEXT":"18"})) #set font size 18
select_pos(xLangFontEast, "0")
select_pos(xNoteBook, "1")
xSizeFontCTL = xDialog.getChild("cbCTLSize")
xLangFontCTL = xDialog.getChild("cbCTLLanguage")
xSizeFontCTL.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
xSizeFontCTL.executeAction("TYPE", mkPropertyValues({"TEXT":"18"})) #set font size 18
xNoteBook = xDialog.getChild("notebook")
select_pos(xNoteBook, "0")
select_pos(xLangFont, "0")
select_pos(xNoteBook, "1")
select_pos(xLangFontEast, "0")
select_pos(xNoteBook, "2")
select_pos(xLangFontCTL, "0")
with self.ui_test.execute_dialog_through_command(".uno:FontDialog", close_button="cancel") as xDialog:
xSizeFont = xDialog.getChild("westsizelb-cjk")
xSizeFontEast = xDialog.getChild("eastsizelb")
xSizeFontCTL = xDialog.getChild("ctlsizelb")
xLangFont = xDialog.getChild("westlanglb-cjk")
xLangFontEast = xDialog.getChild("eastlanglb")
xLangFontCTL = xDialog.getChild("ctllanglb")
xSizeFont = xDialog.getChild("cbWestSize")
self.assertEqual(get_state_as_dict(xSizeFont)["Text"], "18 pt")
self.assertEqual(get_state_as_dict(xSizeFontEast)["Text"], "18 pt")
self.assertEqual(get_state_as_dict(xSizeFontCTL)["Text"], "18 pt") #check font size
xLangFont = xDialog.getChild("cbWestLanguage")
self.assertEqual(get_state_as_dict(xLangFont)["Text"], "[None]")
self.assertEqual(get_state_as_dict(xLangFontEast)["SelectEntryText"], "[None]")
self.assertEqual(get_state_as_dict(xLangFontCTL)["SelectEntryText"], "[None]")
xNoteBook = xDialog.getChild("nbCJKCTL")
select_pos(xNoteBook, "0")
xSizeFontEast = xDialog.getChild("cbCJKSize")
self.assertEqual(get_state_as_dict(xSizeFontEast)["Text"], "18 pt")
xLangFontEast = xDialog.getChild("cbCJKLanguage")
self.assertEqual(get_state_as_dict(xLangFontEast)["Text"], "[None]")
select_pos(xNoteBook, "1")
xSizeFontCTL = xDialog.getChild("cbCTLSize")
self.assertEqual(get_state_as_dict(xSizeFontCTL)["Text"], "18 pt")
xLangFontCTL = xDialog.getChild("cbCTLLanguage")
self.assertEqual(get_state_as_dict(xLangFontCTL)["Text"], "[None]")
diff --git a/sw/qa/uitest/writer_tests7/tdf145158.py b/sw/qa/uitest/writer_tests7/tdf145158.py
index 3927fbe..50ef857 100644
--- a/sw/qa/uitest/writer_tests7/tdf145158.py
+++ b/sw/qa/uitest/writer_tests7/tdf145158.py
@@ -29,7 +29,7 @@ class tdf145158(UITestCase):
xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "Test"}))
with self.ui_test.execute_dialog_through_command(".uno:FontDialog") as xDialog:
xSizeFont = xDialog.getChild("westsizelb-cjk")
xSizeFont = xDialog.getChild("cbWestSize")
# Without the fix in place, this test would have failed with
# AssertionError: '10.5 pt' != '11 pt'