You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.5 KiB
53 lines
1.5 KiB
# encoding: utf-8
|
|
|
|
"""
|
|
Sub-package module for docx.styles sub-package.
|
|
"""
|
|
|
|
from __future__ import (
|
|
absolute_import, division, print_function, unicode_literals
|
|
)
|
|
|
|
|
|
class BabelFish(object):
|
|
"""
|
|
Translates special-case style names from UI name (e.g. Heading 1) to
|
|
internal/styles.xml name (e.g. heading 1) and back.
|
|
"""
|
|
|
|
style_aliases = (
|
|
('Caption', 'caption'),
|
|
('Footer', 'footer'),
|
|
('Header', 'header'),
|
|
('Heading 1', 'heading 1'),
|
|
('Heading 2', 'heading 2'),
|
|
('Heading 3', 'heading 3'),
|
|
('Heading 4', 'heading 4'),
|
|
('Heading 5', 'heading 5'),
|
|
('Heading 6', 'heading 6'),
|
|
('Heading 7', 'heading 7'),
|
|
('Heading 8', 'heading 8'),
|
|
('Heading 9', 'heading 9'),
|
|
)
|
|
|
|
internal_style_names = dict(style_aliases)
|
|
ui_style_names = dict((item[1], item[0]) for item in style_aliases)
|
|
|
|
@classmethod
|
|
def ui2internal(cls, ui_style_name):
|
|
"""
|
|
Return the internal style name corresponding to *ui_style_name*, such
|
|
as 'heading 1' for 'Heading 1'.
|
|
"""
|
|
return cls.internal_style_names.get(ui_style_name, ui_style_name)
|
|
|
|
@classmethod
|
|
def internal2ui(cls, internal_style_name):
|
|
"""
|
|
Return the user interface style name corresponding to
|
|
*internal_style_name*, such as 'Heading 1' for 'heading 1'.
|
|
"""
|
|
return cls.ui_style_names.get(
|
|
internal_style_name, internal_style_name
|
|
)
|