Merged in the nomcom app from ejimenez@yaco.es and esanchez@yaco.es, and accompanying dbtemplate app and the (standard) docutils module. Added some tweaks to get all tests to pass and migrations to run.
- Legacy-Id: 5948
This commit is contained in:
commit
6baea429aa
27
debug.py
27
debug.py
|
@ -63,11 +63,13 @@ def trace(fn): # renamed from 'report' by henrik 16 Jun 2011
|
|||
["%s = %s" % (a, fix(repr(b))) for a,b in kwargs.items()]
|
||||
))
|
||||
|
||||
sys.stderr.write("%s* %s [#%s]\n" % (indent, fc, call))
|
||||
if debug:
|
||||
sys.stderr.write("%s* %s [#%s]\n" % (indent, fc, call))
|
||||
_report_indent[0] += increment
|
||||
ret = fn(*params,**kwargs)
|
||||
_report_indent[0] -= increment
|
||||
sys.stderr.write("%s %s [#%s] ==> %s\n" % (indent, fc, call, repr(ret)))
|
||||
if debug:
|
||||
sys.stderr.write("%s %s [#%s] ==> %s\n" % (indent, fc, call, repr(ret)))
|
||||
|
||||
return ret
|
||||
wrap.callcount = 0
|
||||
|
@ -113,7 +115,7 @@ def show(name):
|
|||
frame = inspect.stack()[1][0]
|
||||
value = eval(name, frame.f_globals, frame.f_locals)
|
||||
indent = ' ' * (_report_indent[0])
|
||||
sys.stderr.write("%s%s: %s\n" % (indent, name, value))
|
||||
sys.stderr.write("%s%s: '%s'\n" % (indent, name, value))
|
||||
|
||||
def log(name):
|
||||
if debug:
|
||||
|
@ -132,6 +134,25 @@ def pprint(name):
|
|||
for line in lines:
|
||||
sys.stderr.write("%s %s\n"%(indent, line))
|
||||
|
||||
def dir(name):
|
||||
if debug:
|
||||
name = "dir(%s)" % name
|
||||
frame = inspect.stack()[1][0]
|
||||
value = eval(name, frame.f_globals, frame.f_locals)
|
||||
indent = ' ' * (_report_indent[0])
|
||||
sys.stderr.write("%s%s:\n" % (indent, name))
|
||||
lines = pformat(value).split('\n')
|
||||
for line in lines:
|
||||
sys.stderr.write("%s %s\n"%(indent, line))
|
||||
|
||||
def type(name):
|
||||
if debug:
|
||||
name = "type(%s)" % name
|
||||
frame = inspect.stack()[1][0]
|
||||
value = eval(name, frame.f_globals, frame.f_locals)
|
||||
indent = ' ' * (_report_indent[0])
|
||||
sys.stderr.write("%s%s: %s\n" % (indent, name, value))
|
||||
|
||||
def say(s):
|
||||
if debug:
|
||||
indent = ' ' * (_report_indent[0])
|
||||
|
|
214
docutils/__init__.py
Normal file
214
docutils/__init__.py
Normal file
|
@ -0,0 +1,214 @@
|
|||
# $Id: __init__.py 7446 2012-06-17 20:47:10Z grubert $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
This is the Docutils (Python Documentation Utilities) package.
|
||||
|
||||
Package Structure
|
||||
=================
|
||||
|
||||
Modules:
|
||||
|
||||
- __init__.py: Contains component base classes, exception classes, and
|
||||
Docutils version information.
|
||||
|
||||
- core.py: Contains the ``Publisher`` class and ``publish_*()`` convenience
|
||||
functions.
|
||||
|
||||
- frontend.py: Runtime settings (command-line interface, configuration files)
|
||||
processing, for Docutils front-ends.
|
||||
|
||||
- io.py: Provides a uniform API for low-level input and output.
|
||||
|
||||
- nodes.py: Docutils document tree (doctree) node class library.
|
||||
|
||||
- statemachine.py: A finite state machine specialized for
|
||||
regular-expression-based text filters.
|
||||
|
||||
- urischemes.py: Contains a complete mapping of known URI addressing
|
||||
scheme names to descriptions.
|
||||
|
||||
Subpackages:
|
||||
|
||||
- languages: Language-specific mappings of terms.
|
||||
|
||||
- parsers: Syntax-specific input parser modules or packages.
|
||||
|
||||
- readers: Context-specific input handlers which understand the data
|
||||
source and manage a parser.
|
||||
|
||||
- transforms: Modules used by readers and writers to modify DPS
|
||||
doctrees.
|
||||
|
||||
- utils: Contains the ``Reporter`` system warning class and miscellaneous
|
||||
utilities used by readers, writers, and transforms.
|
||||
|
||||
- writers: Format-specific output translators.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
__version__ = '0.9.1'
|
||||
"""``major.minor.micro`` version number. The micro number is bumped for API
|
||||
changes, for new functionality, and for interim project releases. The minor
|
||||
number is bumped whenever there is a significant project release. The major
|
||||
number will be bumped when the project is feature-complete, and perhaps if
|
||||
there is a major change in the design."""
|
||||
|
||||
__version_details__ = 'release'
|
||||
"""Extra version details (e.g. 'snapshot 2005-05-29, r3410', 'repository',
|
||||
'release'), modified automatically & manually."""
|
||||
|
||||
import sys
|
||||
|
||||
class ApplicationError(StandardError):
|
||||
# Workaround:
|
||||
# In Python < 2.6, unicode(<exception instance>) calls `str` on the
|
||||
# arg and therefore, e.g., unicode(StandardError(u'\u234')) fails
|
||||
# with UnicodeDecodeError.
|
||||
if sys.version_info < (2,6):
|
||||
def __unicode__(self):
|
||||
return u', '.join(self.args)
|
||||
|
||||
class DataError(ApplicationError): pass
|
||||
|
||||
|
||||
class SettingsSpec:
|
||||
|
||||
"""
|
||||
Runtime setting specification base class.
|
||||
|
||||
SettingsSpec subclass objects used by `docutils.frontend.OptionParser`.
|
||||
"""
|
||||
|
||||
settings_spec = ()
|
||||
"""Runtime settings specification. Override in subclasses.
|
||||
|
||||
Defines runtime settings and associated command-line options, as used by
|
||||
`docutils.frontend.OptionParser`. This is a tuple of:
|
||||
|
||||
- Option group title (string or `None` which implies no group, just a list
|
||||
of single options).
|
||||
|
||||
- Description (string or `None`).
|
||||
|
||||
- A sequence of option tuples. Each consists of:
|
||||
|
||||
- Help text (string)
|
||||
|
||||
- List of option strings (e.g. ``['-Q', '--quux']``).
|
||||
|
||||
- Dictionary of keyword arguments sent to the OptionParser/OptionGroup
|
||||
``add_option`` method.
|
||||
|
||||
Runtime setting names are derived implicitly from long option names
|
||||
('--a-setting' becomes ``settings.a_setting``) or explicitly from the
|
||||
'dest' keyword argument.
|
||||
|
||||
Most settings will also have a 'validator' keyword & function. The
|
||||
validator function validates setting values (from configuration files
|
||||
and command-line option arguments) and converts them to appropriate
|
||||
types. For example, the ``docutils.frontend.validate_boolean``
|
||||
function, **required by all boolean settings**, converts true values
|
||||
('1', 'on', 'yes', and 'true') to 1 and false values ('0', 'off',
|
||||
'no', 'false', and '') to 0. Validators need only be set once per
|
||||
setting. See the `docutils.frontend.validate_*` functions.
|
||||
|
||||
See the optparse docs for more details.
|
||||
|
||||
- More triples of group title, description, options, as many times as
|
||||
needed. Thus, `settings_spec` tuples can be simply concatenated.
|
||||
"""
|
||||
|
||||
settings_defaults = None
|
||||
"""A dictionary of defaults for settings not in `settings_spec` (internal
|
||||
settings, intended to be inaccessible by command-line and config file).
|
||||
Override in subclasses."""
|
||||
|
||||
settings_default_overrides = None
|
||||
"""A dictionary of auxiliary defaults, to override defaults for settings
|
||||
defined in other components. Override in subclasses."""
|
||||
|
||||
relative_path_settings = ()
|
||||
"""Settings containing filesystem paths. Override in subclasses.
|
||||
Settings listed here are to be interpreted relative to the current working
|
||||
directory."""
|
||||
|
||||
config_section = None
|
||||
"""The name of the config file section specific to this component
|
||||
(lowercase, no brackets). Override in subclasses."""
|
||||
|
||||
config_section_dependencies = None
|
||||
"""A list of names of config file sections that are to be applied before
|
||||
`config_section`, in order (from general to specific). In other words,
|
||||
the settings in `config_section` are to be overlaid on top of the settings
|
||||
from these sections. The "general" section is assumed implicitly.
|
||||
Override in subclasses."""
|
||||
|
||||
|
||||
class TransformSpec:
|
||||
|
||||
"""
|
||||
Runtime transform specification base class.
|
||||
|
||||
TransformSpec subclass objects used by `docutils.transforms.Transformer`.
|
||||
"""
|
||||
|
||||
def get_transforms(self):
|
||||
"""Transforms required by this class. Override in subclasses."""
|
||||
if self.default_transforms != ():
|
||||
import warnings
|
||||
warnings.warn('default_transforms attribute deprecated.\n'
|
||||
'Use get_transforms() method instead.',
|
||||
DeprecationWarning)
|
||||
return list(self.default_transforms)
|
||||
return []
|
||||
|
||||
# Deprecated; for compatibility.
|
||||
default_transforms = ()
|
||||
|
||||
unknown_reference_resolvers = ()
|
||||
"""List of functions to try to resolve unknown references. Unknown
|
||||
references have a 'refname' attribute which doesn't correspond to any
|
||||
target in the document. Called when the transforms in
|
||||
`docutils.tranforms.references` are unable to find a correct target. The
|
||||
list should contain functions which will try to resolve unknown
|
||||
references, with the following signature::
|
||||
|
||||
def reference_resolver(node):
|
||||
'''Returns boolean: true if resolved, false if not.'''
|
||||
|
||||
If the function is able to resolve the reference, it should also remove
|
||||
the 'refname' attribute and mark the node as resolved::
|
||||
|
||||
del node['refname']
|
||||
node.resolved = 1
|
||||
|
||||
Each function must have a "priority" attribute which will affect the order
|
||||
the unknown_reference_resolvers are run::
|
||||
|
||||
reference_resolver.priority = 100
|
||||
|
||||
Override in subclasses."""
|
||||
|
||||
|
||||
class Component(SettingsSpec, TransformSpec):
|
||||
|
||||
"""Base class for Docutils components."""
|
||||
|
||||
component_type = None
|
||||
"""Name of the component type ('reader', 'parser', 'writer'). Override in
|
||||
subclasses."""
|
||||
|
||||
supported = ()
|
||||
"""Names for this component. Override in subclasses."""
|
||||
|
||||
def supports(self, format):
|
||||
"""
|
||||
Is `format` supported by this component?
|
||||
|
||||
To be used by transforms to ask the dependent component if it supports
|
||||
a certain input context or output format.
|
||||
"""
|
||||
return format in self.supported
|
37
docutils/_compat.py
Normal file
37
docutils/_compat.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
# $Id: _compat.py 7316 2012-01-19 11:31:58Z milde $
|
||||
# Author: Georg Brandl <georg@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Python 2/3 compatibility definitions.
|
||||
|
||||
This module currently provides the following helper symbols:
|
||||
|
||||
* bytes (name of byte string type; str in 2.x, bytes in 3.x)
|
||||
* b (function converting a string literal to an ASCII byte string;
|
||||
can be also used to convert a Unicode string into a byte string)
|
||||
* u_prefix (unicode repr prefix: 'u' in 2.x, '' in 3.x)
|
||||
(Required in docutils/test/test_publisher.py)
|
||||
* BytesIO (a StringIO class that works with bytestrings)
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
if sys.version_info < (3,0):
|
||||
b = bytes = str
|
||||
u_prefix = 'u'
|
||||
from StringIO import StringIO as BytesIO
|
||||
else:
|
||||
import builtins
|
||||
bytes = builtins.bytes
|
||||
u_prefix = ''
|
||||
def b(s):
|
||||
if isinstance(s, str):
|
||||
return s.encode('latin1')
|
||||
elif isinstance(s, bytes):
|
||||
return s
|
||||
else:
|
||||
raise TypeError("Invalid argument %r for b()" % (s,))
|
||||
# using this hack since 2to3 "fixes" the relative import
|
||||
# when using ``from io import BytesIO``
|
||||
BytesIO = __import__('io').BytesIO
|
133
docutils/_string_template_compat.py
Normal file
133
docutils/_string_template_compat.py
Normal file
|
@ -0,0 +1,133 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf8 -*-
|
||||
|
||||
# string_template_compat.py: string.Template for Python <= 2.4
|
||||
# =====================================================
|
||||
|
||||
# This is just an excerpt of the standard string module to provide backwards
|
||||
# compatibility.
|
||||
|
||||
import re as _re
|
||||
|
||||
class _multimap:
|
||||
"""Helper class for combining multiple mappings.
|
||||
|
||||
Used by .{safe_,}substitute() to combine the mapping and keyword
|
||||
arguments.
|
||||
"""
|
||||
def __init__(self, primary, secondary):
|
||||
self._primary = primary
|
||||
self._secondary = secondary
|
||||
|
||||
def __getitem__(self, key):
|
||||
try:
|
||||
return self._primary[key]
|
||||
except KeyError:
|
||||
return self._secondary[key]
|
||||
|
||||
|
||||
class _TemplateMetaclass(type):
|
||||
pattern = r"""
|
||||
%(delim)s(?:
|
||||
(?P<escaped>%(delim)s) | # Escape sequence of two delimiters
|
||||
(?P<named>%(id)s) | # delimiter and a Python identifier
|
||||
{(?P<braced>%(id)s)} | # delimiter and a braced identifier
|
||||
(?P<invalid>) # Other ill-formed delimiter exprs
|
||||
)
|
||||
"""
|
||||
|
||||
def __init__(cls, name, bases, dct):
|
||||
super(_TemplateMetaclass, cls).__init__(name, bases, dct)
|
||||
if 'pattern' in dct:
|
||||
pattern = cls.pattern
|
||||
else:
|
||||
pattern = _TemplateMetaclass.pattern % {
|
||||
'delim' : _re.escape(cls.delimiter),
|
||||
'id' : cls.idpattern,
|
||||
}
|
||||
cls.pattern = _re.compile(pattern, _re.IGNORECASE | _re.VERBOSE)
|
||||
|
||||
|
||||
class Template:
|
||||
"""A string class for supporting $-substitutions."""
|
||||
__metaclass__ = _TemplateMetaclass
|
||||
|
||||
delimiter = '$'
|
||||
idpattern = r'[_a-z][_a-z0-9]*'
|
||||
|
||||
def __init__(self, template):
|
||||
self.template = template
|
||||
|
||||
# Search for $$, $identifier, ${identifier}, and any bare $'s
|
||||
|
||||
def _invalid(self, mo):
|
||||
i = mo.start('invalid')
|
||||
lines = self.template[:i].splitlines(True)
|
||||
if not lines:
|
||||
colno = 1
|
||||
lineno = 1
|
||||
else:
|
||||
colno = i - len(''.join(lines[:-1]))
|
||||
lineno = len(lines)
|
||||
raise ValueError('Invalid placeholder in string: line %d, col %d' %
|
||||
(lineno, colno))
|
||||
|
||||
def substitute(self, *args, **kws):
|
||||
if len(args) > 1:
|
||||
raise TypeError('Too many positional arguments')
|
||||
if not args:
|
||||
mapping = kws
|
||||
elif kws:
|
||||
mapping = _multimap(kws, args[0])
|
||||
else:
|
||||
mapping = args[0]
|
||||
# Helper function for .sub()
|
||||
def convert(mo):
|
||||
# Check the most common path first.
|
||||
named = mo.group('named') or mo.group('braced')
|
||||
if named is not None:
|
||||
val = mapping[named]
|
||||
# We use this idiom instead of str() because the latter will
|
||||
# fail if val is a Unicode containing non-ASCII characters.
|
||||
return '%s' % (val,)
|
||||
if mo.group('escaped') is not None:
|
||||
return self.delimiter
|
||||
if mo.group('invalid') is not None:
|
||||
self._invalid(mo)
|
||||
raise ValueError('Unrecognized named group in pattern',
|
||||
self.pattern)
|
||||
return self.pattern.sub(convert, self.template)
|
||||
|
||||
def safe_substitute(self, *args, **kws):
|
||||
if len(args) > 1:
|
||||
raise TypeError('Too many positional arguments')
|
||||
if not args:
|
||||
mapping = kws
|
||||
elif kws:
|
||||
mapping = _multimap(kws, args[0])
|
||||
else:
|
||||
mapping = args[0]
|
||||
# Helper function for .sub()
|
||||
def convert(mo):
|
||||
named = mo.group('named')
|
||||
if named is not None:
|
||||
try:
|
||||
# We use this idiom instead of str() because the latter
|
||||
# will fail if val is a Unicode containing non-ASCII
|
||||
return '%s' % (mapping[named],)
|
||||
except KeyError:
|
||||
return self.delimiter + named
|
||||
braced = mo.group('braced')
|
||||
if braced is not None:
|
||||
try:
|
||||
return '%s' % (mapping[braced],)
|
||||
except KeyError:
|
||||
return self.delimiter + '{' + braced + '}'
|
||||
if mo.group('escaped') is not None:
|
||||
return self.delimiter
|
||||
if mo.group('invalid') is not None:
|
||||
return self.delimiter
|
||||
raise ValueError('Unrecognized named group in pattern',
|
||||
self.pattern)
|
||||
return self.pattern.sub(convert, self.template)
|
||||
|
667
docutils/core.py
Normal file
667
docutils/core.py
Normal file
|
@ -0,0 +1,667 @@
|
|||
# $Id: core.py 7384 2012-03-19 22:59:09Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Calling the ``publish_*`` convenience functions (or instantiating a
|
||||
`Publisher` object) with component names will result in default
|
||||
behavior. For custom behavior (setting component options), create
|
||||
custom component objects first, and pass *them* to
|
||||
``publish_*``/`Publisher`. See `The Docutils Publisher`_.
|
||||
|
||||
.. _The Docutils Publisher: http://docutils.sf.net/docs/api/publisher.html
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
import sys
|
||||
import pprint
|
||||
from docutils import __version__, __version_details__, SettingsSpec
|
||||
from docutils import frontend, io, utils, readers, writers
|
||||
from docutils.frontend import OptionParser
|
||||
from docutils.transforms import Transformer
|
||||
from docutils.error_reporting import ErrorOutput, ErrorString
|
||||
import docutils.readers.doctree
|
||||
|
||||
class Publisher:
|
||||
|
||||
"""
|
||||
A facade encapsulating the high-level logic of a Docutils system.
|
||||
"""
|
||||
|
||||
def __init__(self, reader=None, parser=None, writer=None,
|
||||
source=None, source_class=io.FileInput,
|
||||
destination=None, destination_class=io.FileOutput,
|
||||
settings=None):
|
||||
"""
|
||||
Initial setup. If any of `reader`, `parser`, or `writer` are not
|
||||
specified, the corresponding ``set_...`` method should be called with
|
||||
a component name (`set_reader` sets the parser as well).
|
||||
"""
|
||||
|
||||
self.document = None
|
||||
"""The document tree (`docutils.nodes` objects)."""
|
||||
|
||||
self.reader = reader
|
||||
"""A `docutils.readers.Reader` instance."""
|
||||
|
||||
self.parser = parser
|
||||
"""A `docutils.parsers.Parser` instance."""
|
||||
|
||||
self.writer = writer
|
||||
"""A `docutils.writers.Writer` instance."""
|
||||
|
||||
for component in 'reader', 'parser', 'writer':
|
||||
assert not isinstance(getattr(self, component), str), (
|
||||
'passed string "%s" as "%s" parameter; pass an instance, '
|
||||
'or use the "%s_name" parameter instead (in '
|
||||
'docutils.core.publish_* convenience functions).'
|
||||
% (getattr(self, component), component, component))
|
||||
|
||||
self.source = source
|
||||
"""The source of input data, a `docutils.io.Input` instance."""
|
||||
|
||||
self.source_class = source_class
|
||||
"""The class for dynamically created source objects."""
|
||||
|
||||
self.destination = destination
|
||||
"""The destination for docutils output, a `docutils.io.Output`
|
||||
instance."""
|
||||
|
||||
self.destination_class = destination_class
|
||||
"""The class for dynamically created destination objects."""
|
||||
|
||||
self.settings = settings
|
||||
"""An object containing Docutils settings as instance attributes.
|
||||
Set by `self.process_command_line()` or `self.get_settings()`."""
|
||||
|
||||
self._stderr = ErrorOutput()
|
||||
|
||||
def set_reader(self, reader_name, parser, parser_name):
|
||||
"""Set `self.reader` by name."""
|
||||
reader_class = readers.get_reader_class(reader_name)
|
||||
self.reader = reader_class(parser, parser_name)
|
||||
self.parser = self.reader.parser
|
||||
|
||||
def set_writer(self, writer_name):
|
||||
"""Set `self.writer` by name."""
|
||||
writer_class = writers.get_writer_class(writer_name)
|
||||
self.writer = writer_class()
|
||||
|
||||
def set_components(self, reader_name, parser_name, writer_name):
|
||||
if self.reader is None:
|
||||
self.set_reader(reader_name, self.parser, parser_name)
|
||||
if self.parser is None:
|
||||
if self.reader.parser is None:
|
||||
self.reader.set_parser(parser_name)
|
||||
self.parser = self.reader.parser
|
||||
if self.writer is None:
|
||||
self.set_writer(writer_name)
|
||||
|
||||
def setup_option_parser(self, usage=None, description=None,
|
||||
settings_spec=None, config_section=None,
|
||||
**defaults):
|
||||
if config_section:
|
||||
if not settings_spec:
|
||||
settings_spec = SettingsSpec()
|
||||
settings_spec.config_section = config_section
|
||||
parts = config_section.split()
|
||||
if len(parts) > 1 and parts[-1] == 'application':
|
||||
settings_spec.config_section_dependencies = ['applications']
|
||||
#@@@ Add self.source & self.destination to components in future?
|
||||
option_parser = OptionParser(
|
||||
components=(self.parser, self.reader, self.writer, settings_spec),
|
||||
defaults=defaults, read_config_files=True,
|
||||
usage=usage, description=description)
|
||||
return option_parser
|
||||
|
||||
def get_settings(self, usage=None, description=None,
|
||||
settings_spec=None, config_section=None, **defaults):
|
||||
"""
|
||||
Set and return default settings (overrides in `defaults` dict).
|
||||
|
||||
Set components first (`self.set_reader` & `self.set_writer`).
|
||||
Explicitly setting `self.settings` disables command line option
|
||||
processing from `self.publish()`.
|
||||
"""
|
||||
option_parser = self.setup_option_parser(
|
||||
usage, description, settings_spec, config_section, **defaults)
|
||||
self.settings = option_parser.get_default_values()
|
||||
return self.settings
|
||||
|
||||
def process_programmatic_settings(self, settings_spec,
|
||||
settings_overrides,
|
||||
config_section):
|
||||
if self.settings is None:
|
||||
defaults = (settings_overrides or {}).copy()
|
||||
# Propagate exceptions by default when used programmatically:
|
||||
defaults.setdefault('traceback', True)
|
||||
self.get_settings(settings_spec=settings_spec,
|
||||
config_section=config_section,
|
||||
**defaults)
|
||||
|
||||
def process_command_line(self, argv=None, usage=None, description=None,
|
||||
settings_spec=None, config_section=None,
|
||||
**defaults):
|
||||
"""
|
||||
Pass an empty list to `argv` to avoid reading `sys.argv` (the
|
||||
default).
|
||||
|
||||
Set components first (`self.set_reader` & `self.set_writer`).
|
||||
"""
|
||||
option_parser = self.setup_option_parser(
|
||||
usage, description, settings_spec, config_section, **defaults)
|
||||
if argv is None:
|
||||
argv = sys.argv[1:]
|
||||
# converting to Unicode (Python 3 does this automatically):
|
||||
if sys.version_info < (3,0):
|
||||
# TODO: make this failsafe and reversible?
|
||||
argv_encoding = (frontend.locale_encoding or 'ascii')
|
||||
argv = [a.decode(argv_encoding) for a in argv]
|
||||
self.settings = option_parser.parse_args(argv)
|
||||
|
||||
def set_io(self, source_path=None, destination_path=None):
|
||||
if self.source is None:
|
||||
self.set_source(source_path=source_path)
|
||||
if self.destination is None:
|
||||
self.set_destination(destination_path=destination_path)
|
||||
|
||||
def set_source(self, source=None, source_path=None):
|
||||
if source_path is None:
|
||||
source_path = self.settings._source
|
||||
else:
|
||||
self.settings._source = source_path
|
||||
# Raise IOError instead of system exit with `tracback == True`
|
||||
# TODO: change io.FileInput's default behaviour and remove this hack
|
||||
try:
|
||||
self.source = self.source_class(
|
||||
source=source, source_path=source_path,
|
||||
encoding=self.settings.input_encoding,
|
||||
handle_io_errors=False)
|
||||
except TypeError:
|
||||
self.source = self.source_class(
|
||||
source=source, source_path=source_path,
|
||||
encoding=self.settings.input_encoding)
|
||||
|
||||
def set_destination(self, destination=None, destination_path=None):
|
||||
if destination_path is None:
|
||||
destination_path = self.settings._destination
|
||||
else:
|
||||
self.settings._destination = destination_path
|
||||
self.destination = self.destination_class(
|
||||
destination=destination, destination_path=destination_path,
|
||||
encoding=self.settings.output_encoding,
|
||||
error_handler=self.settings.output_encoding_error_handler)
|
||||
# Raise IOError instead of system exit with `tracback == True`
|
||||
# TODO: change io.FileInput's default behaviour and remove this hack
|
||||
self.destination.handle_io_errors=False
|
||||
|
||||
def apply_transforms(self):
|
||||
self.document.transformer.populate_from_components(
|
||||
(self.source, self.reader, self.reader.parser, self.writer,
|
||||
self.destination))
|
||||
self.document.transformer.apply_transforms()
|
||||
|
||||
def publish(self, argv=None, usage=None, description=None,
|
||||
settings_spec=None, settings_overrides=None,
|
||||
config_section=None, enable_exit_status=False):
|
||||
"""
|
||||
Process command line options and arguments (if `self.settings` not
|
||||
already set), run `self.reader` and then `self.writer`. Return
|
||||
`self.writer`'s output.
|
||||
"""
|
||||
exit = None
|
||||
try:
|
||||
if self.settings is None:
|
||||
self.process_command_line(
|
||||
argv, usage, description, settings_spec, config_section,
|
||||
**(settings_overrides or {}))
|
||||
self.set_io()
|
||||
self.document = self.reader.read(self.source, self.parser,
|
||||
self.settings)
|
||||
self.apply_transforms()
|
||||
output = self.writer.write(self.document, self.destination)
|
||||
self.writer.assemble_parts()
|
||||
except SystemExit, error:
|
||||
exit = 1
|
||||
exit_status = error.code
|
||||
except Exception, error:
|
||||
if not self.settings: # exception too early to report nicely
|
||||
raise
|
||||
if self.settings.traceback: # Propagate exceptions?
|
||||
self.debugging_dumps()
|
||||
raise
|
||||
self.report_Exception(error)
|
||||
exit = True
|
||||
exit_status = 1
|
||||
self.debugging_dumps()
|
||||
if (enable_exit_status and self.document
|
||||
and (self.document.reporter.max_level
|
||||
>= self.settings.exit_status_level)):
|
||||
sys.exit(self.document.reporter.max_level + 10)
|
||||
elif exit:
|
||||
sys.exit(exit_status)
|
||||
return output
|
||||
|
||||
def debugging_dumps(self):
|
||||
if not self.document:
|
||||
return
|
||||
if self.settings.dump_settings:
|
||||
print >>self._stderr, '\n::: Runtime settings:'
|
||||
print >>self._stderr, pprint.pformat(self.settings.__dict__)
|
||||
if self.settings.dump_internals:
|
||||
print >>self._stderr, '\n::: Document internals:'
|
||||
print >>self._stderr, pprint.pformat(self.document.__dict__)
|
||||
if self.settings.dump_transforms:
|
||||
print >>self._stderr, '\n::: Transforms applied:'
|
||||
print >>self._stderr, (' (priority, transform class, '
|
||||
'pending node details, keyword args)')
|
||||
print >>self._stderr, pprint.pformat(
|
||||
[(priority, '%s.%s' % (xclass.__module__, xclass.__name__),
|
||||
pending and pending.details, kwargs)
|
||||
for priority, xclass, pending, kwargs
|
||||
in self.document.transformer.applied])
|
||||
if self.settings.dump_pseudo_xml:
|
||||
print >>self._stderr, '\n::: Pseudo-XML:'
|
||||
print >>self._stderr, self.document.pformat().encode(
|
||||
'raw_unicode_escape')
|
||||
|
||||
def report_Exception(self, error):
|
||||
if isinstance(error, utils.SystemMessage):
|
||||
self.report_SystemMessage(error)
|
||||
elif isinstance(error, UnicodeEncodeError):
|
||||
self.report_UnicodeError(error)
|
||||
elif isinstance(error, io.InputError):
|
||||
self._stderr.write(u'Unable to open source file for reading:\n'
|
||||
u' %s\n' % ErrorString(error))
|
||||
elif isinstance(error, io.OutputError):
|
||||
self._stderr.write(
|
||||
u'Unable to open destination file for writing:\n'
|
||||
u' %s\n' % ErrorString(error))
|
||||
else:
|
||||
print >>self._stderr, u'%s' % ErrorString(error)
|
||||
print >>self._stderr, ("""\
|
||||
Exiting due to error. Use "--traceback" to diagnose.
|
||||
Please report errors to <docutils-users@lists.sf.net>.
|
||||
Include "--traceback" output, Docutils version (%s [%s]),
|
||||
Python version (%s), your OS type & version, and the
|
||||
command line used.""" % (__version__, __version_details__,
|
||||
sys.version.split()[0]))
|
||||
|
||||
def report_SystemMessage(self, error):
|
||||
print >>self._stderr, ('Exiting due to level-%s (%s) system message.'
|
||||
% (error.level,
|
||||
utils.Reporter.levels[error.level]))
|
||||
|
||||
def report_UnicodeError(self, error):
|
||||
data = error.object[error.start:error.end]
|
||||
self._stderr.write(
|
||||
'%s\n'
|
||||
'\n'
|
||||
'The specified output encoding (%s) cannot\n'
|
||||
'handle all of the output.\n'
|
||||
'Try setting "--output-encoding-error-handler" to\n'
|
||||
'\n'
|
||||
'* "xmlcharrefreplace" (for HTML & XML output);\n'
|
||||
' the output will contain "%s" and should be usable.\n'
|
||||
'* "backslashreplace" (for other output formats);\n'
|
||||
' look for "%s" in the output.\n'
|
||||
'* "replace"; look for "?" in the output.\n'
|
||||
'\n'
|
||||
'"--output-encoding-error-handler" is currently set to "%s".\n'
|
||||
'\n'
|
||||
'Exiting due to error. Use "--traceback" to diagnose.\n'
|
||||
'If the advice above doesn\'t eliminate the error,\n'
|
||||
'please report it to <docutils-users@lists.sf.net>.\n'
|
||||
'Include "--traceback" output, Docutils version (%s),\n'
|
||||
'Python version (%s), your OS type & version, and the\n'
|
||||
'command line used.\n'
|
||||
% (ErrorString(error),
|
||||
self.settings.output_encoding,
|
||||
data.encode('ascii', 'xmlcharrefreplace'),
|
||||
data.encode('ascii', 'backslashreplace'),
|
||||
self.settings.output_encoding_error_handler,
|
||||
__version__, sys.version.split()[0]))
|
||||
|
||||
default_usage = '%prog [options] [<source> [<destination>]]'
|
||||
default_description = ('Reads from <source> (default is stdin) and writes to '
|
||||
'<destination> (default is stdout). See '
|
||||
'<http://docutils.sf.net/docs/user/config.html> for '
|
||||
'the full reference.')
|
||||
|
||||
def publish_cmdline(reader=None, reader_name='standalone',
|
||||
parser=None, parser_name='restructuredtext',
|
||||
writer=None, writer_name='pseudoxml',
|
||||
settings=None, settings_spec=None,
|
||||
settings_overrides=None, config_section=None,
|
||||
enable_exit_status=True, argv=None,
|
||||
usage=default_usage, description=default_description):
|
||||
"""
|
||||
Set up & run a `Publisher` for command-line-based file I/O (input and
|
||||
output file paths taken automatically from the command line). Return the
|
||||
encoded string output also.
|
||||
|
||||
Parameters: see `publish_programmatically` for the remainder.
|
||||
|
||||
- `argv`: Command-line argument list to use instead of ``sys.argv[1:]``.
|
||||
- `usage`: Usage string, output if there's a problem parsing the command
|
||||
line.
|
||||
- `description`: Program description, output for the "--help" option
|
||||
(along with command-line option descriptions).
|
||||
"""
|
||||
pub = Publisher(reader, parser, writer, settings=settings)
|
||||
pub.set_components(reader_name, parser_name, writer_name)
|
||||
output = pub.publish(
|
||||
argv, usage, description, settings_spec, settings_overrides,
|
||||
config_section=config_section, enable_exit_status=enable_exit_status)
|
||||
return output
|
||||
|
||||
def publish_file(source=None, source_path=None,
|
||||
destination=None, destination_path=None,
|
||||
reader=None, reader_name='standalone',
|
||||
parser=None, parser_name='restructuredtext',
|
||||
writer=None, writer_name='pseudoxml',
|
||||
settings=None, settings_spec=None, settings_overrides=None,
|
||||
config_section=None, enable_exit_status=False):
|
||||
"""
|
||||
Set up & run a `Publisher` for programmatic use with file-like I/O.
|
||||
Return the encoded string output also.
|
||||
|
||||
Parameters: see `publish_programmatically`.
|
||||
"""
|
||||
output, pub = publish_programmatically(
|
||||
source_class=io.FileInput, source=source, source_path=source_path,
|
||||
destination_class=io.FileOutput,
|
||||
destination=destination, destination_path=destination_path,
|
||||
reader=reader, reader_name=reader_name,
|
||||
parser=parser, parser_name=parser_name,
|
||||
writer=writer, writer_name=writer_name,
|
||||
settings=settings, settings_spec=settings_spec,
|
||||
settings_overrides=settings_overrides,
|
||||
config_section=config_section,
|
||||
enable_exit_status=enable_exit_status)
|
||||
return output
|
||||
|
||||
def publish_string(source, source_path=None, destination_path=None,
|
||||
reader=None, reader_name='standalone',
|
||||
parser=None, parser_name='restructuredtext',
|
||||
writer=None, writer_name='pseudoxml',
|
||||
settings=None, settings_spec=None,
|
||||
settings_overrides=None, config_section=None,
|
||||
enable_exit_status=False):
|
||||
"""
|
||||
Set up & run a `Publisher` for programmatic use with string I/O. Return
|
||||
the encoded string or Unicode string output.
|
||||
|
||||
For encoded string output, be sure to set the 'output_encoding' setting to
|
||||
the desired encoding. Set it to 'unicode' for unencoded Unicode string
|
||||
output. Here's one way::
|
||||
|
||||
publish_string(..., settings_overrides={'output_encoding': 'unicode'})
|
||||
|
||||
Similarly for Unicode string input (`source`)::
|
||||
|
||||
publish_string(..., settings_overrides={'input_encoding': 'unicode'})
|
||||
|
||||
Parameters: see `publish_programmatically`.
|
||||
"""
|
||||
output, pub = publish_programmatically(
|
||||
source_class=io.StringInput, source=source, source_path=source_path,
|
||||
destination_class=io.StringOutput,
|
||||
destination=None, destination_path=destination_path,
|
||||
reader=reader, reader_name=reader_name,
|
||||
parser=parser, parser_name=parser_name,
|
||||
writer=writer, writer_name=writer_name,
|
||||
settings=settings, settings_spec=settings_spec,
|
||||
settings_overrides=settings_overrides,
|
||||
config_section=config_section,
|
||||
enable_exit_status=enable_exit_status)
|
||||
return output
|
||||
|
||||
def publish_parts(source, source_path=None, source_class=io.StringInput,
|
||||
destination_path=None,
|
||||
reader=None, reader_name='standalone',
|
||||
parser=None, parser_name='restructuredtext',
|
||||
writer=None, writer_name='pseudoxml',
|
||||
settings=None, settings_spec=None,
|
||||
settings_overrides=None, config_section=None,
|
||||
enable_exit_status=False):
|
||||
"""
|
||||
Set up & run a `Publisher`, and return a dictionary of document parts.
|
||||
Dictionary keys are the names of parts, and values are Unicode strings;
|
||||
encoding is up to the client. For programmatic use with string I/O.
|
||||
|
||||
For encoded string input, be sure to set the 'input_encoding' setting to
|
||||
the desired encoding. Set it to 'unicode' for unencoded Unicode string
|
||||
input. Here's how::
|
||||
|
||||
publish_parts(..., settings_overrides={'input_encoding': 'unicode'})
|
||||
|
||||
Parameters: see `publish_programmatically`.
|
||||
"""
|
||||
output, pub = publish_programmatically(
|
||||
source=source, source_path=source_path, source_class=source_class,
|
||||
destination_class=io.StringOutput,
|
||||
destination=None, destination_path=destination_path,
|
||||
reader=reader, reader_name=reader_name,
|
||||
parser=parser, parser_name=parser_name,
|
||||
writer=writer, writer_name=writer_name,
|
||||
settings=settings, settings_spec=settings_spec,
|
||||
settings_overrides=settings_overrides,
|
||||
config_section=config_section,
|
||||
enable_exit_status=enable_exit_status)
|
||||
return pub.writer.parts
|
||||
|
||||
def publish_doctree(source, source_path=None,
|
||||
source_class=io.StringInput,
|
||||
reader=None, reader_name='standalone',
|
||||
parser=None, parser_name='restructuredtext',
|
||||
settings=None, settings_spec=None,
|
||||
settings_overrides=None, config_section=None,
|
||||
enable_exit_status=False):
|
||||
"""
|
||||
Set up & run a `Publisher` for programmatic use with string I/O.
|
||||
Return the document tree.
|
||||
|
||||
For encoded string input, be sure to set the 'input_encoding' setting to
|
||||
the desired encoding. Set it to 'unicode' for unencoded Unicode string
|
||||
input. Here's one way::
|
||||
|
||||
publish_doctree(..., settings_overrides={'input_encoding': 'unicode'})
|
||||
|
||||
Parameters: see `publish_programmatically`.
|
||||
"""
|
||||
pub = Publisher(reader=reader, parser=parser, writer=None,
|
||||
settings=settings,
|
||||
source_class=source_class,
|
||||
destination_class=io.NullOutput)
|
||||
pub.set_components(reader_name, parser_name, 'null')
|
||||
pub.process_programmatic_settings(
|
||||
settings_spec, settings_overrides, config_section)
|
||||
pub.set_source(source, source_path)
|
||||
pub.set_destination(None, None)
|
||||
output = pub.publish(enable_exit_status=enable_exit_status)
|
||||
return pub.document
|
||||
|
||||
def publish_from_doctree(document, destination_path=None,
|
||||
writer=None, writer_name='pseudoxml',
|
||||
settings=None, settings_spec=None,
|
||||
settings_overrides=None, config_section=None,
|
||||
enable_exit_status=False):
|
||||
"""
|
||||
Set up & run a `Publisher` to render from an existing document
|
||||
tree data structure, for programmatic use with string I/O. Return
|
||||
the encoded string output.
|
||||
|
||||
Note that document.settings is overridden; if you want to use the settings
|
||||
of the original `document`, pass settings=document.settings.
|
||||
|
||||
Also, new document.transformer and document.reporter objects are
|
||||
generated.
|
||||
|
||||
For encoded string output, be sure to set the 'output_encoding' setting to
|
||||
the desired encoding. Set it to 'unicode' for unencoded Unicode string
|
||||
output. Here's one way::
|
||||
|
||||
publish_from_doctree(
|
||||
..., settings_overrides={'output_encoding': 'unicode'})
|
||||
|
||||
Parameters: `document` is a `docutils.nodes.document` object, an existing
|
||||
document tree.
|
||||
|
||||
Other parameters: see `publish_programmatically`.
|
||||
"""
|
||||
reader = docutils.readers.doctree.Reader(parser_name='null')
|
||||
pub = Publisher(reader, None, writer,
|
||||
source=io.DocTreeInput(document),
|
||||
destination_class=io.StringOutput, settings=settings)
|
||||
if not writer and writer_name:
|
||||
pub.set_writer(writer_name)
|
||||
pub.process_programmatic_settings(
|
||||
settings_spec, settings_overrides, config_section)
|
||||
pub.set_destination(None, destination_path)
|
||||
return pub.publish(enable_exit_status=enable_exit_status)
|
||||
|
||||
def publish_cmdline_to_binary(reader=None, reader_name='standalone',
|
||||
parser=None, parser_name='restructuredtext',
|
||||
writer=None, writer_name='pseudoxml',
|
||||
settings=None, settings_spec=None,
|
||||
settings_overrides=None, config_section=None,
|
||||
enable_exit_status=True, argv=None,
|
||||
usage=default_usage, description=default_description,
|
||||
destination=None, destination_class=io.BinaryFileOutput
|
||||
):
|
||||
"""
|
||||
Set up & run a `Publisher` for command-line-based file I/O (input and
|
||||
output file paths taken automatically from the command line). Return the
|
||||
encoded string output also.
|
||||
|
||||
This is just like publish_cmdline, except that it uses
|
||||
io.BinaryFileOutput instead of io.FileOutput.
|
||||
|
||||
Parameters: see `publish_programmatically` for the remainder.
|
||||
|
||||
- `argv`: Command-line argument list to use instead of ``sys.argv[1:]``.
|
||||
- `usage`: Usage string, output if there's a problem parsing the command
|
||||
line.
|
||||
- `description`: Program description, output for the "--help" option
|
||||
(along with command-line option descriptions).
|
||||
"""
|
||||
pub = Publisher(reader, parser, writer, settings=settings,
|
||||
destination_class=destination_class)
|
||||
pub.set_components(reader_name, parser_name, writer_name)
|
||||
output = pub.publish(
|
||||
argv, usage, description, settings_spec, settings_overrides,
|
||||
config_section=config_section, enable_exit_status=enable_exit_status)
|
||||
return output
|
||||
|
||||
def publish_programmatically(source_class, source, source_path,
|
||||
destination_class, destination, destination_path,
|
||||
reader, reader_name,
|
||||
parser, parser_name,
|
||||
writer, writer_name,
|
||||
settings, settings_spec,
|
||||
settings_overrides, config_section,
|
||||
enable_exit_status):
|
||||
"""
|
||||
Set up & run a `Publisher` for custom programmatic use. Return the
|
||||
encoded string output and the Publisher object.
|
||||
|
||||
Applications should not need to call this function directly. If it does
|
||||
seem to be necessary to call this function directly, please write to the
|
||||
Docutils-develop mailing list
|
||||
<http://docutils.sf.net/docs/user/mailing-lists.html#docutils-develop>.
|
||||
|
||||
Parameters:
|
||||
|
||||
* `source_class` **required**: The class for dynamically created source
|
||||
objects. Typically `io.FileInput` or `io.StringInput`.
|
||||
|
||||
* `source`: Type depends on `source_class`:
|
||||
|
||||
- If `source_class` is `io.FileInput`: Either a file-like object
|
||||
(must have 'read' and 'close' methods), or ``None``
|
||||
(`source_path` is opened). If neither `source` nor
|
||||
`source_path` are supplied, `sys.stdin` is used.
|
||||
|
||||
- If `source_class` is `io.StringInput` **required**: The input
|
||||
string, either an encoded 8-bit string (set the
|
||||
'input_encoding' setting to the correct encoding) or a Unicode
|
||||
string (set the 'input_encoding' setting to 'unicode').
|
||||
|
||||
* `source_path`: Type depends on `source_class`:
|
||||
|
||||
- `io.FileInput`: Path to the input file, opened if no `source`
|
||||
supplied.
|
||||
|
||||
- `io.StringInput`: Optional. Path to the file or object that produced
|
||||
`source`. Only used for diagnostic output.
|
||||
|
||||
* `destination_class` **required**: The class for dynamically created
|
||||
destination objects. Typically `io.FileOutput` or `io.StringOutput`.
|
||||
|
||||
* `destination`: Type depends on `destination_class`:
|
||||
|
||||
- `io.FileOutput`: Either a file-like object (must have 'write' and
|
||||
'close' methods), or ``None`` (`destination_path` is opened). If
|
||||
neither `destination` nor `destination_path` are supplied,
|
||||
`sys.stdout` is used.
|
||||
|
||||
- `io.StringOutput`: Not used; pass ``None``.
|
||||
|
||||
* `destination_path`: Type depends on `destination_class`:
|
||||
|
||||
- `io.FileOutput`: Path to the output file. Opened if no `destination`
|
||||
supplied.
|
||||
|
||||
- `io.StringOutput`: Path to the file or object which will receive the
|
||||
output; optional. Used for determining relative paths (stylesheets,
|
||||
source links, etc.).
|
||||
|
||||
* `reader`: A `docutils.readers.Reader` object.
|
||||
|
||||
* `reader_name`: Name or alias of the Reader class to be instantiated if
|
||||
no `reader` supplied.
|
||||
|
||||
* `parser`: A `docutils.parsers.Parser` object.
|
||||
|
||||
* `parser_name`: Name or alias of the Parser class to be instantiated if
|
||||
no `parser` supplied.
|
||||
|
||||
* `writer`: A `docutils.writers.Writer` object.
|
||||
|
||||
* `writer_name`: Name or alias of the Writer class to be instantiated if
|
||||
no `writer` supplied.
|
||||
|
||||
* `settings`: A runtime settings (`docutils.frontend.Values`) object, for
|
||||
dotted-attribute access to runtime settings. It's the end result of the
|
||||
`SettingsSpec`, config file, and option processing. If `settings` is
|
||||
passed, it's assumed to be complete and no further setting/config/option
|
||||
processing is done.
|
||||
|
||||
* `settings_spec`: A `docutils.SettingsSpec` subclass or object. Provides
|
||||
extra application-specific settings definitions independently of
|
||||
components. In other words, the application becomes a component, and
|
||||
its settings data is processed along with that of the other components.
|
||||
Used only if no `settings` specified.
|
||||
|
||||
* `settings_overrides`: A dictionary containing application-specific
|
||||
settings defaults that override the defaults of other components.
|
||||
Used only if no `settings` specified.
|
||||
|
||||
* `config_section`: A string, the name of the configuration file section
|
||||
for this application. Overrides the ``config_section`` attribute
|
||||
defined by `settings_spec`. Used only if no `settings` specified.
|
||||
|
||||
* `enable_exit_status`: Boolean; enable exit status at end of processing?
|
||||
"""
|
||||
pub = Publisher(reader, parser, writer, settings=settings,
|
||||
source_class=source_class,
|
||||
destination_class=destination_class)
|
||||
pub.set_components(reader_name, parser_name, writer_name)
|
||||
pub.process_programmatic_settings(
|
||||
settings_spec, settings_overrides, config_section)
|
||||
pub.set_source(source, source_path)
|
||||
pub.set_destination(destination, destination_path)
|
||||
output = pub.publish(enable_exit_status=enable_exit_status)
|
||||
return output, pub
|
5
docutils/docutils.conf
Normal file
5
docutils/docutils.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
# This configuration file is to prevent tools/buildhtml.py from
|
||||
# processing text files in and below this directory.
|
||||
|
||||
[buildhtml application]
|
||||
prune: .
|
207
docutils/error_reporting.py
Normal file
207
docutils/error_reporting.py
Normal file
|
@ -0,0 +1,207 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf8 -*-
|
||||
|
||||
# :Id: $Id: error_reporting.py 7423 2012-05-03 11:01:54Z milde $
|
||||
# :Copyright: © 2011 Günter Milde.
|
||||
# :License: Released under the terms of the `2-Clause BSD license`_, in short:
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted in any medium without royalty provided the copyright
|
||||
# notice and this notice are preserved.
|
||||
# This file is offered as-is, without any warranty.
|
||||
#
|
||||
# .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause
|
||||
|
||||
"""
|
||||
Error reporting should be safe from encoding/decoding errors.
|
||||
However, implicit conversions of strings and exceptions like
|
||||
|
||||
>>> u'%s world: %s' % ('H\xe4llo', Exception(u'H\xe4llo')
|
||||
|
||||
fail in some Python versions:
|
||||
|
||||
* In Python <= 2.6, ``unicode(<exception instance>)`` uses
|
||||
`__str__` and fails with non-ASCII chars in`unicode` arguments.
|
||||
(work around http://bugs.python.org/issue2517):
|
||||
|
||||
* In Python 2, unicode(<exception instance>) fails, with non-ASCII
|
||||
chars in arguments. (Use case: in some locales, the errstr
|
||||
argument of IOError contains non-ASCII chars.)
|
||||
|
||||
* In Python 2, str(<exception instance>) fails, with non-ASCII chars
|
||||
in `unicode` arguments.
|
||||
|
||||
The `SafeString`, `ErrorString` and `ErrorOutput` classes handle
|
||||
common exceptions.
|
||||
"""
|
||||
|
||||
import sys, codecs
|
||||
|
||||
# Guess the locale's encoding.
|
||||
# If no valid guess can be made, locale_encoding is set to `None`:
|
||||
try:
|
||||
import locale # module missing in Jython
|
||||
except ImportError:
|
||||
locale_encoding = None
|
||||
else:
|
||||
locale_encoding = locale.getlocale()[1] or locale.getdefaultlocale()[1]
|
||||
# locale.getpreferredencoding([do_setlocale=True|False])
|
||||
# has side-effects | might return a wrong guess.
|
||||
# (cf. Update 1 in http://stackoverflow.com/questions/4082645/using-python-2-xs-locale-module-to-format-numbers-and-currency)
|
||||
try:
|
||||
codecs.lookup(locale_encoding or '') # None -> ''
|
||||
except LookupError:
|
||||
locale_encoding = None
|
||||
|
||||
|
||||
|
||||
class SafeString(object):
|
||||
"""
|
||||
A wrapper providing robust conversion to `str` and `unicode`.
|
||||
"""
|
||||
|
||||
def __init__(self, data, encoding=None, encoding_errors='backslashreplace',
|
||||
decoding_errors='replace'):
|
||||
self.data = data
|
||||
self.encoding = (encoding or getattr(data, 'encoding', None) or
|
||||
locale_encoding or 'ascii')
|
||||
self.encoding_errors = encoding_errors
|
||||
self.decoding_errors = decoding_errors
|
||||
|
||||
|
||||
def __str__(self):
|
||||
try:
|
||||
return str(self.data)
|
||||
except UnicodeEncodeError, err:
|
||||
if isinstance(self.data, Exception):
|
||||
args = [str(SafeString(arg, self.encoding,
|
||||
self.encoding_errors))
|
||||
for arg in self.data.args]
|
||||
return ', '.join(args)
|
||||
if isinstance(self.data, unicode):
|
||||
return self.data.encode(self.encoding, self.encoding_errors)
|
||||
raise
|
||||
|
||||
def __unicode__(self):
|
||||
"""
|
||||
Return unicode representation of `self.data`.
|
||||
|
||||
Try ``unicode(self.data)``, catch `UnicodeError` and
|
||||
|
||||
* if `self.data` is an Exception instance, work around
|
||||
http://bugs.python.org/issue2517 with an emulation of
|
||||
Exception.__unicode__,
|
||||
|
||||
* else decode with `self.encoding` and `self.decoding_errors`.
|
||||
"""
|
||||
try:
|
||||
u = unicode(self.data)
|
||||
if isinstance(self.data, EnvironmentError):
|
||||
u = u.replace(": u'", ": '") # normalize filename quoting
|
||||
return u
|
||||
except UnicodeError, error: # catch ..Encode.. and ..Decode.. errors
|
||||
if isinstance(self.data, EnvironmentError):
|
||||
return u"[Errno %s] %s: '%s'" % (self.data.errno,
|
||||
SafeString(self.data.strerror, self.encoding,
|
||||
self.decoding_errors),
|
||||
SafeString(self.data.filename, self.encoding,
|
||||
self.decoding_errors))
|
||||
if isinstance(self.data, Exception):
|
||||
args = [unicode(SafeString(arg, self.encoding,
|
||||
decoding_errors=self.decoding_errors))
|
||||
for arg in self.data.args]
|
||||
return u', '.join(args)
|
||||
if isinstance(error, UnicodeDecodeError):
|
||||
return unicode(self.data, self.encoding, self.decoding_errors)
|
||||
raise
|
||||
|
||||
class ErrorString(SafeString):
|
||||
"""
|
||||
Safely report exception type and message.
|
||||
"""
|
||||
def __str__(self):
|
||||
return '%s: %s' % (self.data.__class__.__name__,
|
||||
super(ErrorString, self).__str__())
|
||||
|
||||
def __unicode__(self):
|
||||
return u'%s: %s' % (self.data.__class__.__name__,
|
||||
super(ErrorString, self).__unicode__())
|
||||
|
||||
|
||||
class ErrorOutput(object):
|
||||
"""
|
||||
Wrapper class for file-like error streams with
|
||||
failsave de- and encoding of `str`, `bytes`, `unicode` and
|
||||
`Exception` instances.
|
||||
"""
|
||||
|
||||
def __init__(self, stream=None, encoding=None,
|
||||
encoding_errors='backslashreplace',
|
||||
decoding_errors='replace'):
|
||||
"""
|
||||
:Parameters:
|
||||
- `stream`: a file-like object,
|
||||
a string (path to a file),
|
||||
`None` (write to `sys.stderr`, default), or
|
||||
evaluating to `False` (write() requests are ignored).
|
||||
- `encoding`: `stream` text encoding. Guessed if None.
|
||||
- `encoding_errors`: how to treat encoding errors.
|
||||
"""
|
||||
if stream is None:
|
||||
stream = sys.stderr
|
||||
elif not(stream):
|
||||
stream = False
|
||||
# if `stream` is a file name, open it
|
||||
elif isinstance(stream, str):
|
||||
stream = open(stream, 'w')
|
||||
elif isinstance(stream, unicode):
|
||||
stream = open(stream.encode(sys.getfilesystemencoding()), 'w')
|
||||
|
||||
self.stream = stream
|
||||
"""Where warning output is sent."""
|
||||
|
||||
self.encoding = (encoding or getattr(stream, 'encoding', None) or
|
||||
locale_encoding or 'ascii')
|
||||
"""The output character encoding."""
|
||||
|
||||
self.encoding_errors = encoding_errors
|
||||
"""Encoding error handler."""
|
||||
|
||||
self.decoding_errors = decoding_errors
|
||||
"""Decoding error handler."""
|
||||
|
||||
def write(self, data):
|
||||
"""
|
||||
Write `data` to self.stream. Ignore, if self.stream is False.
|
||||
|
||||
`data` can be a `string`, `unicode`, or `Exception` instance.
|
||||
"""
|
||||
if self.stream is False:
|
||||
return
|
||||
if isinstance(data, Exception):
|
||||
data = unicode(SafeString(data, self.encoding,
|
||||
self.encoding_errors, self.decoding_errors))
|
||||
try:
|
||||
self.stream.write(data)
|
||||
except UnicodeEncodeError:
|
||||
self.stream.write(data.encode(self.encoding, self.encoding_errors))
|
||||
except TypeError: # in Python 3, stderr expects unicode
|
||||
if self.stream in (sys.stderr, sys.stdout):
|
||||
self.stream.buffer.write(data) # write bytes to raw stream
|
||||
else:
|
||||
self.stream.write(unicode(data, self.encoding,
|
||||
self.decoding_errors))
|
||||
|
||||
def close(self):
|
||||
"""
|
||||
Close the error-output stream.
|
||||
|
||||
Ignored if the stream is` sys.stderr` or `sys.stdout` or has no
|
||||
close() method.
|
||||
"""
|
||||
if self.stream in (sys.stdout, sys.stderr):
|
||||
return
|
||||
try:
|
||||
self.stream.close()
|
||||
except AttributeError:
|
||||
pass
|
97
docutils/examples.py
Normal file
97
docutils/examples.py
Normal file
|
@ -0,0 +1,97 @@
|
|||
# $Id: examples.py 7320 2012-01-19 22:33:02Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
This module contains practical examples of Docutils client code.
|
||||
|
||||
Importing this module from client code is not recommended; its contents are
|
||||
subject to change in future Docutils releases. Instead, it is recommended
|
||||
that you copy and paste the parts you need into your own code, modifying as
|
||||
necessary.
|
||||
"""
|
||||
|
||||
from docutils import core, io
|
||||
|
||||
|
||||
def html_parts(input_string, source_path=None, destination_path=None,
|
||||
input_encoding='unicode', doctitle=True,
|
||||
initial_header_level=1):
|
||||
"""
|
||||
Given an input string, returns a dictionary of HTML document parts.
|
||||
|
||||
Dictionary keys are the names of parts, and values are Unicode strings;
|
||||
encoding is up to the client.
|
||||
|
||||
Parameters:
|
||||
|
||||
- `input_string`: A multi-line text string; required.
|
||||
- `source_path`: Path to the source file or object. Optional, but useful
|
||||
for diagnostic output (system messages).
|
||||
- `destination_path`: Path to the file or object which will receive the
|
||||
output; optional. Used for determining relative paths (stylesheets,
|
||||
source links, etc.).
|
||||
- `input_encoding`: The encoding of `input_string`. If it is an encoded
|
||||
8-bit string, provide the correct encoding. If it is a Unicode string,
|
||||
use "unicode", the default.
|
||||
- `doctitle`: Disable the promotion of a lone top-level section title to
|
||||
document title (and subsequent section title to document subtitle
|
||||
promotion); enabled by default.
|
||||
- `initial_header_level`: The initial level for header elements (e.g. 1
|
||||
for "<h1>").
|
||||
"""
|
||||
overrides = {'input_encoding': input_encoding,
|
||||
'doctitle_xform': doctitle,
|
||||
'initial_header_level': initial_header_level}
|
||||
parts = core.publish_parts(
|
||||
source=input_string, source_path=source_path,
|
||||
destination_path=destination_path,
|
||||
writer_name='html', settings_overrides=overrides)
|
||||
return parts
|
||||
|
||||
def html_body(input_string, source_path=None, destination_path=None,
|
||||
input_encoding='unicode', output_encoding='unicode',
|
||||
doctitle=True, initial_header_level=1):
|
||||
"""
|
||||
Given an input string, returns an HTML fragment as a string.
|
||||
|
||||
The return value is the contents of the <body> element.
|
||||
|
||||
Parameters (see `html_parts()` for the remainder):
|
||||
|
||||
- `output_encoding`: The desired encoding of the output. If a Unicode
|
||||
string is desired, use the default value of "unicode" .
|
||||
"""
|
||||
parts = html_parts(
|
||||
input_string=input_string, source_path=source_path,
|
||||
destination_path=destination_path,
|
||||
input_encoding=input_encoding, doctitle=doctitle,
|
||||
initial_header_level=initial_header_level)
|
||||
fragment = parts['html_body']
|
||||
if output_encoding != 'unicode':
|
||||
fragment = fragment.encode(output_encoding)
|
||||
return fragment
|
||||
|
||||
def internals(input_string, source_path=None, destination_path=None,
|
||||
input_encoding='unicode', settings_overrides=None):
|
||||
"""
|
||||
Return the document tree and publisher, for exploring Docutils internals.
|
||||
|
||||
Parameters: see `html_parts()`.
|
||||
"""
|
||||
if settings_overrides:
|
||||
overrides = settings_overrides.copy()
|
||||
else:
|
||||
overrides = {}
|
||||
overrides['input_encoding'] = input_encoding
|
||||
output, pub = core.publish_programmatically(
|
||||
source_class=io.StringInput, source=input_string,
|
||||
source_path=source_path,
|
||||
destination_class=io.NullOutput, destination=None,
|
||||
destination_path=destination_path,
|
||||
reader=None, reader_name='standalone',
|
||||
parser=None, parser_name='restructuredtext',
|
||||
writer=None, writer_name='null',
|
||||
settings=None, settings_spec=None, settings_overrides=overrides,
|
||||
config_section=None, enable_exit_status=None)
|
||||
return pub.writer.document, pub
|
788
docutils/frontend.py
Normal file
788
docutils/frontend.py
Normal file
|
@ -0,0 +1,788 @@
|
|||
# $Id: frontend.py 7339 2012-02-03 12:23:27Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Command-line and common processing for Docutils front-end tools.
|
||||
|
||||
Exports the following classes:
|
||||
|
||||
* `OptionParser`: Standard Docutils command-line processing.
|
||||
* `Option`: Customized version of `optparse.Option`; validation support.
|
||||
* `Values`: Runtime settings; objects are simple structs
|
||||
(``object.attribute``). Supports cumulative list settings (attributes).
|
||||
* `ConfigParser`: Standard Docutils config file processing.
|
||||
|
||||
Also exports the following functions:
|
||||
|
||||
* Option callbacks: `store_multiple`, `read_config_file`.
|
||||
* Setting validators: `validate_encoding`,
|
||||
`validate_encoding_error_handler`,
|
||||
`validate_encoding_and_error_handler`, `validate_boolean`,
|
||||
`validate_threshold`, `validate_colon_separated_string_list`,
|
||||
`validate_dependency_file`.
|
||||
* `make_paths_absolute`.
|
||||
* SettingSpec manipulation: `filter_settings_spec`.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
import warnings
|
||||
import ConfigParser as CP
|
||||
import codecs
|
||||
import optparse
|
||||
from optparse import SUPPRESS_HELP
|
||||
import docutils
|
||||
import docutils.utils
|
||||
import docutils.nodes
|
||||
from docutils.error_reporting import locale_encoding, ErrorOutput, ErrorString
|
||||
|
||||
|
||||
def store_multiple(option, opt, value, parser, *args, **kwargs):
|
||||
"""
|
||||
Store multiple values in `parser.values`. (Option callback.)
|
||||
|
||||
Store `None` for each attribute named in `args`, and store the value for
|
||||
each key (attribute name) in `kwargs`.
|
||||
"""
|
||||
for attribute in args:
|
||||
setattr(parser.values, attribute, None)
|
||||
for key, value in kwargs.items():
|
||||
setattr(parser.values, key, value)
|
||||
|
||||
def read_config_file(option, opt, value, parser):
|
||||
"""
|
||||
Read a configuration file during option processing. (Option callback.)
|
||||
"""
|
||||
try:
|
||||
new_settings = parser.get_config_file_settings(value)
|
||||
except ValueError, error:
|
||||
parser.error(error)
|
||||
parser.values.update(new_settings, parser)
|
||||
|
||||
def validate_encoding(setting, value, option_parser,
|
||||
config_parser=None, config_section=None):
|
||||
try:
|
||||
codecs.lookup(value)
|
||||
except LookupError:
|
||||
raise (LookupError('setting "%s": unknown encoding: "%s"'
|
||||
% (setting, value)),
|
||||
None, sys.exc_info()[2])
|
||||
return value
|
||||
|
||||
def validate_encoding_error_handler(setting, value, option_parser,
|
||||
config_parser=None, config_section=None):
|
||||
try:
|
||||
codecs.lookup_error(value)
|
||||
except LookupError:
|
||||
raise (LookupError(
|
||||
'unknown encoding error handler: "%s" (choices: '
|
||||
'"strict", "ignore", "replace", "backslashreplace", '
|
||||
'"xmlcharrefreplace", and possibly others; see documentation for '
|
||||
'the Python ``codecs`` module)' % value),
|
||||
None, sys.exc_info()[2])
|
||||
return value
|
||||
|
||||
def validate_encoding_and_error_handler(
|
||||
setting, value, option_parser, config_parser=None, config_section=None):
|
||||
"""
|
||||
Side-effect: if an error handler is included in the value, it is inserted
|
||||
into the appropriate place as if it was a separate setting/option.
|
||||
"""
|
||||
if ':' in value:
|
||||
encoding, handler = value.split(':')
|
||||
validate_encoding_error_handler(
|
||||
setting + '_error_handler', handler, option_parser,
|
||||
config_parser, config_section)
|
||||
if config_parser:
|
||||
config_parser.set(config_section, setting + '_error_handler',
|
||||
handler)
|
||||
else:
|
||||
setattr(option_parser.values, setting + '_error_handler', handler)
|
||||
else:
|
||||
encoding = value
|
||||
validate_encoding(setting, encoding, option_parser,
|
||||
config_parser, config_section)
|
||||
return encoding
|
||||
|
||||
def validate_boolean(setting, value, option_parser,
|
||||
config_parser=None, config_section=None):
|
||||
if isinstance(value, unicode):
|
||||
try:
|
||||
return option_parser.booleans[value.strip().lower()]
|
||||
except KeyError:
|
||||
raise (LookupError('unknown boolean value: "%s"' % value),
|
||||
None, sys.exc_info()[2])
|
||||
return value
|
||||
|
||||
def validate_nonnegative_int(setting, value, option_parser,
|
||||
config_parser=None, config_section=None):
|
||||
value = int(value)
|
||||
if value < 0:
|
||||
raise ValueError('negative value; must be positive or zero')
|
||||
return value
|
||||
|
||||
def validate_threshold(setting, value, option_parser,
|
||||
config_parser=None, config_section=None):
|
||||
try:
|
||||
return int(value)
|
||||
except ValueError:
|
||||
try:
|
||||
return option_parser.thresholds[value.lower()]
|
||||
except (KeyError, AttributeError):
|
||||
raise (LookupError('unknown threshold: %r.' % value),
|
||||
None, sys.exc_info[2])
|
||||
|
||||
def validate_colon_separated_string_list(
|
||||
setting, value, option_parser, config_parser=None, config_section=None):
|
||||
if isinstance(value, unicode):
|
||||
value = value.split(':')
|
||||
else:
|
||||
last = value.pop()
|
||||
value.extend(last.split(':'))
|
||||
return value
|
||||
|
||||
def validate_url_trailing_slash(
|
||||
setting, value, option_parser, config_parser=None, config_section=None):
|
||||
if not value:
|
||||
return './'
|
||||
elif value.endswith('/'):
|
||||
return value
|
||||
else:
|
||||
return value + '/'
|
||||
|
||||
def validate_dependency_file(setting, value, option_parser,
|
||||
config_parser=None, config_section=None):
|
||||
try:
|
||||
return docutils.utils.DependencyList(value)
|
||||
except IOError:
|
||||
return docutils.utils.DependencyList(None)
|
||||
|
||||
def validate_strip_class(setting, value, option_parser,
|
||||
config_parser=None, config_section=None):
|
||||
# convert to list:
|
||||
if isinstance(value, unicode):
|
||||
value = [value]
|
||||
class_values = filter(None, [v.strip() for v in value.pop().split(',')])
|
||||
# validate:
|
||||
for class_value in class_values:
|
||||
normalized = docutils.nodes.make_id(class_value)
|
||||
if class_value != normalized:
|
||||
raise ValueError('invalid class value %r (perhaps %r?)'
|
||||
% (class_value, normalized))
|
||||
value.extend(class_values)
|
||||
return value
|
||||
|
||||
def make_paths_absolute(pathdict, keys, base_path=None):
|
||||
"""
|
||||
Interpret filesystem path settings relative to the `base_path` given.
|
||||
|
||||
Paths are values in `pathdict` whose keys are in `keys`. Get `keys` from
|
||||
`OptionParser.relative_path_settings`.
|
||||
"""
|
||||
if base_path is None:
|
||||
base_path = os.getcwdu() # type(base_path) == unicode
|
||||
# to allow combining non-ASCII cwd with unicode values in `pathdict`
|
||||
for key in keys:
|
||||
if key in pathdict:
|
||||
value = pathdict[key]
|
||||
if isinstance(value, list):
|
||||
value = [make_one_path_absolute(base_path, path)
|
||||
for path in value]
|
||||
elif value:
|
||||
value = make_one_path_absolute(base_path, value)
|
||||
pathdict[key] = value
|
||||
|
||||
def make_one_path_absolute(base_path, path):
|
||||
return os.path.abspath(os.path.join(base_path, path))
|
||||
|
||||
def filter_settings_spec(settings_spec, *exclude, **replace):
|
||||
"""Return a copy of `settings_spec` excluding/replacing some settings.
|
||||
|
||||
`settings_spec` is a tuple of configuration settings with a structure
|
||||
described for docutils.SettingsSpec.settings_spec.
|
||||
|
||||
Optional positional arguments are names of to-be-excluded settings.
|
||||
Keyword arguments are option specification replacements.
|
||||
(See the html4strict writer for an example.)
|
||||
"""
|
||||
settings = list(settings_spec)
|
||||
# every third item is a sequence of option tuples
|
||||
for i in range(2, len(settings), 3):
|
||||
newopts = []
|
||||
for opt_spec in settings[i]:
|
||||
# opt_spec is ("<help>", [<option strings>], {<keyword args>})
|
||||
opt_name = [opt_string[2:].replace('-', '_')
|
||||
for opt_string in opt_spec[1]
|
||||
if opt_string.startswith('--')
|
||||
][0]
|
||||
if opt_name in exclude:
|
||||
continue
|
||||
if opt_name in replace.keys():
|
||||
newopts.append(replace[opt_name])
|
||||
else:
|
||||
newopts.append(opt_spec)
|
||||
settings[i] = tuple(newopts)
|
||||
return tuple(settings)
|
||||
|
||||
|
||||
class Values(optparse.Values):
|
||||
|
||||
"""
|
||||
Updates list attributes by extension rather than by replacement.
|
||||
Works in conjunction with the `OptionParser.lists` instance attribute.
|
||||
"""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
optparse.Values.__init__(self, *args, **kwargs)
|
||||
if (not hasattr(self, 'record_dependencies')
|
||||
or self.record_dependencies is None):
|
||||
# Set up dependency list, in case it is needed.
|
||||
self.record_dependencies = docutils.utils.DependencyList()
|
||||
|
||||
def update(self, other_dict, option_parser):
|
||||
if isinstance(other_dict, Values):
|
||||
other_dict = other_dict.__dict__
|
||||
other_dict = other_dict.copy()
|
||||
for setting in option_parser.lists.keys():
|
||||
if (hasattr(self, setting) and setting in other_dict):
|
||||
value = getattr(self, setting)
|
||||
if value:
|
||||
value += other_dict[setting]
|
||||
del other_dict[setting]
|
||||
self._update_loose(other_dict)
|
||||
|
||||
def copy(self):
|
||||
"""Return a shallow copy of `self`."""
|
||||
return self.__class__(defaults=self.__dict__)
|
||||
|
||||
|
||||
class Option(optparse.Option):
|
||||
|
||||
ATTRS = optparse.Option.ATTRS + ['validator', 'overrides']
|
||||
|
||||
def process(self, opt, value, values, parser):
|
||||
"""
|
||||
Call the validator function on applicable settings and
|
||||
evaluate the 'overrides' option.
|
||||
Extends `optparse.Option.process`.
|
||||
"""
|
||||
result = optparse.Option.process(self, opt, value, values, parser)
|
||||
setting = self.dest
|
||||
if setting:
|
||||
if self.validator:
|
||||
value = getattr(values, setting)
|
||||
try:
|
||||
new_value = self.validator(setting, value, parser)
|
||||
except Exception, error:
|
||||
raise (optparse.OptionValueError(
|
||||
'Error in option "%s":\n %s'
|
||||
% (opt, ErrorString(error))),
|
||||
None, sys.exc_info()[2])
|
||||
setattr(values, setting, new_value)
|
||||
if self.overrides:
|
||||
setattr(values, self.overrides, None)
|
||||
return result
|
||||
|
||||
|
||||
class OptionParser(optparse.OptionParser, docutils.SettingsSpec):
|
||||
|
||||
"""
|
||||
Parser for command-line and library use. The `settings_spec`
|
||||
specification here and in other Docutils components are merged to build
|
||||
the set of command-line options and runtime settings for this process.
|
||||
|
||||
Common settings (defined below) and component-specific settings must not
|
||||
conflict. Short options are reserved for common settings, and components
|
||||
are restrict to using long options.
|
||||
"""
|
||||
|
||||
standard_config_files = [
|
||||
'/etc/docutils.conf', # system-wide
|
||||
'./docutils.conf', # project-specific
|
||||
'~/.docutils'] # user-specific
|
||||
"""Docutils configuration files, using ConfigParser syntax. Filenames
|
||||
will be tilde-expanded later. Later files override earlier ones."""
|
||||
|
||||
threshold_choices = 'info 1 warning 2 error 3 severe 4 none 5'.split()
|
||||
"""Possible inputs for for --report and --halt threshold values."""
|
||||
|
||||
thresholds = {'info': 1, 'warning': 2, 'error': 3, 'severe': 4, 'none': 5}
|
||||
"""Lookup table for --report and --halt threshold values."""
|
||||
|
||||
booleans={'1': 1, 'on': 1, 'yes': 1, 'true': 1,
|
||||
'0': 0, 'off': 0, 'no': 0, 'false': 0, '': 0}
|
||||
"""Lookup table for boolean configuration file settings."""
|
||||
|
||||
default_error_encoding = getattr(sys.stderr, 'encoding',
|
||||
None) or locale_encoding or 'ascii'
|
||||
|
||||
default_error_encoding_error_handler = 'backslashreplace'
|
||||
|
||||
settings_spec = (
|
||||
'General Docutils Options',
|
||||
None,
|
||||
(('Specify the document title as metadata.',
|
||||
['--title'], {}),
|
||||
('Include a "Generated by Docutils" credit and link.',
|
||||
['--generator', '-g'], {'action': 'store_true',
|
||||
'validator': validate_boolean}),
|
||||
('Do not include a generator credit.',
|
||||
['--no-generator'], {'action': 'store_false', 'dest': 'generator'}),
|
||||
('Include the date at the end of the document (UTC).',
|
||||
['--date', '-d'], {'action': 'store_const', 'const': '%Y-%m-%d',
|
||||
'dest': 'datestamp'}),
|
||||
('Include the time & date (UTC).',
|
||||
['--time', '-t'], {'action': 'store_const',
|
||||
'const': '%Y-%m-%d %H:%M UTC',
|
||||
'dest': 'datestamp'}),
|
||||
('Do not include a datestamp of any kind.',
|
||||
['--no-datestamp'], {'action': 'store_const', 'const': None,
|
||||
'dest': 'datestamp'}),
|
||||
('Include a "View document source" link.',
|
||||
['--source-link', '-s'], {'action': 'store_true',
|
||||
'validator': validate_boolean}),
|
||||
('Use <URL> for a source link; implies --source-link.',
|
||||
['--source-url'], {'metavar': '<URL>'}),
|
||||
('Do not include a "View document source" link.',
|
||||
['--no-source-link'],
|
||||
{'action': 'callback', 'callback': store_multiple,
|
||||
'callback_args': ('source_link', 'source_url')}),
|
||||
('Link from section headers to TOC entries. (default)',
|
||||
['--toc-entry-backlinks'],
|
||||
{'dest': 'toc_backlinks', 'action': 'store_const', 'const': 'entry',
|
||||
'default': 'entry'}),
|
||||
('Link from section headers to the top of the TOC.',
|
||||
['--toc-top-backlinks'],
|
||||
{'dest': 'toc_backlinks', 'action': 'store_const', 'const': 'top'}),
|
||||
('Disable backlinks to the table of contents.',
|
||||
['--no-toc-backlinks'],
|
||||
{'dest': 'toc_backlinks', 'action': 'store_false'}),
|
||||
('Link from footnotes/citations to references. (default)',
|
||||
['--footnote-backlinks'],
|
||||
{'action': 'store_true', 'default': 1,
|
||||
'validator': validate_boolean}),
|
||||
('Disable backlinks from footnotes and citations.',
|
||||
['--no-footnote-backlinks'],
|
||||
{'dest': 'footnote_backlinks', 'action': 'store_false'}),
|
||||
('Enable section numbering by Docutils. (default)',
|
||||
['--section-numbering'],
|
||||
{'action': 'store_true', 'dest': 'sectnum_xform',
|
||||
'default': 1, 'validator': validate_boolean}),
|
||||
('Disable section numbering by Docutils.',
|
||||
['--no-section-numbering'],
|
||||
{'action': 'store_false', 'dest': 'sectnum_xform'}),
|
||||
('Remove comment elements from the document tree.',
|
||||
['--strip-comments'],
|
||||
{'action': 'store_true', 'validator': validate_boolean}),
|
||||
('Leave comment elements in the document tree. (default)',
|
||||
['--leave-comments'],
|
||||
{'action': 'store_false', 'dest': 'strip_comments'}),
|
||||
('Remove all elements with classes="<class>" from the document tree. '
|
||||
'Warning: potentially dangerous; use with caution. '
|
||||
'(Multiple-use option.)',
|
||||
['--strip-elements-with-class'],
|
||||
{'action': 'append', 'dest': 'strip_elements_with_classes',
|
||||
'metavar': '<class>', 'validator': validate_strip_class}),
|
||||
('Remove all classes="<class>" attributes from elements in the '
|
||||
'document tree. Warning: potentially dangerous; use with caution. '
|
||||
'(Multiple-use option.)',
|
||||
['--strip-class'],
|
||||
{'action': 'append', 'dest': 'strip_classes',
|
||||
'metavar': '<class>', 'validator': validate_strip_class}),
|
||||
('Report system messages at or higher than <level>: "info" or "1", '
|
||||
'"warning"/"2" (default), "error"/"3", "severe"/"4", "none"/"5"',
|
||||
['--report', '-r'], {'choices': threshold_choices, 'default': 2,
|
||||
'dest': 'report_level', 'metavar': '<level>',
|
||||
'validator': validate_threshold}),
|
||||
('Report all system messages. (Same as "--report=1".)',
|
||||
['--verbose', '-v'], {'action': 'store_const', 'const': 1,
|
||||
'dest': 'report_level'}),
|
||||
('Report no system messages. (Same as "--report=5".)',
|
||||
['--quiet', '-q'], {'action': 'store_const', 'const': 5,
|
||||
'dest': 'report_level'}),
|
||||
('Halt execution at system messages at or above <level>. '
|
||||
'Levels as in --report. Default: 4 (severe).',
|
||||
['--halt'], {'choices': threshold_choices, 'dest': 'halt_level',
|
||||
'default': 4, 'metavar': '<level>',
|
||||
'validator': validate_threshold}),
|
||||
('Halt at the slightest problem. Same as "--halt=info".',
|
||||
['--strict'], {'action': 'store_const', 'const': 1,
|
||||
'dest': 'halt_level'}),
|
||||
('Enable a non-zero exit status for non-halting system messages at '
|
||||
'or above <level>. Default: 5 (disabled).',
|
||||
['--exit-status'], {'choices': threshold_choices,
|
||||
'dest': 'exit_status_level',
|
||||
'default': 5, 'metavar': '<level>',
|
||||
'validator': validate_threshold}),
|
||||
('Enable debug-level system messages and diagnostics.',
|
||||
['--debug'], {'action': 'store_true', 'validator': validate_boolean}),
|
||||
('Disable debug output. (default)',
|
||||
['--no-debug'], {'action': 'store_false', 'dest': 'debug'}),
|
||||
('Send the output of system messages to <file>.',
|
||||
['--warnings'], {'dest': 'warning_stream', 'metavar': '<file>'}),
|
||||
('Enable Python tracebacks when Docutils is halted.',
|
||||
['--traceback'], {'action': 'store_true', 'default': None,
|
||||
'validator': validate_boolean}),
|
||||
('Disable Python tracebacks. (default)',
|
||||
['--no-traceback'], {'dest': 'traceback', 'action': 'store_false'}),
|
||||
('Specify the encoding and optionally the '
|
||||
'error handler of input text. Default: <locale-dependent>:strict.',
|
||||
['--input-encoding', '-i'],
|
||||
{'metavar': '<name[:handler]>',
|
||||
'validator': validate_encoding_and_error_handler}),
|
||||
('Specify the error handler for undecodable characters. '
|
||||
'Choices: "strict" (default), "ignore", and "replace".',
|
||||
['--input-encoding-error-handler'],
|
||||
{'default': 'strict', 'validator': validate_encoding_error_handler}),
|
||||
('Specify the text encoding and optionally the error handler for '
|
||||
'output. Default: UTF-8:strict.',
|
||||
['--output-encoding', '-o'],
|
||||
{'metavar': '<name[:handler]>', 'default': 'utf-8',
|
||||
'validator': validate_encoding_and_error_handler}),
|
||||
('Specify error handler for unencodable output characters; '
|
||||
'"strict" (default), "ignore", "replace", '
|
||||
'"xmlcharrefreplace", "backslashreplace".',
|
||||
['--output-encoding-error-handler'],
|
||||
{'default': 'strict', 'validator': validate_encoding_error_handler}),
|
||||
('Specify text encoding and error handler for error output. '
|
||||
'Default: %s:%s.'
|
||||
% (default_error_encoding, default_error_encoding_error_handler),
|
||||
['--error-encoding', '-e'],
|
||||
{'metavar': '<name[:handler]>', 'default': default_error_encoding,
|
||||
'validator': validate_encoding_and_error_handler}),
|
||||
('Specify the error handler for unencodable characters in '
|
||||
'error output. Default: %s.'
|
||||
% default_error_encoding_error_handler,
|
||||
['--error-encoding-error-handler'],
|
||||
{'default': default_error_encoding_error_handler,
|
||||
'validator': validate_encoding_error_handler}),
|
||||
('Specify the language (as BCP 47 language tag). Default: en.',
|
||||
['--language', '-l'], {'dest': 'language_code', 'default': 'en',
|
||||
'metavar': '<name>'}),
|
||||
('Write output file dependencies to <file>.',
|
||||
['--record-dependencies'],
|
||||
{'metavar': '<file>', 'validator': validate_dependency_file,
|
||||
'default': None}), # default set in Values class
|
||||
('Read configuration settings from <file>, if it exists.',
|
||||
['--config'], {'metavar': '<file>', 'type': 'string',
|
||||
'action': 'callback', 'callback': read_config_file}),
|
||||
("Show this program's version number and exit.",
|
||||
['--version', '-V'], {'action': 'version'}),
|
||||
('Show this help message and exit.',
|
||||
['--help', '-h'], {'action': 'help'}),
|
||||
# Typically not useful for non-programmatical use:
|
||||
(SUPPRESS_HELP, ['--id-prefix'], {'default': ''}),
|
||||
(SUPPRESS_HELP, ['--auto-id-prefix'], {'default': 'id'}),
|
||||
# Hidden options, for development use only:
|
||||
(SUPPRESS_HELP, ['--dump-settings'], {'action': 'store_true'}),
|
||||
(SUPPRESS_HELP, ['--dump-internals'], {'action': 'store_true'}),
|
||||
(SUPPRESS_HELP, ['--dump-transforms'], {'action': 'store_true'}),
|
||||
(SUPPRESS_HELP, ['--dump-pseudo-xml'], {'action': 'store_true'}),
|
||||
(SUPPRESS_HELP, ['--expose-internal-attribute'],
|
||||
{'action': 'append', 'dest': 'expose_internals',
|
||||
'validator': validate_colon_separated_string_list}),
|
||||
(SUPPRESS_HELP, ['--strict-visitor'], {'action': 'store_true'}),
|
||||
))
|
||||
"""Runtime settings and command-line options common to all Docutils front
|
||||
ends. Setting specs specific to individual Docutils components are also
|
||||
used (see `populate_from_components()`)."""
|
||||
|
||||
settings_defaults = {'_disable_config': None,
|
||||
'_source': None,
|
||||
'_destination': None,
|
||||
'_config_files': None}
|
||||
"""Defaults for settings that don't have command-line option equivalents."""
|
||||
|
||||
relative_path_settings = ('warning_stream',)
|
||||
|
||||
config_section = 'general'
|
||||
|
||||
version_template = ('%%prog (Docutils %s [%s], Python %s, on %s)'
|
||||
% (docutils.__version__, docutils.__version_details__,
|
||||
sys.version.split()[0], sys.platform))
|
||||
"""Default version message."""
|
||||
|
||||
def __init__(self, components=(), defaults=None, read_config_files=None,
|
||||
*args, **kwargs):
|
||||
"""
|
||||
`components` is a list of Docutils components each containing a
|
||||
``.settings_spec`` attribute. `defaults` is a mapping of setting
|
||||
default overrides.
|
||||
"""
|
||||
|
||||
self.lists = {}
|
||||
"""Set of list-type settings."""
|
||||
|
||||
self.config_files = []
|
||||
"""List of paths of applied configuration files."""
|
||||
|
||||
optparse.OptionParser.__init__(
|
||||
self, option_class=Option, add_help_option=None,
|
||||
formatter=optparse.TitledHelpFormatter(width=78),
|
||||
*args, **kwargs)
|
||||
if not self.version:
|
||||
self.version = self.version_template
|
||||
# Make an instance copy (it will be modified):
|
||||
self.relative_path_settings = list(self.relative_path_settings)
|
||||
self.components = (self,) + tuple(components)
|
||||
self.populate_from_components(self.components)
|
||||
self.set_defaults_from_dict(defaults or {})
|
||||
if read_config_files and not self.defaults['_disable_config']:
|
||||
try:
|
||||
config_settings = self.get_standard_config_settings()
|
||||
except ValueError, error:
|
||||
self.error(error)
|
||||
self.set_defaults_from_dict(config_settings.__dict__)
|
||||
|
||||
def populate_from_components(self, components):
|
||||
"""
|
||||
For each component, first populate from the `SettingsSpec.settings_spec`
|
||||
structure, then from the `SettingsSpec.settings_defaults` dictionary.
|
||||
After all components have been processed, check for and populate from
|
||||
each component's `SettingsSpec.settings_default_overrides` dictionary.
|
||||
"""
|
||||
for component in components:
|
||||
if component is None:
|
||||
continue
|
||||
settings_spec = component.settings_spec
|
||||
self.relative_path_settings.extend(
|
||||
component.relative_path_settings)
|
||||
for i in range(0, len(settings_spec), 3):
|
||||
title, description, option_spec = settings_spec[i:i+3]
|
||||
if title:
|
||||
group = optparse.OptionGroup(self, title, description)
|
||||
self.add_option_group(group)
|
||||
else:
|
||||
group = self # single options
|
||||
for (help_text, option_strings, kwargs) in option_spec:
|
||||
option = group.add_option(help=help_text, *option_strings,
|
||||
**kwargs)
|
||||
if kwargs.get('action') == 'append':
|
||||
self.lists[option.dest] = 1
|
||||
if component.settings_defaults:
|
||||
self.defaults.update(component.settings_defaults)
|
||||
for component in components:
|
||||
if component and component.settings_default_overrides:
|
||||
self.defaults.update(component.settings_default_overrides)
|
||||
|
||||
def get_standard_config_files(self):
|
||||
"""Return list of config files, from environment or standard."""
|
||||
try:
|
||||
config_files = os.environ['DOCUTILSCONFIG'].split(os.pathsep)
|
||||
except KeyError:
|
||||
config_files = self.standard_config_files
|
||||
|
||||
# If 'HOME' is not set, expandvars() requires the 'pwd' module which is
|
||||
# not available under certain environments, for example, within
|
||||
# mod_python. The publisher ends up in here, and we need to publish
|
||||
# from within mod_python. Therefore we need to avoid expanding when we
|
||||
# are in those environments.
|
||||
expand = os.path.expanduser
|
||||
if 'HOME' not in os.environ:
|
||||
try:
|
||||
import pwd
|
||||
except ImportError:
|
||||
expand = lambda x: x
|
||||
return [expand(f) for f in config_files if f.strip()]
|
||||
|
||||
def get_standard_config_settings(self):
|
||||
settings = Values()
|
||||
for filename in self.get_standard_config_files():
|
||||
settings.update(self.get_config_file_settings(filename), self)
|
||||
return settings
|
||||
|
||||
def get_config_file_settings(self, config_file):
|
||||
"""Returns a dictionary containing appropriate config file settings."""
|
||||
parser = ConfigParser()
|
||||
parser.read(config_file, self)
|
||||
self.config_files.extend(parser._files)
|
||||
base_path = os.path.dirname(config_file)
|
||||
applied = {}
|
||||
settings = Values()
|
||||
for component in self.components:
|
||||
if not component:
|
||||
continue
|
||||
for section in (tuple(component.config_section_dependencies or ())
|
||||
+ (component.config_section,)):
|
||||
if section in applied:
|
||||
continue
|
||||
applied[section] = 1
|
||||
settings.update(parser.get_section(section), self)
|
||||
make_paths_absolute(
|
||||
settings.__dict__, self.relative_path_settings, base_path)
|
||||
return settings.__dict__
|
||||
|
||||
def check_values(self, values, args):
|
||||
"""Store positional arguments as runtime settings."""
|
||||
values._source, values._destination = self.check_args(args)
|
||||
make_paths_absolute(values.__dict__, self.relative_path_settings)
|
||||
values._config_files = self.config_files
|
||||
return values
|
||||
|
||||
def check_args(self, args):
|
||||
source = destination = None
|
||||
if args:
|
||||
source = args.pop(0)
|
||||
if source == '-': # means stdin
|
||||
source = None
|
||||
if args:
|
||||
destination = args.pop(0)
|
||||
if destination == '-': # means stdout
|
||||
destination = None
|
||||
if args:
|
||||
self.error('Maximum 2 arguments allowed.')
|
||||
if source and source == destination:
|
||||
self.error('Do not specify the same file for both source and '
|
||||
'destination. It will clobber the source file.')
|
||||
return source, destination
|
||||
|
||||
def set_defaults_from_dict(self, defaults):
|
||||
self.defaults.update(defaults)
|
||||
|
||||
def get_default_values(self):
|
||||
"""Needed to get custom `Values` instances."""
|
||||
defaults = Values(self.defaults)
|
||||
defaults._config_files = self.config_files
|
||||
return defaults
|
||||
|
||||
def get_option_by_dest(self, dest):
|
||||
"""
|
||||
Get an option by its dest.
|
||||
|
||||
If you're supplying a dest which is shared by several options,
|
||||
it is undefined which option of those is returned.
|
||||
|
||||
A KeyError is raised if there is no option with the supplied
|
||||
dest.
|
||||
"""
|
||||
for group in self.option_groups + [self]:
|
||||
for option in group.option_list:
|
||||
if option.dest == dest:
|
||||
return option
|
||||
raise KeyError('No option with dest == %r.' % dest)
|
||||
|
||||
|
||||
class ConfigParser(CP.RawConfigParser):
|
||||
|
||||
old_settings = {
|
||||
'pep_stylesheet': ('pep_html writer', 'stylesheet'),
|
||||
'pep_stylesheet_path': ('pep_html writer', 'stylesheet_path'),
|
||||
'pep_template': ('pep_html writer', 'template')}
|
||||
"""{old setting: (new section, new setting)} mapping, used by
|
||||
`handle_old_config`, to convert settings from the old [options] section."""
|
||||
|
||||
old_warning = """
|
||||
The "[option]" section is deprecated. Support for old-format configuration
|
||||
files may be removed in a future Docutils release. Please revise your
|
||||
configuration files. See <http://docutils.sf.net/docs/user/config.html>,
|
||||
section "Old-Format Configuration Files".
|
||||
"""
|
||||
|
||||
not_utf8_error = """\
|
||||
Unable to read configuration file "%s": content not encoded as UTF-8.
|
||||
Skipping "%s" configuration file.
|
||||
"""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
CP.RawConfigParser.__init__(self, *args, **kwargs)
|
||||
|
||||
self._files = []
|
||||
"""List of paths of configuration files read."""
|
||||
|
||||
self._stderr = ErrorOutput()
|
||||
"""Wrapper around sys.stderr catching en-/decoding errors"""
|
||||
|
||||
def read(self, filenames, option_parser):
|
||||
if type(filenames) in (str, unicode):
|
||||
filenames = [filenames]
|
||||
for filename in filenames:
|
||||
try:
|
||||
# Config files must be UTF-8-encoded:
|
||||
fp = codecs.open(filename, 'r', 'utf-8')
|
||||
except IOError:
|
||||
continue
|
||||
try:
|
||||
if sys.version_info < (3,2):
|
||||
CP.RawConfigParser.readfp(self, fp, filename)
|
||||
else:
|
||||
CP.RawConfigParser.read_file(self, fp, filename)
|
||||
except UnicodeDecodeError:
|
||||
self._stderr.write(self.not_utf8_error % (filename, filename))
|
||||
fp.close()
|
||||
continue
|
||||
fp.close()
|
||||
self._files.append(filename)
|
||||
if self.has_section('options'):
|
||||
self.handle_old_config(filename)
|
||||
self.validate_settings(filename, option_parser)
|
||||
|
||||
def handle_old_config(self, filename):
|
||||
warnings.warn_explicit(self.old_warning, ConfigDeprecationWarning,
|
||||
filename, 0)
|
||||
options = self.get_section('options')
|
||||
if not self.has_section('general'):
|
||||
self.add_section('general')
|
||||
for key, value in options.items():
|
||||
if key in self.old_settings:
|
||||
section, setting = self.old_settings[key]
|
||||
if not self.has_section(section):
|
||||
self.add_section(section)
|
||||
else:
|
||||
section = 'general'
|
||||
setting = key
|
||||
if not self.has_option(section, setting):
|
||||
self.set(section, setting, value)
|
||||
self.remove_section('options')
|
||||
|
||||
def validate_settings(self, filename, option_parser):
|
||||
"""
|
||||
Call the validator function and implement overrides on all applicable
|
||||
settings.
|
||||
"""
|
||||
for section in self.sections():
|
||||
for setting in self.options(section):
|
||||
try:
|
||||
option = option_parser.get_option_by_dest(setting)
|
||||
except KeyError:
|
||||
continue
|
||||
if option.validator:
|
||||
value = self.get(section, setting)
|
||||
try:
|
||||
new_value = option.validator(
|
||||
setting, value, option_parser,
|
||||
config_parser=self, config_section=section)
|
||||
except Exception, error:
|
||||
raise (ValueError(
|
||||
'Error in config file "%s", section "[%s]":\n'
|
||||
' %s\n'
|
||||
' %s = %s'
|
||||
% (filename, section, ErrorString(error),
|
||||
setting, value)), None, sys.exc_info()[2])
|
||||
self.set(section, setting, new_value)
|
||||
if option.overrides:
|
||||
self.set(section, option.overrides, None)
|
||||
|
||||
def optionxform(self, optionstr):
|
||||
"""
|
||||
Transform '-' to '_' so the cmdline form of option names can be used.
|
||||
"""
|
||||
return optionstr.lower().replace('-', '_')
|
||||
|
||||
def get_section(self, section):
|
||||
"""
|
||||
Return a given section as a dictionary (empty if the section
|
||||
doesn't exist).
|
||||
"""
|
||||
section_dict = {}
|
||||
if self.has_section(section):
|
||||
for option in self.options(section):
|
||||
section_dict[option] = self.get(section, option)
|
||||
return section_dict
|
||||
|
||||
|
||||
class ConfigDeprecationWarning(DeprecationWarning):
|
||||
"""Warning for deprecated configuration file features."""
|
497
docutils/io.py
Normal file
497
docutils/io.py
Normal file
|
@ -0,0 +1,497 @@
|
|||
# $Id: io.py 7440 2012-06-13 14:14:12Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
I/O classes provide a uniform API for low-level input and output. Subclasses
|
||||
will exist for a variety of input/output mechanisms.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
import sys
|
||||
import os
|
||||
import re
|
||||
import codecs
|
||||
from docutils import TransformSpec
|
||||
from docutils._compat import b
|
||||
from docutils.error_reporting import locale_encoding, ErrorString, ErrorOutput
|
||||
|
||||
|
||||
class InputError(IOError): pass
|
||||
class OutputError(IOError): pass
|
||||
|
||||
def check_encoding(stream, encoding):
|
||||
"""Test, whether the encoding of `stream` matches `encoding`.
|
||||
|
||||
Returns
|
||||
|
||||
:None: if `encoding` or `stream.encoding` are not a valid encoding
|
||||
argument (e.g. ``None``) or `stream.encoding is missing.
|
||||
:True: if the encoding argument resolves to the same value as `encoding`,
|
||||
:False: if the encodings differ.
|
||||
"""
|
||||
try:
|
||||
return codecs.lookup(stream.encoding) == codecs.lookup(encoding)
|
||||
except (LookupError, AttributeError, TypeError):
|
||||
return None
|
||||
|
||||
|
||||
class Input(TransformSpec):
|
||||
|
||||
"""
|
||||
Abstract base class for input wrappers.
|
||||
"""
|
||||
|
||||
component_type = 'input'
|
||||
|
||||
default_source_path = None
|
||||
|
||||
def __init__(self, source=None, source_path=None, encoding=None,
|
||||
error_handler='strict'):
|
||||
self.encoding = encoding
|
||||
"""Text encoding for the input source."""
|
||||
|
||||
self.error_handler = error_handler
|
||||
"""Text decoding error handler."""
|
||||
|
||||
self.source = source
|
||||
"""The source of input data."""
|
||||
|
||||
self.source_path = source_path
|
||||
"""A text reference to the source."""
|
||||
|
||||
if not source_path:
|
||||
self.source_path = self.default_source_path
|
||||
|
||||
self.successful_encoding = None
|
||||
"""The encoding that successfully decoded the source data."""
|
||||
|
||||
def __repr__(self):
|
||||
return '%s: source=%r, source_path=%r' % (self.__class__, self.source,
|
||||
self.source_path)
|
||||
|
||||
def read(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def decode(self, data):
|
||||
"""
|
||||
Decode a string, `data`, heuristically.
|
||||
Raise UnicodeError if unsuccessful.
|
||||
|
||||
The client application should call ``locale.setlocale`` at the
|
||||
beginning of processing::
|
||||
|
||||
locale.setlocale(locale.LC_ALL, '')
|
||||
"""
|
||||
if self.encoding and self.encoding.lower() == 'unicode':
|
||||
assert isinstance(data, unicode), (
|
||||
'input encoding is "unicode" '
|
||||
'but input is not a unicode object')
|
||||
if isinstance(data, unicode):
|
||||
# Accept unicode even if self.encoding != 'unicode'.
|
||||
return data
|
||||
if self.encoding:
|
||||
# We believe the user/application when the encoding is
|
||||
# explicitly given.
|
||||
encodings = [self.encoding]
|
||||
else:
|
||||
data_encoding = self.determine_encoding_from_data(data)
|
||||
if data_encoding:
|
||||
# If the data declares its encoding (explicitly or via a BOM),
|
||||
# we believe it.
|
||||
encodings = [data_encoding]
|
||||
else:
|
||||
# Apply heuristics only if no encoding is explicitly given and
|
||||
# no BOM found. Start with UTF-8, because that only matches
|
||||
# data that *IS* UTF-8:
|
||||
encodings = ['utf-8', 'latin-1']
|
||||
if locale_encoding:
|
||||
encodings.insert(1, locale_encoding)
|
||||
for enc in encodings:
|
||||
try:
|
||||
decoded = unicode(data, enc, self.error_handler)
|
||||
self.successful_encoding = enc
|
||||
# Return decoded, removing BOMs.
|
||||
return decoded.replace(u'\ufeff', u'')
|
||||
except (UnicodeError, LookupError), err:
|
||||
error = err # in Python 3, the <exception instance> is
|
||||
# local to the except clause
|
||||
raise UnicodeError(
|
||||
'Unable to decode input data. Tried the following encodings: '
|
||||
'%s.\n(%s)' % (', '.join([repr(enc) for enc in encodings]),
|
||||
ErrorString(error)))
|
||||
|
||||
coding_slug = re.compile(b("coding[:=]\s*([-\w.]+)"))
|
||||
"""Encoding declaration pattern."""
|
||||
|
||||
byte_order_marks = ((codecs.BOM_UTF8, 'utf-8'), # 'utf-8-sig' new in v2.5
|
||||
(codecs.BOM_UTF16_BE, 'utf-16-be'),
|
||||
(codecs.BOM_UTF16_LE, 'utf-16-le'),)
|
||||
"""Sequence of (start_bytes, encoding) tuples for encoding detection.
|
||||
The first bytes of input data are checked against the start_bytes strings.
|
||||
A match indicates the given encoding."""
|
||||
|
||||
def determine_encoding_from_data(self, data):
|
||||
"""
|
||||
Try to determine the encoding of `data` by looking *in* `data`.
|
||||
Check for a byte order mark (BOM) or an encoding declaration.
|
||||
"""
|
||||
# check for a byte order mark:
|
||||
for start_bytes, encoding in self.byte_order_marks:
|
||||
if data.startswith(start_bytes):
|
||||
return encoding
|
||||
# check for an encoding declaration pattern in first 2 lines of file:
|
||||
for line in data.splitlines()[:2]:
|
||||
match = self.coding_slug.search(line)
|
||||
if match:
|
||||
return match.group(1).decode('ascii')
|
||||
return None
|
||||
|
||||
|
||||
class Output(TransformSpec):
|
||||
|
||||
"""
|
||||
Abstract base class for output wrappers.
|
||||
"""
|
||||
|
||||
component_type = 'output'
|
||||
|
||||
default_destination_path = None
|
||||
|
||||
def __init__(self, destination=None, destination_path=None,
|
||||
encoding=None, error_handler='strict'):
|
||||
self.encoding = encoding
|
||||
"""Text encoding for the output destination."""
|
||||
|
||||
self.error_handler = error_handler or 'strict'
|
||||
"""Text encoding error handler."""
|
||||
|
||||
self.destination = destination
|
||||
"""The destination for output data."""
|
||||
|
||||
self.destination_path = destination_path
|
||||
"""A text reference to the destination."""
|
||||
|
||||
if not destination_path:
|
||||
self.destination_path = self.default_destination_path
|
||||
|
||||
def __repr__(self):
|
||||
return ('%s: destination=%r, destination_path=%r'
|
||||
% (self.__class__, self.destination, self.destination_path))
|
||||
|
||||
def write(self, data):
|
||||
"""`data` is a Unicode string, to be encoded by `self.encode`."""
|
||||
raise NotImplementedError
|
||||
|
||||
def encode(self, data):
|
||||
if self.encoding and self.encoding.lower() == 'unicode':
|
||||
assert isinstance(data, unicode), (
|
||||
'the encoding given is "unicode" but the output is not '
|
||||
'a Unicode string')
|
||||
return data
|
||||
if not isinstance(data, unicode):
|
||||
# Non-unicode (e.g. binary) output.
|
||||
return data
|
||||
else:
|
||||
return data.encode(self.encoding, self.error_handler)
|
||||
|
||||
|
||||
class FileInput(Input):
|
||||
|
||||
"""
|
||||
Input for single, simple file-like objects.
|
||||
"""
|
||||
def __init__(self, source=None, source_path=None,
|
||||
encoding=None, error_handler='strict',
|
||||
autoclose=True, handle_io_errors=True, mode='rU'):
|
||||
"""
|
||||
:Parameters:
|
||||
- `source`: either a file-like object (which is read directly), or
|
||||
`None` (which implies `sys.stdin` if no `source_path` given).
|
||||
- `source_path`: a path to a file, which is opened and then read.
|
||||
- `encoding`: the expected text encoding of the input file.
|
||||
- `error_handler`: the encoding error handler to use.
|
||||
- `autoclose`: close automatically after read (except when
|
||||
`sys.stdin` is the source).
|
||||
- `handle_io_errors`: summarize I/O errors here, and exit?
|
||||
- `mode`: how the file is to be opened (see standard function
|
||||
`open`). The default 'rU' provides universal newline support
|
||||
for text files.
|
||||
"""
|
||||
Input.__init__(self, source, source_path, encoding, error_handler)
|
||||
self.autoclose = autoclose
|
||||
self.handle_io_errors = handle_io_errors
|
||||
self._stderr = ErrorOutput()
|
||||
|
||||
if source is None:
|
||||
if source_path:
|
||||
# Specify encoding in Python 3
|
||||
if sys.version_info >= (3,0):
|
||||
kwargs = {'encoding': self.encoding,
|
||||
'errors': self.error_handler}
|
||||
else:
|
||||
kwargs = {}
|
||||
|
||||
try:
|
||||
self.source = open(source_path, mode, **kwargs)
|
||||
except IOError, error:
|
||||
if handle_io_errors:
|
||||
print >>self._stderr, ErrorString(error)
|
||||
print >>self._stderr, (
|
||||
u'Unable to open source file for reading ("%s").'
|
||||
u'Exiting.' % source_path)
|
||||
sys.exit(1)
|
||||
raise InputError(error.errno, error.strerror, source_path)
|
||||
else:
|
||||
self.source = sys.stdin
|
||||
elif (sys.version_info >= (3,0) and
|
||||
check_encoding(self.source, self.encoding) is False):
|
||||
# TODO: re-open, warn or raise error?
|
||||
raise UnicodeError('Encoding clash: encoding given is "%s" '
|
||||
'but source is opened with encoding "%s".' %
|
||||
(self.encoding, self.source.encoding))
|
||||
if not source_path:
|
||||
try:
|
||||
self.source_path = self.source.name
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
def read(self):
|
||||
"""
|
||||
Read and decode a single file and return the data (Unicode string).
|
||||
"""
|
||||
try: # In Python < 2.5, try...except has to be nested in try...finally.
|
||||
try:
|
||||
if self.source is sys.stdin and sys.version_info >= (3,0):
|
||||
# read as binary data to circumvent auto-decoding
|
||||
data = self.source.buffer.read()
|
||||
# normalize newlines
|
||||
data = b('\n').join(data.splitlines()) + b('\n')
|
||||
else:
|
||||
data = self.source.read()
|
||||
except (UnicodeError, LookupError), err: # (in Py3k read() decodes)
|
||||
if not self.encoding and self.source_path:
|
||||
# re-read in binary mode and decode with heuristics
|
||||
b_source = open(self.source_path, 'rb')
|
||||
data = b_source.read()
|
||||
b_source.close()
|
||||
# normalize newlines
|
||||
data = b('\n').join(data.splitlines()) + b('\n')
|
||||
else:
|
||||
raise
|
||||
finally:
|
||||
if self.autoclose:
|
||||
self.close()
|
||||
return self.decode(data)
|
||||
|
||||
def readlines(self):
|
||||
"""
|
||||
Return lines of a single file as list of Unicode strings.
|
||||
"""
|
||||
return self.read().splitlines(True)
|
||||
|
||||
def close(self):
|
||||
if self.source is not sys.stdin:
|
||||
self.source.close()
|
||||
|
||||
|
||||
class FileOutput(Output):
|
||||
|
||||
"""
|
||||
Output for single, simple file-like objects.
|
||||
"""
|
||||
|
||||
mode = 'w'
|
||||
"""The mode argument for `open()`."""
|
||||
# 'wb' for binary (e.g. OpenOffice) files.
|
||||
# (Do not use binary mode ('wb') for text files, as this prevents the
|
||||
# conversion of newlines to the system specific default.)
|
||||
|
||||
def __init__(self, destination=None, destination_path=None,
|
||||
encoding=None, error_handler='strict', autoclose=True,
|
||||
handle_io_errors=True, mode=None):
|
||||
"""
|
||||
:Parameters:
|
||||
- `destination`: either a file-like object (which is written
|
||||
directly) or `None` (which implies `sys.stdout` if no
|
||||
`destination_path` given).
|
||||
- `destination_path`: a path to a file, which is opened and then
|
||||
written.
|
||||
- `encoding`: the text encoding of the output file.
|
||||
- `error_handler`: the encoding error handler to use.
|
||||
- `autoclose`: close automatically after write (except when
|
||||
`sys.stdout` or `sys.stderr` is the destination).
|
||||
- `handle_io_errors`: summarize I/O errors here, and exit?
|
||||
- `mode`: how the file is to be opened (see standard function
|
||||
`open`). The default is 'w', providing universal newline
|
||||
support for text files.
|
||||
"""
|
||||
Output.__init__(self, destination, destination_path,
|
||||
encoding, error_handler)
|
||||
self.opened = True
|
||||
self.autoclose = autoclose
|
||||
self.handle_io_errors = handle_io_errors
|
||||
if mode is not None:
|
||||
self.mode = mode
|
||||
self._stderr = ErrorOutput()
|
||||
if destination is None:
|
||||
if destination_path:
|
||||
self.opened = False
|
||||
else:
|
||||
self.destination = sys.stdout
|
||||
elif (# destination is file-type object -> check mode:
|
||||
mode and hasattr(self.destination, 'mode')
|
||||
and mode != self.destination.mode):
|
||||
print >>self._stderr, ('Destination mode "%s" '
|
||||
'differs from specified mode "%s"' %
|
||||
(self.destination.mode, mode))
|
||||
if not destination_path:
|
||||
try:
|
||||
self.destination_path = self.destination.name
|
||||
except AttributeError:
|
||||
pass
|
||||
# Special cases under Python 3: different encoding or binary output
|
||||
if sys.version_info >= (3,0):
|
||||
if ('b' in self.mode
|
||||
and self.destination in (sys.stdout, sys.stderr)
|
||||
):
|
||||
self.destination = self.destination.buffer
|
||||
if check_encoding(self.destination, self.encoding) is False:
|
||||
if self.destination in (sys.stdout, sys.stderr):
|
||||
self.destination = self.destination.buffer
|
||||
else: # TODO: try the `write to .buffer` scheme instead?
|
||||
raise ValueError('Encoding of %s (%s) differs \n'
|
||||
' from specified encoding (%s)' %
|
||||
(self.destination_path or 'destination',
|
||||
destination.encoding, encoding))
|
||||
|
||||
|
||||
def open(self):
|
||||
# Specify encoding in Python 3.
|
||||
if sys.version_info >= (3,0):
|
||||
kwargs = {'encoding': self.encoding,
|
||||
'errors': self.error_handler}
|
||||
else:
|
||||
kwargs = {}
|
||||
try:
|
||||
self.destination = open(self.destination_path, self.mode, **kwargs)
|
||||
except IOError, error:
|
||||
if self.handle_io_errors:
|
||||
print >>self._stderr, ErrorString(error)
|
||||
print >>self._stderr, (u'Unable to open destination file'
|
||||
u" for writing ('%s'). Exiting." % self.destination_path)
|
||||
sys.exit(1)
|
||||
raise OutputError(error.errno, error.strerror,
|
||||
self.destination_path)
|
||||
self.opened = True
|
||||
|
||||
def write(self, data):
|
||||
"""Encode `data`, write it to a single file, and return it.
|
||||
|
||||
With Python 3 or binary output mode, `data` is returned unchanged,
|
||||
except when specified encoding and output encoding differ.
|
||||
"""
|
||||
if not self.opened:
|
||||
self.open()
|
||||
try: # In Python < 2.5, try...except has to be nested in try...finally.
|
||||
try:
|
||||
if 'b' not in self.mode and (sys.version_info < (3,0) or
|
||||
check_encoding(self.destination, self.encoding) is False):
|
||||
data = self.encode(data)
|
||||
if sys.version_info >= (3,0) and os.linesep != '\n':
|
||||
# writing as binary data -> fix endings
|
||||
data = data.replace('\n', os.linesep)
|
||||
|
||||
self.destination.write(data)
|
||||
|
||||
except (UnicodeError, LookupError), err:
|
||||
raise UnicodeError(
|
||||
'Unable to encode output data. output-encoding is: '
|
||||
'%s.\n(%s)' % (self.encoding, ErrorString(err)))
|
||||
finally:
|
||||
if self.autoclose:
|
||||
self.close()
|
||||
return data
|
||||
|
||||
def close(self):
|
||||
if self.destination not in (sys.stdout, sys.stderr):
|
||||
self.destination.close()
|
||||
self.opened = False
|
||||
|
||||
|
||||
class BinaryFileOutput(FileOutput):
|
||||
"""
|
||||
A version of docutils.io.FileOutput which writes to a binary file.
|
||||
"""
|
||||
# Used by core.publish_cmdline_to_binary() which in turn is used by
|
||||
# rst2odt (OpenOffice writer)
|
||||
mode = 'wb'
|
||||
|
||||
|
||||
class StringInput(Input):
|
||||
|
||||
"""
|
||||
Direct string input.
|
||||
"""
|
||||
|
||||
default_source_path = '<string>'
|
||||
|
||||
def read(self):
|
||||
"""Decode and return the source string."""
|
||||
return self.decode(self.source)
|
||||
|
||||
|
||||
class StringOutput(Output):
|
||||
|
||||
"""
|
||||
Direct string output.
|
||||
"""
|
||||
|
||||
default_destination_path = '<string>'
|
||||
|
||||
def write(self, data):
|
||||
"""Encode `data`, store it in `self.destination`, and return it."""
|
||||
self.destination = self.encode(data)
|
||||
return self.destination
|
||||
|
||||
|
||||
class NullInput(Input):
|
||||
|
||||
"""
|
||||
Degenerate input: read nothing.
|
||||
"""
|
||||
|
||||
default_source_path = 'null input'
|
||||
|
||||
def read(self):
|
||||
"""Return a null string."""
|
||||
return u''
|
||||
|
||||
|
||||
class NullOutput(Output):
|
||||
|
||||
"""
|
||||
Degenerate output: write nothing.
|
||||
"""
|
||||
|
||||
default_destination_path = 'null output'
|
||||
|
||||
def write(self, data):
|
||||
"""Do nothing ([don't even] send data to the bit bucket)."""
|
||||
pass
|
||||
|
||||
|
||||
class DocTreeInput(Input):
|
||||
|
||||
"""
|
||||
Adapter for document tree input.
|
||||
|
||||
The document tree must be passed in the ``source`` parameter.
|
||||
"""
|
||||
|
||||
default_source_path = 'doctree input'
|
||||
|
||||
def read(self):
|
||||
"""Return the document tree."""
|
||||
return self.source
|
40
docutils/languages/__init__.py
Normal file
40
docutils/languages/__init__.py
Normal file
|
@ -0,0 +1,40 @@
|
|||
# $Id: __init__.py 7126 2011-09-16 19:24:51Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# Internationalization details are documented in
|
||||
# <http://docutils.sf.net/docs/howto/i18n.html>.
|
||||
|
||||
"""
|
||||
This package contains modules for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
from docutils.utils import normalize_language_tag
|
||||
|
||||
_languages = {}
|
||||
|
||||
def get_language(language_code, reporter=None):
|
||||
"""Return module with language localizations.
|
||||
|
||||
`language_code` is a "BCP 47" language tag.
|
||||
If there is no matching module, warn and fall back to English.
|
||||
"""
|
||||
# TODO: use a dummy module returning emtpy strings?, configurable?
|
||||
for tag in normalize_language_tag(language_code):
|
||||
if tag in _languages:
|
||||
return _languages[tag]
|
||||
try:
|
||||
module = __import__(tag, globals(), locals())
|
||||
except ImportError:
|
||||
continue
|
||||
_languages[tag] = module
|
||||
return module
|
||||
if reporter is not None:
|
||||
reporter.warning(
|
||||
'language "%s" not supported: ' % language_code +
|
||||
'Docutils-generated text will be in English.')
|
||||
module = __import__('en', globals(), locals())
|
||||
_languages[tag] = module # warn only one time!
|
||||
return module
|
58
docutils/languages/af.py
Normal file
58
docutils/languages/af.py
Normal file
|
@ -0,0 +1,58 @@
|
|||
# $Id: af.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Jannie Hofmeyr <jhsh@sun.ac.za>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Afrikaans-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
'author': 'Auteur',
|
||||
'authors': 'Auteurs',
|
||||
'organization': 'Organisasie',
|
||||
'address': 'Adres',
|
||||
'contact': 'Kontak',
|
||||
'version': 'Weergawe',
|
||||
'revision': 'Revisie',
|
||||
'status': 'Status',
|
||||
'date': 'Datum',
|
||||
'copyright': 'Kopiereg',
|
||||
'dedication': 'Opdrag',
|
||||
'abstract': 'Opsomming',
|
||||
'attention': 'Aandag!',
|
||||
'caution': 'Wees versigtig!',
|
||||
'danger': '!GEVAAR!',
|
||||
'error': 'Fout',
|
||||
'hint': 'Wenk',
|
||||
'important': 'Belangrik',
|
||||
'note': 'Nota',
|
||||
'tip': 'Tip', # hint and tip both have the same translation: wenk
|
||||
'warning': 'Waarskuwing',
|
||||
'contents': 'Inhoud'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
'auteur': 'author',
|
||||
'auteurs': 'authors',
|
||||
'organisasie': 'organization',
|
||||
'adres': 'address',
|
||||
'kontak': 'contact',
|
||||
'weergawe': 'version',
|
||||
'revisie': 'revision',
|
||||
'status': 'status',
|
||||
'datum': 'date',
|
||||
'kopiereg': 'copyright',
|
||||
'opdrag': 'dedication',
|
||||
'opsomming': 'abstract'}
|
||||
"""Afrikaans (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
60
docutils/languages/ca.py
Normal file
60
docutils/languages/ca.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# $Id: ca.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Catalan-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'Autor',
|
||||
'authors': u'Autors',
|
||||
'organization': u'Organitzaci\u00F3',
|
||||
'address': u'Adre\u00E7a',
|
||||
'contact': u'Contacte',
|
||||
'version': u'Versi\u00F3',
|
||||
'revision': u'Revisi\u00F3',
|
||||
'status': u'Estat',
|
||||
'date': u'Data',
|
||||
'copyright': u'Copyright',
|
||||
'dedication': u'Dedicat\u00F2ria',
|
||||
'abstract': u'Resum',
|
||||
'attention': u'Atenci\u00F3!',
|
||||
'caution': u'Compte!',
|
||||
'danger': u'PERILL!',
|
||||
'error': u'Error',
|
||||
'hint': u'Suggeriment',
|
||||
'important': u'Important',
|
||||
'note': u'Nota',
|
||||
'tip': u'Consell',
|
||||
'warning': u'Av\u00EDs',
|
||||
'contents': u'Contingut'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'autor': 'author',
|
||||
u'autors': 'authors',
|
||||
u'organitzaci\u00F3': 'organization',
|
||||
u'adre\u00E7a': 'address',
|
||||
u'contacte': 'contact',
|
||||
u'versi\u00F3': 'version',
|
||||
u'revisi\u00F3': 'revision',
|
||||
u'estat': 'status',
|
||||
u'data': 'date',
|
||||
u'copyright': 'copyright',
|
||||
u'dedicat\u00F2ria': 'dedication',
|
||||
u'resum': 'abstract'}
|
||||
"""Catalan (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
60
docutils/languages/cs.py
Normal file
60
docutils/languages/cs.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# $Id: cs.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Marek Blaha <mb@dat.cz>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Czech-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'Autor',
|
||||
'authors': u'Auto\u0159i',
|
||||
'organization': u'Organizace',
|
||||
'address': u'Adresa',
|
||||
'contact': u'Kontakt',
|
||||
'version': u'Verze',
|
||||
'revision': u'Revize',
|
||||
'status': u'Stav',
|
||||
'date': u'Datum',
|
||||
'copyright': u'Copyright',
|
||||
'dedication': u'V\u011Bnov\u00E1n\u00ED',
|
||||
'abstract': u'Abstrakt',
|
||||
'attention': u'Pozor!',
|
||||
'caution': u'Opatrn\u011B!',
|
||||
'danger': u'!NEBEZPE\u010C\u00CD!',
|
||||
'error': u'Chyba',
|
||||
'hint': u'Rada',
|
||||
'important': u'D\u016Fle\u017Eit\u00E9',
|
||||
'note': u'Pozn\u00E1mka',
|
||||
'tip': u'Tip',
|
||||
'warning': u'Varov\u00E1n\u00ED',
|
||||
'contents': u'Obsah'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'autor': 'author',
|
||||
u'auto\u0159i': 'authors',
|
||||
u'organizace': 'organization',
|
||||
u'adresa': 'address',
|
||||
u'kontakt': 'contact',
|
||||
u'verze': 'version',
|
||||
u'revize': 'revision',
|
||||
u'stav': 'status',
|
||||
u'datum': 'date',
|
||||
u'copyright': 'copyright',
|
||||
u'v\u011Bnov\u00E1n\u00ED': 'dedication',
|
||||
u'abstrakt': 'abstract'}
|
||||
"""Czech (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
58
docutils/languages/de.py
Normal file
58
docutils/languages/de.py
Normal file
|
@ -0,0 +1,58 @@
|
|||
# $Id: de.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Gunnar Schwant <g.schwant@gmx.de>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
German language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
'author': 'Autor',
|
||||
'authors': 'Autoren',
|
||||
'organization': 'Organisation',
|
||||
'address': 'Adresse',
|
||||
'contact': 'Kontakt',
|
||||
'version': 'Version',
|
||||
'revision': 'Revision',
|
||||
'status': 'Status',
|
||||
'date': 'Datum',
|
||||
'dedication': 'Widmung',
|
||||
'copyright': 'Copyright',
|
||||
'abstract': 'Zusammenfassung',
|
||||
'attention': 'Achtung!',
|
||||
'caution': 'Vorsicht!',
|
||||
'danger': '!GEFAHR!',
|
||||
'error': 'Fehler',
|
||||
'hint': 'Hinweis',
|
||||
'important': 'Wichtig',
|
||||
'note': 'Bemerkung',
|
||||
'tip': 'Tipp',
|
||||
'warning': 'Warnung',
|
||||
'contents': 'Inhalt'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
'autor': 'author',
|
||||
'autoren': 'authors',
|
||||
'organisation': 'organization',
|
||||
'adresse': 'address',
|
||||
'kontakt': 'contact',
|
||||
'version': 'version',
|
||||
'revision': 'revision',
|
||||
'status': 'status',
|
||||
'datum': 'date',
|
||||
'copyright': 'copyright',
|
||||
'widmung': 'dedication',
|
||||
'zusammenfassung': 'abstract'}
|
||||
"""German (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
60
docutils/languages/en.py
Normal file
60
docutils/languages/en.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# $Id: en.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
English-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': 'Author',
|
||||
'authors': 'Authors',
|
||||
'organization': 'Organization',
|
||||
'address': 'Address',
|
||||
'contact': 'Contact',
|
||||
'version': 'Version',
|
||||
'revision': 'Revision',
|
||||
'status': 'Status',
|
||||
'date': 'Date',
|
||||
'copyright': 'Copyright',
|
||||
'dedication': 'Dedication',
|
||||
'abstract': 'Abstract',
|
||||
'attention': 'Attention!',
|
||||
'caution': 'Caution!',
|
||||
'danger': '!DANGER!',
|
||||
'error': 'Error',
|
||||
'hint': 'Hint',
|
||||
'important': 'Important',
|
||||
'note': 'Note',
|
||||
'tip': 'Tip',
|
||||
'warning': 'Warning',
|
||||
'contents': 'Contents'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
'author': 'author',
|
||||
'authors': 'authors',
|
||||
'organization': 'organization',
|
||||
'address': 'address',
|
||||
'contact': 'contact',
|
||||
'version': 'version',
|
||||
'revision': 'revision',
|
||||
'status': 'status',
|
||||
'date': 'date',
|
||||
'copyright': 'copyright',
|
||||
'dedication': 'dedication',
|
||||
'abstract': 'abstract'}
|
||||
"""English (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
61
docutils/languages/eo.py
Normal file
61
docutils/languages/eo.py
Normal file
|
@ -0,0 +1,61 @@
|
|||
# $Id: eo.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Marcelo Huerta San Martin <richieadler@users.sourceforge.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Esperanto-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'A\u016dtoro',
|
||||
'authors': u'A\u016dtoroj',
|
||||
'organization': u'Organizo',
|
||||
'address': u'Adreso',
|
||||
'contact': u'Kontakto',
|
||||
'version': u'Versio',
|
||||
'revision': u'Revido',
|
||||
'status': u'Stato',
|
||||
'date': u'Dato',
|
||||
# 'copyright': u'Kopirajto',
|
||||
'copyright': u'A\u016dtorrajto',
|
||||
'dedication': u'Dedi\u0109o',
|
||||
'abstract': u'Resumo',
|
||||
'attention': u'Atentu!',
|
||||
'caution': u'Zorgu!',
|
||||
'danger': u'DAN\u011cERO!',
|
||||
'error': u'Eraro',
|
||||
'hint': u'Spuro',
|
||||
'important': u'Grava',
|
||||
'note': u'Noto',
|
||||
'tip': u'Helpeto',
|
||||
'warning': u'Averto',
|
||||
'contents': u'Enhavo'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
'a\u016dtoro': 'author',
|
||||
'a\u016dtoroj': 'authors',
|
||||
'organizo': 'organization',
|
||||
'adreso': 'address',
|
||||
'kontakto': 'contact',
|
||||
'versio': 'version',
|
||||
'revido': 'revision',
|
||||
'stato': 'status',
|
||||
'dato': 'date',
|
||||
'a\u016dtorrajto': 'copyright',
|
||||
'dedi\u0109o': 'dedication',
|
||||
'resumo': 'abstract'}
|
||||
"""Esperanto (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
59
docutils/languages/es.py
Normal file
59
docutils/languages/es.py
Normal file
|
@ -0,0 +1,59 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: es.py 4572 2006-05-25 20:48:37Z richieadler $
|
||||
# Author: Marcelo Huerta San Martín <richieadler@users.sourceforge.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Spanish-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
'author': u'Autor',
|
||||
'authors': u'Autores',
|
||||
'organization': u'Organizaci\u00f3n',
|
||||
'address': u'Direcci\u00f3n',
|
||||
'contact': u'Contacto',
|
||||
'version': u'Versi\u00f3n',
|
||||
'revision': u'Revisi\u00f3n',
|
||||
'status': u'Estado',
|
||||
'date': u'Fecha',
|
||||
'copyright': u'Copyright',
|
||||
'dedication': u'Dedicatoria',
|
||||
'abstract': u'Resumen',
|
||||
'attention': u'\u00a1Atenci\u00f3n!',
|
||||
'caution': u'\u00a1Precauci\u00f3n!',
|
||||
'danger': u'\u00a1PELIGRO!',
|
||||
'error': u'Error',
|
||||
'hint': u'Sugerencia',
|
||||
'important': u'Importante',
|
||||
'note': u'Nota',
|
||||
'tip': u'Consejo',
|
||||
'warning': u'Advertencia',
|
||||
'contents': u'Contenido'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
u'autor': 'author',
|
||||
u'autores': 'authors',
|
||||
u'organizaci\u00f3n': 'organization',
|
||||
u'direcci\u00f3n': 'address',
|
||||
u'contacto': 'contact',
|
||||
u'versi\u00f3n': 'version',
|
||||
u'revisi\u00f3n': 'revision',
|
||||
u'estado': 'status',
|
||||
u'fecha': 'date',
|
||||
u'copyright': 'copyright',
|
||||
u'dedicatoria': 'dedication',
|
||||
u'resumen': 'abstract'}
|
||||
"""Spanish (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
60
docutils/languages/fi.py
Normal file
60
docutils/languages/fi.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# $Id: fi.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Asko Soukka <asko.soukka@iki.fi>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Finnish-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
u'author': u'Tekij\u00e4',
|
||||
u'authors': u'Tekij\u00e4t',
|
||||
u'organization': u'Yhteis\u00f6',
|
||||
u'address': u'Osoite',
|
||||
u'contact': u'Yhteystiedot',
|
||||
u'version': u'Versio',
|
||||
u'revision': u'Vedos',
|
||||
u'status': u'Tila',
|
||||
u'date': u'P\u00e4iv\u00e4ys',
|
||||
u'copyright': u'Tekij\u00e4noikeudet',
|
||||
u'dedication': u'Omistuskirjoitus',
|
||||
u'abstract': u'Tiivistelm\u00e4',
|
||||
u'attention': u'Huomio!',
|
||||
u'caution': u'Varo!',
|
||||
u'danger': u'!VAARA!',
|
||||
u'error': u'Virhe',
|
||||
u'hint': u'Vihje',
|
||||
u'important': u'T\u00e4rke\u00e4\u00e4',
|
||||
u'note': u'Huomautus',
|
||||
u'tip': u'Neuvo',
|
||||
u'warning': u'Varoitus',
|
||||
u'contents': u'Sis\u00e4llys'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'tekij\u00e4': u'author',
|
||||
u'tekij\u00e4t': u'authors',
|
||||
u'yhteis\u00f6': u'organization',
|
||||
u'osoite': u'address',
|
||||
u'yhteystiedot': u'contact',
|
||||
u'versio': u'version',
|
||||
u'vedos': u'revision',
|
||||
u'tila': u'status',
|
||||
u'p\u00e4iv\u00e4ys': u'date',
|
||||
u'tekij\u00e4noikeudet': u'copyright',
|
||||
u'omistuskirjoitus': u'dedication',
|
||||
u'tiivistelm\u00e4': u'abstract'}
|
||||
"""Finnish (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
58
docutils/languages/fr.py
Normal file
58
docutils/languages/fr.py
Normal file
|
@ -0,0 +1,58 @@
|
|||
# $Id: fr.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Stefane Fermigier <sf@fermigier.com>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
French-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
u'author': u'Auteur',
|
||||
u'authors': u'Auteurs',
|
||||
u'organization': u'Organisation',
|
||||
u'address': u'Adresse',
|
||||
u'contact': u'Contact',
|
||||
u'version': u'Version',
|
||||
u'revision': u'R\u00e9vision',
|
||||
u'status': u'Statut',
|
||||
u'date': u'Date',
|
||||
u'copyright': u'Copyright',
|
||||
u'dedication': u'D\u00e9dicace',
|
||||
u'abstract': u'R\u00e9sum\u00e9',
|
||||
u'attention': u'Attention!',
|
||||
u'caution': u'Avertissement!',
|
||||
u'danger': u'!DANGER!',
|
||||
u'error': u'Erreur',
|
||||
u'hint': u'Indication',
|
||||
u'important': u'Important',
|
||||
u'note': u'Note',
|
||||
u'tip': u'Astuce',
|
||||
u'warning': u'Avis',
|
||||
u'contents': u'Sommaire'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
u'auteur': u'author',
|
||||
u'auteurs': u'authors',
|
||||
u'organisation': u'organization',
|
||||
u'adresse': u'address',
|
||||
u'contact': u'contact',
|
||||
u'version': u'version',
|
||||
u'r\u00e9vision': u'revision',
|
||||
u'statut': u'status',
|
||||
u'date': u'date',
|
||||
u'copyright': u'copyright',
|
||||
u'd\u00e9dicace': u'dedication',
|
||||
u'r\u00e9sum\u00e9': u'abstract'}
|
||||
"""French (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
63
docutils/languages/gl.py
Normal file
63
docutils/languages/gl.py
Normal file
|
@ -0,0 +1,63 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Author: David Goodger
|
||||
# Contact: goodger@users.sourceforge.net
|
||||
# Revision: $Revision: 2224 $
|
||||
# Date: $Date: 2004-06-05 21:40:46 +0200 (Sat, 05 Jun 2004) $
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Galician-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'Autor',
|
||||
'authors': u'Autores',
|
||||
'organization': u'Organizaci\u00f3n',
|
||||
'address': u'Enderezo',
|
||||
'contact': u'Contacto',
|
||||
'version': u'Versi\u00f3n',
|
||||
'revision': u'Revisi\u00f3n',
|
||||
'status': u'Estado',
|
||||
'date': u'Data',
|
||||
'copyright': u'Dereitos de copia',
|
||||
'dedication': u'Dedicatoria',
|
||||
'abstract': u'Abstract',
|
||||
'attention': u'Atenci\u00f3n!',
|
||||
'caution': u'Advertencia!',
|
||||
'danger': u'PERIGO!',
|
||||
'error': u'Erro',
|
||||
'hint': u'Consello',
|
||||
'important': u'Importante',
|
||||
'note': u'Nota',
|
||||
'tip': u'Suxesti\u00f3n',
|
||||
'warning': u'Aviso',
|
||||
'contents': u'Contido'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'autor': 'author',
|
||||
u'autores': 'authors',
|
||||
u'organizaci\u00f3n': 'organization',
|
||||
u'enderezo': 'address',
|
||||
u'contacto': 'contact',
|
||||
u'versi\u00f3n': 'version',
|
||||
u'revisi\u00f3n': 'revision',
|
||||
u'estado': 'status',
|
||||
u'data': 'date',
|
||||
u'dereitos de copia': 'copyright',
|
||||
u'dedicatoria': 'dedication',
|
||||
u'abstract': 'abstract'}
|
||||
"""Galician (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
60
docutils/languages/he.py
Normal file
60
docutils/languages/he.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# Author: Meir Kriheli
|
||||
# Id: $Id: he.py 4837 2006-12-26 09:59:41Z sfcben $
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Hebrew-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'\u05de\u05d7\u05d1\u05e8',
|
||||
'authors': u'\u05de\u05d7\u05d1\u05e8\u05d9',
|
||||
'organization': u'\u05d0\u05e8\u05d2\u05d5\u05df',
|
||||
'address': u'\u05db\u05ea\u05d5\u05d1\u05ea',
|
||||
'contact': u'\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8',
|
||||
'version': u'\u05d2\u05e8\u05e1\u05d4',
|
||||
'revision': u'\u05de\u05d4\u05d3\u05d5\u05e8\u05d4',
|
||||
'status': u'\u05e1\u05d8\u05d8\u05d5\u05e1',
|
||||
'date': u'\u05ea\u05d0\u05e8\u05d9\u05da',
|
||||
'copyright': u'\u05d6\u05db\u05d5\u05d9\u05d5\u05ea \u05e9\u05de\u05d5\u05e8\u05d5\u05ea',
|
||||
'dedication': u'\u05d4\u05e7\u05d3\u05e9\u05d4',
|
||||
'abstract': u'\u05ea\u05e7\u05e6\u05d9\u05e8',
|
||||
'attention': u'\u05ea\u05e9\u05d5\u05de\u05ea \u05dc\u05d1',
|
||||
'caution': u'\u05d6\u05d4\u05d9\u05e8\u05d5\u05ea',
|
||||
'danger': u'\u05e1\u05db\u05e0\u05d4',
|
||||
'error': u'\u05e9\u05d2\u05d9\u05d0\u05d4' ,
|
||||
'hint': u'\u05e8\u05de\u05d6',
|
||||
'important': u'\u05d7\u05e9\u05d5\u05d1',
|
||||
'note': u'\u05d4\u05e2\u05e8\u05d4',
|
||||
'tip': u'\u05d8\u05d9\u05e4',
|
||||
'warning': u'\u05d0\u05d6\u05d4\u05e8\u05d4',
|
||||
'contents': u'\u05ea\u05d5\u05db\u05df'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'\u05de\u05d7\u05d1\u05e8': 'author',
|
||||
u'\u05de\u05d7\u05d1\u05e8\u05d9': 'authors',
|
||||
u'\u05d0\u05e8\u05d2\u05d5\u05df': 'organization',
|
||||
u'\u05db\u05ea\u05d5\u05d1\u05ea': 'address',
|
||||
u'\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8': 'contact',
|
||||
u'\u05d2\u05e8\u05e1\u05d4': 'version',
|
||||
u'\u05de\u05d4\u05d3\u05d5\u05e8\u05d4': 'revision',
|
||||
u'\u05e1\u05d8\u05d8\u05d5\u05e1': 'status',
|
||||
u'\u05ea\u05d0\u05e8\u05d9\u05da': 'date',
|
||||
u'\u05d6\u05db\u05d5\u05d9\u05d5\u05ea \u05e9\u05de\u05d5\u05e8\u05d5\u05ea': 'copyright',
|
||||
u'\u05d4\u05e7\u05d3\u05e9\u05d4': 'dedication',
|
||||
u'\u05ea\u05e7\u05e6\u05d9\u05e8': 'abstract'}
|
||||
"""Hebrew to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
58
docutils/languages/it.py
Normal file
58
docutils/languages/it.py
Normal file
|
@ -0,0 +1,58 @@
|
|||
# $Id: it.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Nicola Larosa <docutils@tekNico.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Italian-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
'author': 'Autore',
|
||||
'authors': 'Autori',
|
||||
'organization': 'Organizzazione',
|
||||
'address': 'Indirizzo',
|
||||
'contact': 'Contatti',
|
||||
'version': 'Versione',
|
||||
'revision': 'Revisione',
|
||||
'status': 'Status',
|
||||
'date': 'Data',
|
||||
'copyright': 'Copyright',
|
||||
'dedication': 'Dedica',
|
||||
'abstract': 'Riassunto',
|
||||
'attention': 'Attenzione!',
|
||||
'caution': 'Cautela!',
|
||||
'danger': '!PERICOLO!',
|
||||
'error': 'Errore',
|
||||
'hint': 'Suggerimento',
|
||||
'important': 'Importante',
|
||||
'note': 'Nota',
|
||||
'tip': 'Consiglio',
|
||||
'warning': 'Avvertenza',
|
||||
'contents': 'Indice'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
'autore': 'author',
|
||||
'autori': 'authors',
|
||||
'organizzazione': 'organization',
|
||||
'indirizzo': 'address',
|
||||
'contatto': 'contact',
|
||||
'versione': 'version',
|
||||
'revisione': 'revision',
|
||||
'status': 'status',
|
||||
'data': 'date',
|
||||
'copyright': 'copyright',
|
||||
'dedica': 'dedication',
|
||||
'riassunto': 'abstract'}
|
||||
"""Italian (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
61
docutils/languages/ja.py
Normal file
61
docutils/languages/ja.py
Normal file
|
@ -0,0 +1,61 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: ja.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Hisashi Morita <hisashim@kt.rim.or.jp>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Japanese-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'著者',
|
||||
'authors': u'著者',
|
||||
'organization': u'組織',
|
||||
'address': u'住所',
|
||||
'contact': u'連絡先',
|
||||
'version': u'バージョン',
|
||||
'revision': u'リビジョン',
|
||||
'status': u'ステータス',
|
||||
'date': u'日付',
|
||||
'copyright': u'著作権',
|
||||
'dedication': u'献辞',
|
||||
'abstract': u'概要',
|
||||
'attention': u'注目!',
|
||||
'caution': u'注意!',
|
||||
'danger': u'!危険!',
|
||||
'error': u'エラー',
|
||||
'hint': u'ヒント',
|
||||
'important': u'重要',
|
||||
'note': u'備考',
|
||||
'tip': u'通報',
|
||||
'warning': u'警告',
|
||||
'contents': u'目次'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'著者': 'author',
|
||||
u' n/a': 'authors',
|
||||
u'組織': 'organization',
|
||||
u'住所': 'address',
|
||||
u'連絡先': 'contact',
|
||||
u'バージョン': 'version',
|
||||
u'リビジョン': 'revision',
|
||||
u'ステータス': 'status',
|
||||
u'日付': 'date',
|
||||
u'著作権': 'copyright',
|
||||
u'献辞': 'dedication',
|
||||
u'概要': 'abstract'}
|
||||
"""Japanese (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
122
docutils/languages/lt.py
Normal file
122
docutils/languages/lt.py
Normal file
|
@ -0,0 +1,122 @@
|
|||
# -*- coding: utf8 -*-
|
||||
# $Id: lt.py 6459 2010-10-29 22:07:34Z milde $
|
||||
# Author: Dalius Dobravolskas <dalius.do...@gmail.com>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
English-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': 'Autorius',
|
||||
'authors': 'Autoriai',
|
||||
'organization': 'Organizacija',
|
||||
'address': 'Adresas',
|
||||
'contact': 'Kontaktas',
|
||||
'version': 'Versija',
|
||||
'revision': 'Revizija',
|
||||
'status': u'Būsena',
|
||||
'date': 'Data',
|
||||
'copyright': u'Autoriaus teisės',
|
||||
'dedication': 'Dedikacija',
|
||||
'abstract': 'Santrauka',
|
||||
'attention': u'Dėmesio!',
|
||||
'caution': 'Atsargiai!',
|
||||
'danger': '!PAVOJINGA!',
|
||||
'error': 'Klaida',
|
||||
'hint': u'Užuomina',
|
||||
'important': 'Svarbu',
|
||||
'note': 'Pastaba',
|
||||
'tip': 'Patarimas',
|
||||
'warning': u'Įspėjimas',
|
||||
'contents': 'Turinys'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
'autorius': 'author',
|
||||
'autoriai': 'authors',
|
||||
'organizacija': 'organization',
|
||||
'adresas': 'address',
|
||||
'kontaktas': 'contact',
|
||||
'versija': 'version',
|
||||
'revizija': 'revision',
|
||||
'būsena': 'status',
|
||||
'data': 'date',
|
||||
'autoriaus teisės': 'copyright',
|
||||
'dedikacija': 'dedication',
|
||||
'santrauka': 'abstract'}
|
||||
"""English (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
||||
# -*- coding: utf8 -*-
|
||||
# $Id: lt.py 6459 2010-10-29 22:07:34Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
English-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': 'Autorius',
|
||||
'authors': 'Autoriai',
|
||||
'organization': 'Organizacija',
|
||||
'address': 'Adresas',
|
||||
'contact': 'Kontaktas',
|
||||
'version': 'Versija',
|
||||
'revision': 'Revizija',
|
||||
'status': u'Būsena',
|
||||
'date': 'Data',
|
||||
'copyright': u'Autoriaus teisės',
|
||||
'dedication': 'Dedikacija',
|
||||
'abstract': 'Santrauka',
|
||||
'attention': u'Dėmesio!',
|
||||
'caution': 'Atsargiai!',
|
||||
'danger': '!PAVOJINGA!',
|
||||
'error': 'Klaida',
|
||||
'hint': u'Užuomina',
|
||||
'important': 'Svarbu',
|
||||
'note': 'Pastaba',
|
||||
'tip': 'Patarimas',
|
||||
'warning': u'Įspėjimas',
|
||||
'contents': 'Turinys'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
'autorius': 'author',
|
||||
'autoriai': 'authors',
|
||||
'organizacija': 'organization',
|
||||
'adresas': 'address',
|
||||
'kontaktas': 'contact',
|
||||
'versija': 'version',
|
||||
'revizija': 'revision',
|
||||
'būsena': 'status',
|
||||
'data': 'date',
|
||||
'autoriaus teisės': 'copyright',
|
||||
'dedikacija': 'dedication',
|
||||
'santrauka': 'abstract'}
|
||||
"""English (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
60
docutils/languages/nl.py
Normal file
60
docutils/languages/nl.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# $Id: nl.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Martijn Pieters <mjpieters@users.sourceforge.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Dutch-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': 'Auteur',
|
||||
'authors': 'Auteurs',
|
||||
'organization': 'Organisatie',
|
||||
'address': 'Adres',
|
||||
'contact': 'Contact',
|
||||
'version': 'Versie',
|
||||
'revision': 'Revisie',
|
||||
'status': 'Status',
|
||||
'date': 'Datum',
|
||||
'copyright': 'Copyright',
|
||||
'dedication': 'Toewijding',
|
||||
'abstract': 'Samenvatting',
|
||||
'attention': 'Attentie!',
|
||||
'caution': 'Let op!',
|
||||
'danger': '!GEVAAR!',
|
||||
'error': 'Fout',
|
||||
'hint': 'Hint',
|
||||
'important': 'Belangrijk',
|
||||
'note': 'Opmerking',
|
||||
'tip': 'Tip',
|
||||
'warning': 'Waarschuwing',
|
||||
'contents': 'Inhoud'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
'auteur': 'author',
|
||||
'auteurs': 'authors',
|
||||
'organisatie': 'organization',
|
||||
'adres': 'address',
|
||||
'contact': 'contact',
|
||||
'versie': 'version',
|
||||
'revisie': 'revision',
|
||||
'status': 'status',
|
||||
'datum': 'date',
|
||||
'copyright': 'copyright',
|
||||
'toewijding': 'dedication',
|
||||
'samenvatting': 'abstract'}
|
||||
"""Dutch (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
62
docutils/languages/pl.py
Normal file
62
docutils/languages/pl.py
Normal file
|
@ -0,0 +1,62 @@
|
|||
# $Id$
|
||||
# Author: Robert Wojciechowicz <rw@smsnet.pl>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Polish-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'Autor',
|
||||
'authors': u'Autorzy',
|
||||
'organization': u'Organizacja',
|
||||
'address': u'Adres',
|
||||
'contact': u'Kontakt',
|
||||
'version': u'Wersja',
|
||||
'revision': u'Korekta',
|
||||
'status': u'Status',
|
||||
'date': u'Data',
|
||||
'copyright': u'Copyright',
|
||||
'dedication': u'Dedykacja',
|
||||
'abstract': u'Streszczenie',
|
||||
'attention': u'Uwaga!',
|
||||
'caution': u'Ostro\u017cnie!',
|
||||
'danger': u'!Niebezpiecze\u0144stwo!',
|
||||
'error': u'B\u0142\u0105d',
|
||||
'hint': u'Wskaz\u00f3wka',
|
||||
'important': u'Wa\u017cne',
|
||||
'note': u'Przypis',
|
||||
'tip': u'Rada',
|
||||
'warning': u'Ostrze\u017cenie',
|
||||
'contents': u'Tre\u015b\u0107'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'autor': 'author',
|
||||
u'autorzy': 'authors',
|
||||
u'organizacja': 'organization',
|
||||
u'adres': 'address',
|
||||
u'kontakt': 'contact',
|
||||
u'wersja': 'version',
|
||||
u'korekta': 'revision',
|
||||
u'status': 'status',
|
||||
u'data': 'date',
|
||||
u'copyright': 'copyright',
|
||||
u'dedykacja': 'dedication',
|
||||
u'streszczenie': 'abstract'}
|
||||
"""Polish (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
||||
|
||||
|
60
docutils/languages/pt_br.py
Normal file
60
docutils/languages/pt_br.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# $Id: pt_br.py 5567 2008-06-03 01:11:03Z goodger $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Brazilian Portuguese-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'Autor',
|
||||
'authors': u'Autores',
|
||||
'organization': u'Organiza\u00E7\u00E3o',
|
||||
'address': u'Endere\u00E7o',
|
||||
'contact': u'Contato',
|
||||
'version': u'Vers\u00E3o',
|
||||
'revision': u'Revis\u00E3o',
|
||||
'status': u'Estado',
|
||||
'date': u'Data',
|
||||
'copyright': u'Copyright',
|
||||
'dedication': u'Dedicat\u00F3ria',
|
||||
'abstract': u'Resumo',
|
||||
'attention': u'Aten\u00E7\u00E3o!',
|
||||
'caution': u'Cuidado!',
|
||||
'danger': u'PERIGO!',
|
||||
'error': u'Erro',
|
||||
'hint': u'Sugest\u00E3o',
|
||||
'important': u'Importante',
|
||||
'note': u'Nota',
|
||||
'tip': u'Dica',
|
||||
'warning': u'Aviso',
|
||||
'contents': u'Sum\u00E1rio'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'autor': 'author',
|
||||
u'autores': 'authors',
|
||||
u'organiza\u00E7\u00E3o': 'organization',
|
||||
u'endere\u00E7o': 'address',
|
||||
u'contato': 'contact',
|
||||
u'vers\u00E3o': 'version',
|
||||
u'revis\u00E3o': 'revision',
|
||||
u'estado': 'status',
|
||||
u'data': 'date',
|
||||
u'copyright': 'copyright',
|
||||
u'dedicat\u00F3ria': 'dedication',
|
||||
u'resumo': 'abstract'}
|
||||
"""Brazilian Portuguese (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
59
docutils/languages/ru.py
Normal file
59
docutils/languages/ru.py
Normal file
|
@ -0,0 +1,59 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: ru.py 7125 2011-09-16 18:36:18Z milde $
|
||||
# Author: Roman Suzi <rnd@onego.ru>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Russian-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
u'abstract': u'Аннотация',
|
||||
u'address': u'Адрес',
|
||||
u'attention': u'Внимание!',
|
||||
u'author': u'Автор',
|
||||
u'authors': u'Авторы',
|
||||
u'caution': u'Осторожно!',
|
||||
u'contact': u'Контакт',
|
||||
u'contents': u'Содержание',
|
||||
u'copyright': u'Права копирования',
|
||||
u'danger': u'ОПАСНО!',
|
||||
u'date': u'Дата',
|
||||
u'dedication': u'Посвящение',
|
||||
u'error': u'Ошибка',
|
||||
u'hint': u'Совет',
|
||||
u'important': u'Важно',
|
||||
u'note': u'Примечание',
|
||||
u'organization': u'Организация',
|
||||
u'revision': u'Редакция',
|
||||
u'status': u'Статус',
|
||||
u'tip': u'Подсказка',
|
||||
u'version': u'Версия',
|
||||
u'warning': u'Предупреждение'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
u'аннотация': u'abstract',
|
||||
u'адрес': u'address',
|
||||
u'автор': u'author',
|
||||
u'авторы': u'authors',
|
||||
u'контакт': u'contact',
|
||||
u'права копирования': u'copyright',
|
||||
u'дата': u'date',
|
||||
u'посвящение': u'dedication',
|
||||
u'организация': u'organization',
|
||||
u'редакция': u'revision',
|
||||
u'статус': u'status',
|
||||
u'версия': u'version'}
|
||||
"""Russian (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
58
docutils/languages/sk.py
Normal file
58
docutils/languages/sk.py
Normal file
|
@ -0,0 +1,58 @@
|
|||
# $Id: sk.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Miroslav Vasko <zemiak@zoznam.sk>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Slovak-language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
'author': u'Autor',
|
||||
'authors': u'Autori',
|
||||
'organization': u'Organiz\u00E1cia',
|
||||
'address': u'Adresa',
|
||||
'contact': u'Kontakt',
|
||||
'version': u'Verzia',
|
||||
'revision': u'Rev\u00EDzia',
|
||||
'status': u'Stav',
|
||||
'date': u'D\u00E1tum',
|
||||
'copyright': u'Copyright',
|
||||
'dedication': u'Venovanie',
|
||||
'abstract': u'Abstraktne',
|
||||
'attention': u'Pozor!',
|
||||
'caution': u'Opatrne!',
|
||||
'danger': u'!NEBEZPE\u010cENSTVO!',
|
||||
'error': u'Chyba',
|
||||
'hint': u'Rada',
|
||||
'important': u'D\u00F4le\u017Eit\u00E9',
|
||||
'note': u'Pozn\u00E1mka',
|
||||
'tip': u'Tip',
|
||||
'warning': u'Varovanie',
|
||||
'contents': u'Obsah'}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
u'autor': 'author',
|
||||
u'autori': 'authors',
|
||||
u'organiz\u00E1cia': 'organization',
|
||||
u'adresa': 'address',
|
||||
u'kontakt': 'contact',
|
||||
u'verzia': 'version',
|
||||
u'rev\u00EDzia': 'revision',
|
||||
u'stav': 'status',
|
||||
u'd\u00E1tum': 'date',
|
||||
u'copyright': 'copyright',
|
||||
u'venovanie': 'dedication',
|
||||
u'abstraktne': 'abstract'}
|
||||
"""Slovak (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
59
docutils/languages/sv.py
Normal file
59
docutils/languages/sv.py
Normal file
|
@ -0,0 +1,59 @@
|
|||
# $Id: sv.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Adam Chodorowski <chodorowski@users.sourceforge.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Swedish language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
'author': u'F\u00f6rfattare',
|
||||
'authors': u'F\u00f6rfattare',
|
||||
'organization': u'Organisation',
|
||||
'address': u'Adress',
|
||||
'contact': u'Kontakt',
|
||||
'version': u'Version',
|
||||
'revision': u'Revision',
|
||||
'status': u'Status',
|
||||
'date': u'Datum',
|
||||
'copyright': u'Copyright',
|
||||
'dedication': u'Dedikation',
|
||||
'abstract': u'Sammanfattning',
|
||||
'attention': u'Observera!',
|
||||
'caution': u'Varning!',
|
||||
'danger': u'FARA!',
|
||||
'error': u'Fel',
|
||||
'hint': u'V\u00e4gledning',
|
||||
'important': u'Viktigt',
|
||||
'note': u'Notera',
|
||||
'tip': u'Tips',
|
||||
'warning': u'Varning',
|
||||
'contents': u'Inneh\u00e5ll' }
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# 'Author' and 'Authors' identical in Swedish; assume the plural:
|
||||
u'f\u00f6rfattare': 'authors',
|
||||
u' n/a': 'author',
|
||||
u'organisation': 'organization',
|
||||
u'adress': 'address',
|
||||
u'kontakt': 'contact',
|
||||
u'version': 'version',
|
||||
u'revision': 'revision',
|
||||
u'status': 'status',
|
||||
u'datum': 'date',
|
||||
u'copyright': 'copyright',
|
||||
u'dedikation': 'dedication',
|
||||
u'sammanfattning': 'abstract' }
|
||||
"""Swedish (lowcased) to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',']
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
67
docutils/languages/zh_cn.py
Normal file
67
docutils/languages/zh_cn.py
Normal file
|
@ -0,0 +1,67 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: zh_cn.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Pan Junyong <panjy@zopechina.com>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Simplified Chinese language mappings for language-dependent features
|
||||
of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'作者',
|
||||
'authors': u'作者群',
|
||||
'organization': u'组织',
|
||||
'address': u'地址',
|
||||
'contact': u'联系',
|
||||
'version': u'版本',
|
||||
'revision': u'修订',
|
||||
'status': u'状态',
|
||||
'date': u'日期',
|
||||
'copyright': u'版权',
|
||||
'dedication': u'献辞',
|
||||
'abstract': u'摘要',
|
||||
'attention': u'注意',
|
||||
'caution': u'小心',
|
||||
'danger': u'危险',
|
||||
'error': u'错误',
|
||||
'hint': u'提示',
|
||||
'important': u'重要',
|
||||
'note': u'注解',
|
||||
'tip': u'技巧',
|
||||
'warning': u'警告',
|
||||
'contents': u'目录',
|
||||
}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
u'作者': 'author',
|
||||
u'作者群': 'authors',
|
||||
u'组织': 'organization',
|
||||
u'地址': 'address',
|
||||
u'联系': 'contact',
|
||||
u'版本': 'version',
|
||||
u'修订': 'revision',
|
||||
u'状态': 'status',
|
||||
u'时间': 'date',
|
||||
u'版权': 'copyright',
|
||||
u'献辞': 'dedication',
|
||||
u'摘要': 'abstract'}
|
||||
"""Simplified Chinese to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',',
|
||||
u'\uff1b', # ';'
|
||||
u'\uff0c', # ','
|
||||
u'\u3001', # '、'
|
||||
]
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
66
docutils/languages/zh_tw.py
Normal file
66
docutils/languages/zh_tw.py
Normal file
|
@ -0,0 +1,66 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: zh_tw.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Joe YS Jaw <joeysj@users.sourceforge.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Traditional Chinese language mappings for language-dependent features of Docutils.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
labels = {
|
||||
# fixed: language-dependent
|
||||
'author': u'\u4f5c\u8005', # '作者' <-- Chinese word
|
||||
'authors': u'\u4f5c\u8005\u7fa4', # '作者群',
|
||||
'organization': u'\u7d44\u7e54', # '組織',
|
||||
'address': u'\u5730\u5740', # '地址',
|
||||
'contact': u'\u9023\u7d61', # '連絡',
|
||||
'version': u'\u7248\u672c', # '版本',
|
||||
'revision': u'\u4fee\u8a02', # '修訂',
|
||||
'status': u'\u72c0\u614b', # '狀態',
|
||||
'date': u'\u65e5\u671f', # '日期',
|
||||
'copyright': u'\u7248\u6b0a', # '版權',
|
||||
'dedication': u'\u984c\u737b', # '題獻',
|
||||
'abstract': u'\u6458\u8981', # '摘要',
|
||||
'attention': u'\u6ce8\u610f\uff01', # '注意!',
|
||||
'caution': u'\u5c0f\u5fc3\uff01', # '小心!',
|
||||
'danger': u'\uff01\u5371\u96aa\uff01', # '!危險!',
|
||||
'error': u'\u932f\u8aa4', # '錯誤',
|
||||
'hint': u'\u63d0\u793a', # '提示',
|
||||
'important': u'\u91cd\u8981', # '注意!',
|
||||
'note': u'\u8a3b\u91cb', # '註釋',
|
||||
'tip': u'\u79d8\u8a23', # '秘訣',
|
||||
'warning': u'\u8b66\u544a', # '警告',
|
||||
'contents': u'\u76ee\u9304' # '目錄'
|
||||
}
|
||||
"""Mapping of node class name to label text."""
|
||||
|
||||
bibliographic_fields = {
|
||||
# language-dependent: fixed
|
||||
'author (translation required)': 'author',
|
||||
'authors (translation required)': 'authors',
|
||||
'organization (translation required)': 'organization',
|
||||
'address (translation required)': 'address',
|
||||
'contact (translation required)': 'contact',
|
||||
'version (translation required)': 'version',
|
||||
'revision (translation required)': 'revision',
|
||||
'status (translation required)': 'status',
|
||||
'date (translation required)': 'date',
|
||||
'copyright (translation required)': 'copyright',
|
||||
'dedication (translation required)': 'dedication',
|
||||
'abstract (translation required)': 'abstract'}
|
||||
"""Traditional Chinese to canonical name mapping for bibliographic fields."""
|
||||
|
||||
author_separators = [';', ',',
|
||||
u'\uff1b', # ';'
|
||||
u'\uff0c', # ','
|
||||
u'\u3001', # '、'
|
||||
]
|
||||
"""List of separator strings for the 'Authors' bibliographic field. Tried in
|
||||
order."""
|
47
docutils/math/__init__.py
Normal file
47
docutils/math/__init__.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
# :Id: $Id: __init__.py 7218 2011-11-08 17:42:40Z milde $
|
||||
# :Author: Guenter Milde.
|
||||
# :License: Released under the terms of the `2-Clause BSD license`_, in short:
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted in any medium without royalty provided the copyright
|
||||
# notice and this notice are preserved.
|
||||
# This file is offered as-is, without any warranty.
|
||||
#
|
||||
# .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause
|
||||
|
||||
"""
|
||||
This is the Docutils (Python Documentation Utilities) "math" sub-package.
|
||||
|
||||
It contains various modules for conversion between different math formats
|
||||
(LaTeX, MathML, HTML).
|
||||
|
||||
:math2html: LaTeX math -> HTML conversion from eLyXer
|
||||
:latex2mathml: LaTeX math -> presentational MathML
|
||||
:unichar2tex: Unicode character to LaTeX math translation table
|
||||
:tex2unichar: LaTeX math to Unicode character translation dictionaries
|
||||
"""
|
||||
|
||||
# helpers for Docutils math support
|
||||
# =================================
|
||||
|
||||
def pick_math_environment(code, numbered=False):
|
||||
"""Return the right math environment to display `code`.
|
||||
|
||||
The test simply looks for line-breaks (``\\``) outside environments.
|
||||
Multi-line formulae are set with ``align``, one-liners with
|
||||
``equation``.
|
||||
|
||||
If `numbered` evaluates to ``False``, the "starred" versions are used
|
||||
to suppress numbering.
|
||||
"""
|
||||
# cut out environment content:
|
||||
chunks = code.split(r'\begin{')
|
||||
toplevel_code = ''.join([chunk.split(r'\end{')[-1]
|
||||
for chunk in chunks])
|
||||
if toplevel_code.find(r'\\') >= 0:
|
||||
env = 'align'
|
||||
else:
|
||||
env = 'equation'
|
||||
if not numbered:
|
||||
env += '*'
|
||||
return env
|
560
docutils/math/latex2mathml.py
Normal file
560
docutils/math/latex2mathml.py
Normal file
|
@ -0,0 +1,560 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf8 -*-
|
||||
|
||||
# :Id: $Id: latex2mathml.py 7218 2011-11-08 17:42:40Z milde $
|
||||
# :Copyright: © 2010 Günter Milde.
|
||||
# Based on rst2mathml.py from the latex_math sandbox project
|
||||
# © 2005 Jens Jørgen Mortensen
|
||||
# :License: Released under the terms of the `2-Clause BSD license`_, in short:
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted in any medium without royalty provided the copyright
|
||||
# notice and this notice are preserved.
|
||||
# This file is offered as-is, without any warranty.
|
||||
#
|
||||
# .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause
|
||||
|
||||
|
||||
"""Convert LaTex math code into presentational MathML"""
|
||||
|
||||
# Based on the `latex_math` sandbox project by Jens Jørgen Mortensen
|
||||
|
||||
import docutils.math.tex2unichar as tex2unichar
|
||||
|
||||
# TeX spacing combining
|
||||
over = {'acute': u'\u00B4', # u'\u0301',
|
||||
'bar': u'\u00AF', # u'\u0304',
|
||||
'breve': u'\u02D8', # u'\u0306',
|
||||
'check': u'\u02C7', # u'\u030C',
|
||||
'dot': u'\u02D9', # u'\u0307',
|
||||
'ddot': u'\u00A8', # u'\u0308',
|
||||
'dddot': u'\u20DB',
|
||||
'grave': u'`', # u'\u0300',
|
||||
'hat': u'^', # u'\u0302',
|
||||
'mathring': u'\u02DA', # u'\u030A',
|
||||
'overleftrightarrow': u'\u20e1',
|
||||
# 'overline': # u'\u0305',
|
||||
'tilde': u'\u02DC', # u'\u0303',
|
||||
'vec': u'\u20D7'}
|
||||
|
||||
Greek = { # Capital Greek letters: (upright in TeX style)
|
||||
'Phi':u'\u03a6', 'Xi':u'\u039e', 'Sigma':u'\u03a3',
|
||||
'Psi':u'\u03a8', 'Delta':u'\u0394', 'Theta':u'\u0398',
|
||||
'Upsilon':u'\u03d2', 'Pi':u'\u03a0', 'Omega':u'\u03a9',
|
||||
'Gamma':u'\u0393', 'Lambda':u'\u039b'}
|
||||
|
||||
letters = tex2unichar.mathalpha
|
||||
|
||||
special = tex2unichar.mathbin # Binary symbols
|
||||
special.update(tex2unichar.mathrel) # Relation symbols, arrow symbols
|
||||
special.update(tex2unichar.mathord) # Miscellaneous symbols
|
||||
special.update(tex2unichar.mathop) # Variable-sized symbols
|
||||
special.update(tex2unichar.mathopen) # Braces
|
||||
special.update(tex2unichar.mathclose) # Braces
|
||||
special.update(tex2unichar.mathfence)
|
||||
|
||||
sumintprod = ''.join([special[symbol] for symbol in
|
||||
['sum', 'int', 'oint', 'prod']])
|
||||
|
||||
functions = ['arccos', 'arcsin', 'arctan', 'arg', 'cos', 'cosh',
|
||||
'cot', 'coth', 'csc', 'deg', 'det', 'dim',
|
||||
'exp', 'gcd', 'hom', 'inf', 'ker', 'lg',
|
||||
'lim', 'liminf', 'limsup', 'ln', 'log', 'max',
|
||||
'min', 'Pr', 'sec', 'sin', 'sinh', 'sup',
|
||||
'tan', 'tanh',
|
||||
'injlim', 'varinjlim', 'varlimsup',
|
||||
'projlim', 'varliminf', 'varprojlim']
|
||||
|
||||
|
||||
mathbb = {
|
||||
'A': u'\U0001D538',
|
||||
'B': u'\U0001D539',
|
||||
'C': u'\u2102',
|
||||
'D': u'\U0001D53B',
|
||||
'E': u'\U0001D53C',
|
||||
'F': u'\U0001D53D',
|
||||
'G': u'\U0001D53E',
|
||||
'H': u'\u210D',
|
||||
'I': u'\U0001D540',
|
||||
'J': u'\U0001D541',
|
||||
'K': u'\U0001D542',
|
||||
'L': u'\U0001D543',
|
||||
'M': u'\U0001D544',
|
||||
'N': u'\u2115',
|
||||
'O': u'\U0001D546',
|
||||
'P': u'\u2119',
|
||||
'Q': u'\u211A',
|
||||
'R': u'\u211D',
|
||||
'S': u'\U0001D54A',
|
||||
'T': u'\U0001D54B',
|
||||
'U': u'\U0001D54C',
|
||||
'V': u'\U0001D54D',
|
||||
'W': u'\U0001D54E',
|
||||
'X': u'\U0001D54F',
|
||||
'Y': u'\U0001D550',
|
||||
'Z': u'\u2124',
|
||||
}
|
||||
|
||||
mathscr = {
|
||||
'A': u'\U0001D49C',
|
||||
'B': u'\u212C', # bernoulli function
|
||||
'C': u'\U0001D49E',
|
||||
'D': u'\U0001D49F',
|
||||
'E': u'\u2130',
|
||||
'F': u'\u2131',
|
||||
'G': u'\U0001D4A2',
|
||||
'H': u'\u210B', # hamiltonian
|
||||
'I': u'\u2110',
|
||||
'J': u'\U0001D4A5',
|
||||
'K': u'\U0001D4A6',
|
||||
'L': u'\u2112', # lagrangian
|
||||
'M': u'\u2133', # physics m-matrix
|
||||
'N': u'\U0001D4A9',
|
||||
'O': u'\U0001D4AA',
|
||||
'P': u'\U0001D4AB',
|
||||
'Q': u'\U0001D4AC',
|
||||
'R': u'\u211B',
|
||||
'S': u'\U0001D4AE',
|
||||
'T': u'\U0001D4AF',
|
||||
'U': u'\U0001D4B0',
|
||||
'V': u'\U0001D4B1',
|
||||
'W': u'\U0001D4B2',
|
||||
'X': u'\U0001D4B3',
|
||||
'Y': u'\U0001D4B4',
|
||||
'Z': u'\U0001D4B5',
|
||||
'a': u'\U0001D4B6',
|
||||
'b': u'\U0001D4B7',
|
||||
'c': u'\U0001D4B8',
|
||||
'd': u'\U0001D4B9',
|
||||
'e': u'\u212F',
|
||||
'f': u'\U0001D4BB',
|
||||
'g': u'\u210A',
|
||||
'h': u'\U0001D4BD',
|
||||
'i': u'\U0001D4BE',
|
||||
'j': u'\U0001D4BF',
|
||||
'k': u'\U0001D4C0',
|
||||
'l': u'\U0001D4C1',
|
||||
'm': u'\U0001D4C2',
|
||||
'n': u'\U0001D4C3',
|
||||
'o': u'\u2134', # order of
|
||||
'p': u'\U0001D4C5',
|
||||
'q': u'\U0001D4C6',
|
||||
'r': u'\U0001D4C7',
|
||||
's': u'\U0001D4C8',
|
||||
't': u'\U0001D4C9',
|
||||
'u': u'\U0001D4CA',
|
||||
'v': u'\U0001D4CB',
|
||||
'w': u'\U0001D4CC',
|
||||
'x': u'\U0001D4CD',
|
||||
'y': u'\U0001D4CE',
|
||||
'z': u'\U0001D4CF',
|
||||
}
|
||||
|
||||
negatables = {'=': u'\u2260',
|
||||
'\in': u'\u2209',
|
||||
'\equiv': u'\u2262'}
|
||||
|
||||
# LaTeX to MathML translation stuff:
|
||||
class math:
|
||||
"""Base class for MathML elements."""
|
||||
|
||||
nchildren = 1000000
|
||||
"""Required number of children"""
|
||||
|
||||
def __init__(self, children=None, inline=None):
|
||||
"""math([children]) -> MathML element
|
||||
|
||||
children can be one child or a list of children."""
|
||||
|
||||
self.children = []
|
||||
if children is not None:
|
||||
if type(children) is list:
|
||||
for child in children:
|
||||
self.append(child)
|
||||
else:
|
||||
# Only one child:
|
||||
self.append(children)
|
||||
|
||||
if inline is not None:
|
||||
self.inline = inline
|
||||
|
||||
def __repr__(self):
|
||||
if hasattr(self, 'children'):
|
||||
return self.__class__.__name__ + '(%s)' % \
|
||||
','.join([repr(child) for child in self.children])
|
||||
else:
|
||||
return self.__class__.__name__
|
||||
|
||||
def full(self):
|
||||
"""Room for more children?"""
|
||||
|
||||
return len(self.children) >= self.nchildren
|
||||
|
||||
def append(self, child):
|
||||
"""append(child) -> element
|
||||
|
||||
Appends child and returns self if self is not full or first
|
||||
non-full parent."""
|
||||
|
||||
assert not self.full()
|
||||
self.children.append(child)
|
||||
child.parent = self
|
||||
node = self
|
||||
while node.full():
|
||||
node = node.parent
|
||||
return node
|
||||
|
||||
def delete_child(self):
|
||||
"""delete_child() -> child
|
||||
|
||||
Delete last child and return it."""
|
||||
|
||||
child = self.children[-1]
|
||||
del self.children[-1]
|
||||
return child
|
||||
|
||||
def close(self):
|
||||
"""close() -> parent
|
||||
|
||||
Close element and return first non-full element."""
|
||||
|
||||
parent = self.parent
|
||||
while parent.full():
|
||||
parent = parent.parent
|
||||
return parent
|
||||
|
||||
def xml(self):
|
||||
"""xml() -> xml-string"""
|
||||
|
||||
return self.xml_start() + self.xml_body() + self.xml_end()
|
||||
|
||||
def xml_start(self):
|
||||
if not hasattr(self, 'inline'):
|
||||
return ['<%s>' % self.__class__.__name__]
|
||||
xmlns = 'http://www.w3.org/1998/Math/MathML'
|
||||
if self.inline:
|
||||
return ['<math xmlns="%s">' % xmlns]
|
||||
else:
|
||||
return ['<math xmlns="%s" mode="display">' % xmlns]
|
||||
|
||||
def xml_end(self):
|
||||
return ['</%s>' % self.__class__.__name__]
|
||||
|
||||
def xml_body(self):
|
||||
xml = []
|
||||
for child in self.children:
|
||||
xml.extend(child.xml())
|
||||
return xml
|
||||
|
||||
class mrow(math):
|
||||
def xml_start(self):
|
||||
return ['\n<%s>' % self.__class__.__name__]
|
||||
|
||||
class mtable(math):
|
||||
def xml_start(self):
|
||||
return ['\n<%s>' % self.__class__.__name__]
|
||||
|
||||
class mtr(mrow): pass
|
||||
class mtd(mrow): pass
|
||||
|
||||
class mx(math):
|
||||
"""Base class for mo, mi, and mn"""
|
||||
|
||||
nchildren = 0
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
|
||||
def xml_body(self):
|
||||
return [self.data]
|
||||
|
||||
class mo(mx):
|
||||
translation = {'<': '<', '>': '>'}
|
||||
def xml_body(self):
|
||||
return [self.translation.get(self.data, self.data)]
|
||||
|
||||
class mi(mx): pass
|
||||
class mn(mx): pass
|
||||
|
||||
class msub(math):
|
||||
nchildren = 2
|
||||
|
||||
class msup(math):
|
||||
nchildren = 2
|
||||
|
||||
class msqrt(math):
|
||||
nchildren = 1
|
||||
|
||||
class mroot(math):
|
||||
nchildren = 2
|
||||
|
||||
class mfrac(math):
|
||||
nchildren = 2
|
||||
|
||||
class msubsup(math):
|
||||
nchildren = 3
|
||||
def __init__(self, children=None, reversed=False):
|
||||
self.reversed = reversed
|
||||
math.__init__(self, children)
|
||||
|
||||
def xml(self):
|
||||
if self.reversed:
|
||||
## self.children[1:3] = self.children[2:0:-1]
|
||||
self.children[1:3] = [self.children[2], self.children[1]]
|
||||
self.reversed = False
|
||||
return math.xml(self)
|
||||
|
||||
class mfenced(math):
|
||||
translation = {'\\{': '{', '\\langle': u'\u2329',
|
||||
'\\}': '}', '\\rangle': u'\u232A',
|
||||
'.': ''}
|
||||
def __init__(self, par):
|
||||
self.openpar = par
|
||||
math.__init__(self)
|
||||
|
||||
def xml_start(self):
|
||||
open = self.translation.get(self.openpar, self.openpar)
|
||||
close = self.translation.get(self.closepar, self.closepar)
|
||||
return ['<mfenced open="%s" close="%s">' % (open, close)]
|
||||
|
||||
class mspace(math):
|
||||
nchildren = 0
|
||||
|
||||
class mstyle(math):
|
||||
def __init__(self, children=None, nchildren=None, **kwargs):
|
||||
if nchildren is not None:
|
||||
self.nchildren = nchildren
|
||||
math.__init__(self, children)
|
||||
self.attrs = kwargs
|
||||
|
||||
def xml_start(self):
|
||||
return ['<mstyle '] + ['%s="%s"' % item
|
||||
for item in self.attrs.items()] + ['>']
|
||||
|
||||
class mover(math):
|
||||
nchildren = 2
|
||||
def __init__(self, children=None, reversed=False):
|
||||
self.reversed = reversed
|
||||
math.__init__(self, children)
|
||||
|
||||
def xml(self):
|
||||
if self.reversed:
|
||||
self.children.reverse()
|
||||
self.reversed = False
|
||||
return math.xml(self)
|
||||
|
||||
class munder(math):
|
||||
nchildren = 2
|
||||
|
||||
class munderover(math):
|
||||
nchildren = 3
|
||||
def __init__(self, children=None):
|
||||
math.__init__(self, children)
|
||||
|
||||
class mtext(math):
|
||||
nchildren = 0
|
||||
def __init__(self, text):
|
||||
self.text = text
|
||||
|
||||
def xml_body(self):
|
||||
return [self.text]
|
||||
|
||||
def parse_latex_math(string, inline=True):
|
||||
"""parse_latex_math(string [,inline]) -> MathML-tree
|
||||
|
||||
Returns a MathML-tree parsed from string. inline=True is for
|
||||
inline math and inline=False is for displayed math.
|
||||
|
||||
tree is the whole tree and node is the current element."""
|
||||
|
||||
# Normalize white-space:
|
||||
string = ' '.join(string.split())
|
||||
|
||||
if inline:
|
||||
node = mrow()
|
||||
tree = math(node, inline=True)
|
||||
else:
|
||||
node = mtd()
|
||||
tree = math(mtable(mtr(node)), inline=False)
|
||||
|
||||
while len(string) > 0:
|
||||
n = len(string)
|
||||
c = string[0]
|
||||
skip = 1 # number of characters consumed
|
||||
if n > 1:
|
||||
c2 = string[1]
|
||||
else:
|
||||
c2 = ''
|
||||
## print n, string, c, c2, node.__class__.__name__
|
||||
if c == ' ':
|
||||
pass
|
||||
elif c == '\\':
|
||||
if c2 in '{}':
|
||||
node = node.append(mo(c2))
|
||||
skip = 2
|
||||
elif c2 == ' ':
|
||||
node = node.append(mspace())
|
||||
skip = 2
|
||||
elif c2 == ',': # TODO: small space
|
||||
node = node.append(mspace())
|
||||
skip = 2
|
||||
elif c2.isalpha():
|
||||
# We have a LaTeX-name:
|
||||
i = 2
|
||||
while i < n and string[i].isalpha():
|
||||
i += 1
|
||||
name = string[1:i]
|
||||
node, skip = handle_keyword(name, node, string[i:])
|
||||
skip += i
|
||||
elif c2 == '\\':
|
||||
# End of a row:
|
||||
entry = mtd()
|
||||
row = mtr(entry)
|
||||
node.close().close().append(row)
|
||||
node = entry
|
||||
skip = 2
|
||||
else:
|
||||
raise SyntaxError(ur'Syntax error: "%s%s"' % (c, c2))
|
||||
elif c.isalpha():
|
||||
node = node.append(mi(c))
|
||||
elif c.isdigit():
|
||||
node = node.append(mn(c))
|
||||
elif c in "+-*/=()[]|<>,.!?':;@":
|
||||
node = node.append(mo(c))
|
||||
elif c == '_':
|
||||
child = node.delete_child()
|
||||
if isinstance(child, msup):
|
||||
sub = msubsup(child.children, reversed=True)
|
||||
elif isinstance(child, mo) and child.data in sumintprod:
|
||||
sub = munder(child)
|
||||
else:
|
||||
sub = msub(child)
|
||||
node.append(sub)
|
||||
node = sub
|
||||
elif c == '^':
|
||||
child = node.delete_child()
|
||||
if isinstance(child, msub):
|
||||
sup = msubsup(child.children)
|
||||
elif isinstance(child, mo) and child.data in sumintprod:
|
||||
sup = mover(child)
|
||||
elif (isinstance(child, munder) and
|
||||
child.children[0].data in sumintprod):
|
||||
sup = munderover(child.children)
|
||||
else:
|
||||
sup = msup(child)
|
||||
node.append(sup)
|
||||
node = sup
|
||||
elif c == '{':
|
||||
row = mrow()
|
||||
node.append(row)
|
||||
node = row
|
||||
elif c == '}':
|
||||
node = node.close()
|
||||
elif c == '&':
|
||||
entry = mtd()
|
||||
node.close().append(entry)
|
||||
node = entry
|
||||
else:
|
||||
raise SyntaxError(ur'Illegal character: "%s"' % c)
|
||||
string = string[skip:]
|
||||
return tree
|
||||
|
||||
|
||||
def handle_keyword(name, node, string):
|
||||
skip = 0
|
||||
if len(string) > 0 and string[0] == ' ':
|
||||
string = string[1:]
|
||||
skip = 1
|
||||
if name == 'begin':
|
||||
if not string.startswith('{matrix}'):
|
||||
raise SyntaxError(u'Environment not supported! '
|
||||
u'Supported environment: "matrix".')
|
||||
skip += 8
|
||||
entry = mtd()
|
||||
table = mtable(mtr(entry))
|
||||
node.append(table)
|
||||
node = entry
|
||||
elif name == 'end':
|
||||
if not string.startswith('{matrix}'):
|
||||
raise SyntaxError(ur'Expected "\end{matrix}"!')
|
||||
skip += 8
|
||||
node = node.close().close().close()
|
||||
elif name in ('text', 'mathrm'):
|
||||
if string[0] != '{':
|
||||
raise SyntaxError(ur'Expected "\text{...}"!')
|
||||
i = string.find('}')
|
||||
if i == -1:
|
||||
raise SyntaxError(ur'Expected "\text{...}"!')
|
||||
node = node.append(mtext(string[1:i]))
|
||||
skip += i + 1
|
||||
elif name == 'sqrt':
|
||||
sqrt = msqrt()
|
||||
node.append(sqrt)
|
||||
node = sqrt
|
||||
elif name == 'frac':
|
||||
frac = mfrac()
|
||||
node.append(frac)
|
||||
node = frac
|
||||
elif name == 'left':
|
||||
for par in ['(', '[', '|', '\\{', '\\langle', '.']:
|
||||
if string.startswith(par):
|
||||
break
|
||||
else:
|
||||
raise SyntaxError(u'Missing left-brace!')
|
||||
fenced = mfenced(par)
|
||||
node.append(fenced)
|
||||
row = mrow()
|
||||
fenced.append(row)
|
||||
node = row
|
||||
skip += len(par)
|
||||
elif name == 'right':
|
||||
for par in [')', ']', '|', '\\}', '\\rangle', '.']:
|
||||
if string.startswith(par):
|
||||
break
|
||||
else:
|
||||
raise SyntaxError(u'Missing right-brace!')
|
||||
node = node.close()
|
||||
node.closepar = par
|
||||
node = node.close()
|
||||
skip += len(par)
|
||||
elif name == 'not':
|
||||
for operator in negatables:
|
||||
if string.startswith(operator):
|
||||
break
|
||||
else:
|
||||
raise SyntaxError(ur'Expected something to negate: "\not ..."!')
|
||||
node = node.append(mo(negatables[operator]))
|
||||
skip += len(operator)
|
||||
elif name == 'mathbf':
|
||||
style = mstyle(nchildren=1, fontweight='bold')
|
||||
node.append(style)
|
||||
node = style
|
||||
elif name == 'mathbb':
|
||||
if string[0] != '{' or not string[1].isupper() or string[2] != '}':
|
||||
raise SyntaxError(ur'Expected something like "\mathbb{A}"!')
|
||||
node = node.append(mi(mathbb[string[1]]))
|
||||
skip += 3
|
||||
elif name in ('mathscr', 'mathcal'):
|
||||
if string[0] != '{' or string[2] != '}':
|
||||
raise SyntaxError(ur'Expected something like "\mathscr{A}"!')
|
||||
node = node.append(mi(mathscr[string[1]]))
|
||||
skip += 3
|
||||
elif name == 'colon': # "normal" colon, not binary operator
|
||||
node = node.append(mo(':')) # TODO: add ``lspace="0pt"``
|
||||
elif name in Greek: # Greek capitals (upright in "TeX style")
|
||||
node = node.append(mo(Greek[name]))
|
||||
# TODO: "ISO style" sets them italic. Could we use a class argument
|
||||
# to enable styling via CSS?
|
||||
elif name in letters:
|
||||
node = node.append(mi(letters[name]))
|
||||
elif name in special:
|
||||
node = node.append(mo(special[name]))
|
||||
elif name in functions:
|
||||
node = node.append(mo(name))
|
||||
elif name in over:
|
||||
ovr = mover(mo(over[name]), reversed=True)
|
||||
node.append(ovr)
|
||||
node = ovr
|
||||
else:
|
||||
raise SyntaxError(u'Unknown LaTeX command: ' + name)
|
||||
|
||||
return node, skip
|
5254
docutils/math/math2html.py
Normal file
5254
docutils/math/math2html.py
Normal file
File diff suppressed because it is too large
Load diff
662
docutils/math/tex2unichar.py
Normal file
662
docutils/math/tex2unichar.py
Normal file
|
@ -0,0 +1,662 @@
|
|||
# -*- coding: utf8 -*-
|
||||
|
||||
# LaTeX math to Unicode symbols translation dictionaries.
|
||||
# Generated with ``write_tex2unichar.py`` from the data in
|
||||
# http://milde.users.sourceforge.net/LUCR/Math/
|
||||
|
||||
# Includes commands from: wasysym, stmaryrd, mathdots, mathabx, esint, bbold, amsxtra, amsmath, amssymb, standard LaTeX
|
||||
|
||||
mathaccent = {
|
||||
'acute': u'\u0301', # x́ COMBINING ACUTE ACCENT
|
||||
'bar': u'\u0304', # x̄ COMBINING MACRON
|
||||
'breve': u'\u0306', # x̆ COMBINING BREVE
|
||||
'check': u'\u030c', # x̌ COMBINING CARON
|
||||
'ddddot': u'\u20dc', # x⃜ COMBINING FOUR DOTS ABOVE
|
||||
'dddot': u'\u20db', # x⃛ COMBINING THREE DOTS ABOVE
|
||||
'ddot': u'\u0308', # ẍ COMBINING DIAERESIS
|
||||
'dot': u'\u0307', # ẋ COMBINING DOT ABOVE
|
||||
'grave': u'\u0300', # x̀ COMBINING GRAVE ACCENT
|
||||
'hat': u'\u0302', # x̂ COMBINING CIRCUMFLEX ACCENT
|
||||
'mathring': u'\u030a', # x̊ COMBINING RING ABOVE
|
||||
'not': u'\u0338', # x̸ COMBINING LONG SOLIDUS OVERLAY
|
||||
'overleftarrow': u'\u20d6', # x⃖ COMBINING LEFT ARROW ABOVE
|
||||
'overleftrightarrow': u'\u20e1', # x⃡ COMBINING LEFT RIGHT ARROW ABOVE
|
||||
'overline': u'\u0305', # x̅ COMBINING OVERLINE
|
||||
'overrightarrow': u'\u20d7', # x⃗ COMBINING RIGHT ARROW ABOVE
|
||||
'tilde': u'\u0303', # x̃ COMBINING TILDE
|
||||
'underbar': u'\u0331', # x̱ COMBINING MACRON BELOW
|
||||
'underleftarrow': u'\u20ee', # x⃮ COMBINING LEFT ARROW BELOW
|
||||
'underline': u'\u0332', # x̲ COMBINING LOW LINE
|
||||
'underrightarrow': u'\u20ef', # x⃯ COMBINING RIGHT ARROW BELOW
|
||||
'vec': u'\u20d7', # x⃗ COMBINING RIGHT ARROW ABOVE
|
||||
'widehat': u'\u0302', # x̂ COMBINING CIRCUMFLEX ACCENT
|
||||
'widetilde': u'\u0303', # x̃ COMBINING TILDE
|
||||
}
|
||||
mathalpha = {
|
||||
'Bbbk': u'\U0001d55c', # 𝕜 MATHEMATICAL DOUBLE-STRUCK SMALL K
|
||||
'Delta': u'\u0394', # Δ GREEK CAPITAL LETTER DELTA
|
||||
'Gamma': u'\u0393', # Γ GREEK CAPITAL LETTER GAMMA
|
||||
'Im': u'\u2111', # ℑ BLACK-LETTER CAPITAL I
|
||||
'Lambda': u'\u039b', # Λ GREEK CAPITAL LETTER LAMDA
|
||||
'Omega': u'\u03a9', # Ω GREEK CAPITAL LETTER OMEGA
|
||||
'Phi': u'\u03a6', # Φ GREEK CAPITAL LETTER PHI
|
||||
'Pi': u'\u03a0', # Π GREEK CAPITAL LETTER PI
|
||||
'Psi': u'\u03a8', # Ψ GREEK CAPITAL LETTER PSI
|
||||
'Re': u'\u211c', # ℜ BLACK-LETTER CAPITAL R
|
||||
'Sigma': u'\u03a3', # Σ GREEK CAPITAL LETTER SIGMA
|
||||
'Theta': u'\u0398', # Θ GREEK CAPITAL LETTER THETA
|
||||
'Upsilon': u'\u03a5', # Υ GREEK CAPITAL LETTER UPSILON
|
||||
'Xi': u'\u039e', # Ξ GREEK CAPITAL LETTER XI
|
||||
'aleph': u'\u2135', # ℵ ALEF SYMBOL
|
||||
'alpha': u'\u03b1', # α GREEK SMALL LETTER ALPHA
|
||||
'beta': u'\u03b2', # β GREEK SMALL LETTER BETA
|
||||
'beth': u'\u2136', # ℶ BET SYMBOL
|
||||
'chi': u'\u03c7', # χ GREEK SMALL LETTER CHI
|
||||
'daleth': u'\u2138', # ℸ DALET SYMBOL
|
||||
'delta': u'\u03b4', # δ GREEK SMALL LETTER DELTA
|
||||
'digamma': u'\u03dc', # Ϝ GREEK LETTER DIGAMMA
|
||||
'ell': u'\u2113', # ℓ SCRIPT SMALL L
|
||||
'epsilon': u'\u03f5', # ϵ GREEK LUNATE EPSILON SYMBOL
|
||||
'eta': u'\u03b7', # η GREEK SMALL LETTER ETA
|
||||
'eth': u'\xf0', # ð LATIN SMALL LETTER ETH
|
||||
'gamma': u'\u03b3', # γ GREEK SMALL LETTER GAMMA
|
||||
'gimel': u'\u2137', # ℷ GIMEL SYMBOL
|
||||
'hbar': u'\u210f', # ℏ PLANCK CONSTANT OVER TWO PI
|
||||
'hslash': u'\u210f', # ℏ PLANCK CONSTANT OVER TWO PI
|
||||
'imath': u'\u0131', # ı LATIN SMALL LETTER DOTLESS I
|
||||
'iota': u'\u03b9', # ι GREEK SMALL LETTER IOTA
|
||||
'jmath': u'\u0237', # ȷ LATIN SMALL LETTER DOTLESS J
|
||||
'kappa': u'\u03ba', # κ GREEK SMALL LETTER KAPPA
|
||||
'lambda': u'\u03bb', # λ GREEK SMALL LETTER LAMDA
|
||||
'mu': u'\u03bc', # μ GREEK SMALL LETTER MU
|
||||
'nu': u'\u03bd', # ν GREEK SMALL LETTER NU
|
||||
'omega': u'\u03c9', # ω GREEK SMALL LETTER OMEGA
|
||||
'phi': u'\u03d5', # ϕ GREEK PHI SYMBOL
|
||||
'pi': u'\u03c0', # π GREEK SMALL LETTER PI
|
||||
'psi': u'\u03c8', # ψ GREEK SMALL LETTER PSI
|
||||
'rho': u'\u03c1', # ρ GREEK SMALL LETTER RHO
|
||||
'sigma': u'\u03c3', # σ GREEK SMALL LETTER SIGMA
|
||||
'tau': u'\u03c4', # τ GREEK SMALL LETTER TAU
|
||||
'theta': u'\u03b8', # θ GREEK SMALL LETTER THETA
|
||||
'upsilon': u'\u03c5', # υ GREEK SMALL LETTER UPSILON
|
||||
'varDelta': u'\U0001d6e5', # 𝛥 MATHEMATICAL ITALIC CAPITAL DELTA
|
||||
'varGamma': u'\U0001d6e4', # 𝛤 MATHEMATICAL ITALIC CAPITAL GAMMA
|
||||
'varLambda': u'\U0001d6ec', # 𝛬 MATHEMATICAL ITALIC CAPITAL LAMDA
|
||||
'varOmega': u'\U0001d6fa', # 𝛺 MATHEMATICAL ITALIC CAPITAL OMEGA
|
||||
'varPhi': u'\U0001d6f7', # 𝛷 MATHEMATICAL ITALIC CAPITAL PHI
|
||||
'varPi': u'\U0001d6f1', # 𝛱 MATHEMATICAL ITALIC CAPITAL PI
|
||||
'varPsi': u'\U0001d6f9', # 𝛹 MATHEMATICAL ITALIC CAPITAL PSI
|
||||
'varSigma': u'\U0001d6f4', # 𝛴 MATHEMATICAL ITALIC CAPITAL SIGMA
|
||||
'varTheta': u'\U0001d6e9', # 𝛩 MATHEMATICAL ITALIC CAPITAL THETA
|
||||
'varUpsilon': u'\U0001d6f6', # 𝛶 MATHEMATICAL ITALIC CAPITAL UPSILON
|
||||
'varXi': u'\U0001d6ef', # 𝛯 MATHEMATICAL ITALIC CAPITAL XI
|
||||
'varepsilon': u'\u03b5', # ε GREEK SMALL LETTER EPSILON
|
||||
'varkappa': u'\U0001d718', # 𝜘 MATHEMATICAL ITALIC KAPPA SYMBOL
|
||||
'varphi': u'\u03c6', # φ GREEK SMALL LETTER PHI
|
||||
'varpi': u'\u03d6', # ϖ GREEK PI SYMBOL
|
||||
'varrho': u'\u03f1', # ϱ GREEK RHO SYMBOL
|
||||
'varsigma': u'\u03c2', # ς GREEK SMALL LETTER FINAL SIGMA
|
||||
'vartheta': u'\u03d1', # ϑ GREEK THETA SYMBOL
|
||||
'wp': u'\u2118', # ℘ SCRIPT CAPITAL P
|
||||
'xi': u'\u03be', # ξ GREEK SMALL LETTER XI
|
||||
'zeta': u'\u03b6', # ζ GREEK SMALL LETTER ZETA
|
||||
}
|
||||
mathbin = {
|
||||
'Cap': u'\u22d2', # ⋒ DOUBLE INTERSECTION
|
||||
'Circle': u'\u25cb', # ○ WHITE CIRCLE
|
||||
'Cup': u'\u22d3', # ⋓ DOUBLE UNION
|
||||
'LHD': u'\u25c0', # ◀ BLACK LEFT-POINTING TRIANGLE
|
||||
'RHD': u'\u25b6', # ▶ BLACK RIGHT-POINTING TRIANGLE
|
||||
'amalg': u'\u2a3f', # ⨿ AMALGAMATION OR COPRODUCT
|
||||
'ast': u'\u2217', # ∗ ASTERISK OPERATOR
|
||||
'barwedge': u'\u22bc', # ⊼ NAND
|
||||
'bigtriangledown': u'\u25bd', # ▽ WHITE DOWN-POINTING TRIANGLE
|
||||
'bigtriangleup': u'\u25b3', # △ WHITE UP-POINTING TRIANGLE
|
||||
'bindnasrepma': u'\u214b', # ⅋ TURNED AMPERSAND
|
||||
'blacklozenge': u'\u29eb', # ⧫ BLACK LOZENGE
|
||||
'blacktriangledown': u'\u25be', # ▾ BLACK DOWN-POINTING SMALL TRIANGLE
|
||||
'blacktriangleleft': u'\u25c2', # ◂ BLACK LEFT-POINTING SMALL TRIANGLE
|
||||
'blacktriangleright': u'\u25b8', # ▸ BLACK RIGHT-POINTING SMALL TRIANGLE
|
||||
'blacktriangleup': u'\u25b4', # ▴ BLACK UP-POINTING SMALL TRIANGLE
|
||||
'boxast': u'\u29c6', # ⧆ SQUARED ASTERISK
|
||||
'boxbar': u'\u25eb', # ◫ WHITE SQUARE WITH VERTICAL BISECTING LINE
|
||||
'boxbox': u'\u29c8', # ⧈ SQUARED SQUARE
|
||||
'boxbslash': u'\u29c5', # ⧅ SQUARED FALLING DIAGONAL SLASH
|
||||
'boxcircle': u'\u29c7', # ⧇ SQUARED SMALL CIRCLE
|
||||
'boxdot': u'\u22a1', # ⊡ SQUARED DOT OPERATOR
|
||||
'boxminus': u'\u229f', # ⊟ SQUARED MINUS
|
||||
'boxplus': u'\u229e', # ⊞ SQUARED PLUS
|
||||
'boxslash': u'\u29c4', # ⧄ SQUARED RISING DIAGONAL SLASH
|
||||
'boxtimes': u'\u22a0', # ⊠ SQUARED TIMES
|
||||
'bullet': u'\u2219', # ∙ BULLET OPERATOR
|
||||
'cap': u'\u2229', # ∩ INTERSECTION
|
||||
'cdot': u'\u22c5', # ⋅ DOT OPERATOR
|
||||
'circ': u'\u2218', # ∘ RING OPERATOR
|
||||
'circledast': u'\u229b', # ⊛ CIRCLED ASTERISK OPERATOR
|
||||
'circledcirc': u'\u229a', # ⊚ CIRCLED RING OPERATOR
|
||||
'circleddash': u'\u229d', # ⊝ CIRCLED DASH
|
||||
'cup': u'\u222a', # ∪ UNION
|
||||
'curlyvee': u'\u22ce', # ⋎ CURLY LOGICAL OR
|
||||
'curlywedge': u'\u22cf', # ⋏ CURLY LOGICAL AND
|
||||
'dagger': u'\u2020', # † DAGGER
|
||||
'ddagger': u'\u2021', # ‡ DOUBLE DAGGER
|
||||
'diamond': u'\u22c4', # ⋄ DIAMOND OPERATOR
|
||||
'div': u'\xf7', # ÷ DIVISION SIGN
|
||||
'divideontimes': u'\u22c7', # ⋇ DIVISION TIMES
|
||||
'dotplus': u'\u2214', # ∔ DOT PLUS
|
||||
'doublebarwedge': u'\u2a5e', # ⩞ LOGICAL AND WITH DOUBLE OVERBAR
|
||||
'intercal': u'\u22ba', # ⊺ INTERCALATE
|
||||
'interleave': u'\u2af4', # ⫴ TRIPLE VERTICAL BAR BINARY RELATION
|
||||
'land': u'\u2227', # ∧ LOGICAL AND
|
||||
'leftthreetimes': u'\u22cb', # ⋋ LEFT SEMIDIRECT PRODUCT
|
||||
'lhd': u'\u25c1', # ◁ WHITE LEFT-POINTING TRIANGLE
|
||||
'lor': u'\u2228', # ∨ LOGICAL OR
|
||||
'ltimes': u'\u22c9', # ⋉ LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
|
||||
'mp': u'\u2213', # ∓ MINUS-OR-PLUS SIGN
|
||||
'odot': u'\u2299', # ⊙ CIRCLED DOT OPERATOR
|
||||
'ominus': u'\u2296', # ⊖ CIRCLED MINUS
|
||||
'oplus': u'\u2295', # ⊕ CIRCLED PLUS
|
||||
'oslash': u'\u2298', # ⊘ CIRCLED DIVISION SLASH
|
||||
'otimes': u'\u2297', # ⊗ CIRCLED TIMES
|
||||
'pm': u'\xb1', # ± PLUS-MINUS SIGN
|
||||
'rhd': u'\u25b7', # ▷ WHITE RIGHT-POINTING TRIANGLE
|
||||
'rightthreetimes': u'\u22cc', # ⋌ RIGHT SEMIDIRECT PRODUCT
|
||||
'rtimes': u'\u22ca', # ⋊ RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
|
||||
'setminus': u'\u29f5', # ⧵ REVERSE SOLIDUS OPERATOR
|
||||
'slash': u'\u2215', # ∕ DIVISION SLASH
|
||||
'smallsetminus': u'\u2216', # ∖ SET MINUS
|
||||
'smalltriangledown': u'\u25bf', # ▿ WHITE DOWN-POINTING SMALL TRIANGLE
|
||||
'smalltriangleleft': u'\u25c3', # ◃ WHITE LEFT-POINTING SMALL TRIANGLE
|
||||
'smalltriangleright': u'\u25b9', # ▹ WHITE RIGHT-POINTING SMALL TRIANGLE
|
||||
'smalltriangleup': u'\u25b5', # ▵ WHITE UP-POINTING SMALL TRIANGLE
|
||||
'sqcap': u'\u2293', # ⊓ SQUARE CAP
|
||||
'sqcup': u'\u2294', # ⊔ SQUARE CUP
|
||||
'sslash': u'\u2afd', # ⫽ DOUBLE SOLIDUS OPERATOR
|
||||
'star': u'\u22c6', # ⋆ STAR OPERATOR
|
||||
'talloblong': u'\u2afe', # ⫾ WHITE VERTICAL BAR
|
||||
'times': u'\xd7', # × MULTIPLICATION SIGN
|
||||
'triangle': u'\u25b3', # △ WHITE UP-POINTING TRIANGLE
|
||||
'triangledown': u'\u25bf', # ▿ WHITE DOWN-POINTING SMALL TRIANGLE
|
||||
'triangleleft': u'\u25c3', # ◃ WHITE LEFT-POINTING SMALL TRIANGLE
|
||||
'triangleright': u'\u25b9', # ▹ WHITE RIGHT-POINTING SMALL TRIANGLE
|
||||
'uplus': u'\u228e', # ⊎ MULTISET UNION
|
||||
'vartriangle': u'\u25b3', # △ WHITE UP-POINTING TRIANGLE
|
||||
'vee': u'\u2228', # ∨ LOGICAL OR
|
||||
'veebar': u'\u22bb', # ⊻ XOR
|
||||
'wedge': u'\u2227', # ∧ LOGICAL AND
|
||||
'wr': u'\u2240', # ≀ WREATH PRODUCT
|
||||
}
|
||||
mathclose = {
|
||||
'Rbag': u'\u27c6', # ⟆ RIGHT S-SHAPED BAG DELIMITER
|
||||
'lrcorner': u'\u231f', # ⌟ BOTTOM RIGHT CORNER
|
||||
'rangle': u'\u27e9', # ⟩ MATHEMATICAL RIGHT ANGLE BRACKET
|
||||
'rbag': u'\u27c6', # ⟆ RIGHT S-SHAPED BAG DELIMITER
|
||||
'rbrace': u'}', # } RIGHT CURLY BRACKET
|
||||
'rbrack': u']', # ] RIGHT SQUARE BRACKET
|
||||
'rceil': u'\u2309', # ⌉ RIGHT CEILING
|
||||
'rfloor': u'\u230b', # ⌋ RIGHT FLOOR
|
||||
'rgroup': u'\u27ef', # ⟯ MATHEMATICAL RIGHT FLATTENED PARENTHESIS
|
||||
'rrbracket': u'\u27e7', # ⟧ MATHEMATICAL RIGHT WHITE SQUARE BRACKET
|
||||
'rrparenthesis': u'\u2988', # ⦈ Z NOTATION RIGHT IMAGE BRACKET
|
||||
'urcorner': u'\u231d', # ⌝ TOP RIGHT CORNER
|
||||
'}': u'}', # } RIGHT CURLY BRACKET
|
||||
}
|
||||
mathfence = {
|
||||
'Vert': u'\u2016', # ‖ DOUBLE VERTICAL LINE
|
||||
'vert': u'|', # | VERTICAL LINE
|
||||
'|': u'\u2016', # ‖ DOUBLE VERTICAL LINE
|
||||
}
|
||||
mathop = {
|
||||
'Join': u'\u2a1d', # ⨝ JOIN
|
||||
'bigcap': u'\u22c2', # ⋂ N-ARY INTERSECTION
|
||||
'bigcup': u'\u22c3', # ⋃ N-ARY UNION
|
||||
'biginterleave': u'\u2afc', # ⫼ LARGE TRIPLE VERTICAL BAR OPERATOR
|
||||
'bigodot': u'\u2a00', # ⨀ N-ARY CIRCLED DOT OPERATOR
|
||||
'bigoplus': u'\u2a01', # ⨁ N-ARY CIRCLED PLUS OPERATOR
|
||||
'bigotimes': u'\u2a02', # ⨂ N-ARY CIRCLED TIMES OPERATOR
|
||||
'bigsqcup': u'\u2a06', # ⨆ N-ARY SQUARE UNION OPERATOR
|
||||
'biguplus': u'\u2a04', # ⨄ N-ARY UNION OPERATOR WITH PLUS
|
||||
'bigvee': u'\u22c1', # ⋁ N-ARY LOGICAL OR
|
||||
'bigwedge': u'\u22c0', # ⋀ N-ARY LOGICAL AND
|
||||
'coprod': u'\u2210', # ∐ N-ARY COPRODUCT
|
||||
'fatsemi': u'\u2a1f', # ⨟ Z NOTATION SCHEMA COMPOSITION
|
||||
'fint': u'\u2a0f', # ⨏ INTEGRAL AVERAGE WITH SLASH
|
||||
'iiiint': u'\u2a0c', # ⨌ QUADRUPLE INTEGRAL OPERATOR
|
||||
'iiint': u'\u222d', # ∭ TRIPLE INTEGRAL
|
||||
'iint': u'\u222c', # ∬ DOUBLE INTEGRAL
|
||||
'int': u'\u222b', # ∫ INTEGRAL
|
||||
'oiint': u'\u222f', # ∯ SURFACE INTEGRAL
|
||||
'oint': u'\u222e', # ∮ CONTOUR INTEGRAL
|
||||
'ointctrclockwise': u'\u2233', # ∳ ANTICLOCKWISE CONTOUR INTEGRAL
|
||||
'prod': u'\u220f', # ∏ N-ARY PRODUCT
|
||||
'sqint': u'\u2a16', # ⨖ QUATERNION INTEGRAL OPERATOR
|
||||
'sum': u'\u2211', # ∑ N-ARY SUMMATION
|
||||
'varointclockwise': u'\u2232', # ∲ CLOCKWISE CONTOUR INTEGRAL
|
||||
}
|
||||
mathopen = {
|
||||
'Lbag': u'\u27c5', # ⟅ LEFT S-SHAPED BAG DELIMITER
|
||||
'langle': u'\u27e8', # ⟨ MATHEMATICAL LEFT ANGLE BRACKET
|
||||
'lbag': u'\u27c5', # ⟅ LEFT S-SHAPED BAG DELIMITER
|
||||
'lbrace': u'{', # { LEFT CURLY BRACKET
|
||||
'lbrack': u'[', # [ LEFT SQUARE BRACKET
|
||||
'lceil': u'\u2308', # ⌈ LEFT CEILING
|
||||
'lfloor': u'\u230a', # ⌊ LEFT FLOOR
|
||||
'lgroup': u'\u27ee', # ⟮ MATHEMATICAL LEFT FLATTENED PARENTHESIS
|
||||
'llbracket': u'\u27e6', # ⟦ MATHEMATICAL LEFT WHITE SQUARE BRACKET
|
||||
'llcorner': u'\u231e', # ⌞ BOTTOM LEFT CORNER
|
||||
'llparenthesis': u'\u2987', # ⦇ Z NOTATION LEFT IMAGE BRACKET
|
||||
'ulcorner': u'\u231c', # ⌜ TOP LEFT CORNER
|
||||
'{': u'{', # { LEFT CURLY BRACKET
|
||||
}
|
||||
mathord = {
|
||||
'#': u'#', # # NUMBER SIGN
|
||||
'$': u'$', # $ DOLLAR SIGN
|
||||
'%': u'%', # % PERCENT SIGN
|
||||
'&': u'&', # & AMPERSAND
|
||||
'AC': u'\u223f', # ∿ SINE WAVE
|
||||
'APLcomment': u'\u235d', # ⍝ APL FUNCTIONAL SYMBOL UP SHOE JOT
|
||||
'APLdownarrowbox': u'\u2357', # ⍗ APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
|
||||
'APLinput': u'\u235e', # ⍞ APL FUNCTIONAL SYMBOL QUOTE QUAD
|
||||
'APLinv': u'\u2339', # ⌹ APL FUNCTIONAL SYMBOL QUAD DIVIDE
|
||||
'APLleftarrowbox': u'\u2347', # ⍇ APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
|
||||
'APLlog': u'\u235f', # ⍟ APL FUNCTIONAL SYMBOL CIRCLE STAR
|
||||
'APLrightarrowbox': u'\u2348', # ⍈ APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
|
||||
'APLuparrowbox': u'\u2350', # ⍐ APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
|
||||
'Aries': u'\u2648', # ♈ ARIES
|
||||
'CIRCLE': u'\u25cf', # ● BLACK CIRCLE
|
||||
'CheckedBox': u'\u2611', # ☑ BALLOT BOX WITH CHECK
|
||||
'Diamond': u'\u25c7', # ◇ WHITE DIAMOND
|
||||
'Finv': u'\u2132', # Ⅎ TURNED CAPITAL F
|
||||
'Game': u'\u2141', # ⅁ TURNED SANS-SERIF CAPITAL G
|
||||
'Gemini': u'\u264a', # ♊ GEMINI
|
||||
'Jupiter': u'\u2643', # ♃ JUPITER
|
||||
'LEFTCIRCLE': u'\u25d6', # ◖ LEFT HALF BLACK CIRCLE
|
||||
'LEFTcircle': u'\u25d0', # ◐ CIRCLE WITH LEFT HALF BLACK
|
||||
'Leo': u'\u264c', # ♌ LEO
|
||||
'Libra': u'\u264e', # ♎ LIBRA
|
||||
'Mars': u'\u2642', # ♂ MALE SIGN
|
||||
'Mercury': u'\u263f', # ☿ MERCURY
|
||||
'Neptune': u'\u2646', # ♆ NEPTUNE
|
||||
'Pluto': u'\u2647', # ♇ PLUTO
|
||||
'RIGHTCIRCLE': u'\u25d7', # ◗ RIGHT HALF BLACK CIRCLE
|
||||
'RIGHTcircle': u'\u25d1', # ◑ CIRCLE WITH RIGHT HALF BLACK
|
||||
'Saturn': u'\u2644', # ♄ SATURN
|
||||
'Scorpio': u'\u264f', # ♏ SCORPIUS
|
||||
'Square': u'\u2610', # ☐ BALLOT BOX
|
||||
'Sun': u'\u2609', # ☉ SUN
|
||||
'Taurus': u'\u2649', # ♉ TAURUS
|
||||
'Uranus': u'\u2645', # ♅ URANUS
|
||||
'Venus': u'\u2640', # ♀ FEMALE SIGN
|
||||
'XBox': u'\u2612', # ☒ BALLOT BOX WITH X
|
||||
'Yup': u'\u2144', # ⅄ TURNED SANS-SERIF CAPITAL Y
|
||||
'_': u'_', # _ LOW LINE
|
||||
'angle': u'\u2220', # ∠ ANGLE
|
||||
'aquarius': u'\u2652', # ♒ AQUARIUS
|
||||
'aries': u'\u2648', # ♈ ARIES
|
||||
'ast': u'*', # * ASTERISK
|
||||
'backepsilon': u'\u03f6', # ϶ GREEK REVERSED LUNATE EPSILON SYMBOL
|
||||
'backprime': u'\u2035', # ‵ REVERSED PRIME
|
||||
'backslash': u'\\', # \ REVERSE SOLIDUS
|
||||
'because': u'\u2235', # ∵ BECAUSE
|
||||
'bigstar': u'\u2605', # ★ BLACK STAR
|
||||
'binampersand': u'&', # & AMPERSAND
|
||||
'blacklozenge': u'\u2b27', # ⬧ BLACK MEDIUM LOZENGE
|
||||
'blacksmiley': u'\u263b', # ☻ BLACK SMILING FACE
|
||||
'blacksquare': u'\u25fc', # ◼ BLACK MEDIUM SQUARE
|
||||
'bot': u'\u22a5', # ⊥ UP TACK
|
||||
'boy': u'\u2642', # ♂ MALE SIGN
|
||||
'cancer': u'\u264b', # ♋ CANCER
|
||||
'capricornus': u'\u2651', # ♑ CAPRICORN
|
||||
'cdots': u'\u22ef', # ⋯ MIDLINE HORIZONTAL ELLIPSIS
|
||||
'cent': u'\xa2', # ¢ CENT SIGN
|
||||
'centerdot': u'\u2b1d', # ⬝ BLACK VERY SMALL SQUARE
|
||||
'checkmark': u'\u2713', # ✓ CHECK MARK
|
||||
'circlearrowleft': u'\u21ba', # ↺ ANTICLOCKWISE OPEN CIRCLE ARROW
|
||||
'circlearrowright': u'\u21bb', # ↻ CLOCKWISE OPEN CIRCLE ARROW
|
||||
'circledR': u'\xae', # ® REGISTERED SIGN
|
||||
'circledcirc': u'\u25ce', # ◎ BULLSEYE
|
||||
'clubsuit': u'\u2663', # ♣ BLACK CLUB SUIT
|
||||
'complement': u'\u2201', # ∁ COMPLEMENT
|
||||
'dasharrow': u'\u21e2', # ⇢ RIGHTWARDS DASHED ARROW
|
||||
'dashleftarrow': u'\u21e0', # ⇠ LEFTWARDS DASHED ARROW
|
||||
'dashrightarrow': u'\u21e2', # ⇢ RIGHTWARDS DASHED ARROW
|
||||
'diameter': u'\u2300', # ⌀ DIAMETER SIGN
|
||||
'diamondsuit': u'\u2662', # ♢ WHITE DIAMOND SUIT
|
||||
'earth': u'\u2641', # ♁ EARTH
|
||||
'exists': u'\u2203', # ∃ THERE EXISTS
|
||||
'female': u'\u2640', # ♀ FEMALE SIGN
|
||||
'flat': u'\u266d', # ♭ MUSIC FLAT SIGN
|
||||
'forall': u'\u2200', # ∀ FOR ALL
|
||||
'fourth': u'\u2057', # ⁗ QUADRUPLE PRIME
|
||||
'frownie': u'\u2639', # ☹ WHITE FROWNING FACE
|
||||
'gemini': u'\u264a', # ♊ GEMINI
|
||||
'girl': u'\u2640', # ♀ FEMALE SIGN
|
||||
'heartsuit': u'\u2661', # ♡ WHITE HEART SUIT
|
||||
'infty': u'\u221e', # ∞ INFINITY
|
||||
'invneg': u'\u2310', # ⌐ REVERSED NOT SIGN
|
||||
'jupiter': u'\u2643', # ♃ JUPITER
|
||||
'ldots': u'\u2026', # … HORIZONTAL ELLIPSIS
|
||||
'leftmoon': u'\u263e', # ☾ LAST QUARTER MOON
|
||||
'leftturn': u'\u21ba', # ↺ ANTICLOCKWISE OPEN CIRCLE ARROW
|
||||
'leo': u'\u264c', # ♌ LEO
|
||||
'libra': u'\u264e', # ♎ LIBRA
|
||||
'lnot': u'\xac', # ¬ NOT SIGN
|
||||
'lozenge': u'\u25ca', # ◊ LOZENGE
|
||||
'male': u'\u2642', # ♂ MALE SIGN
|
||||
'maltese': u'\u2720', # ✠ MALTESE CROSS
|
||||
'mathdollar': u'$', # $ DOLLAR SIGN
|
||||
'measuredangle': u'\u2221', # ∡ MEASURED ANGLE
|
||||
'mercury': u'\u263f', # ☿ MERCURY
|
||||
'mho': u'\u2127', # ℧ INVERTED OHM SIGN
|
||||
'nabla': u'\u2207', # ∇ NABLA
|
||||
'natural': u'\u266e', # ♮ MUSIC NATURAL SIGN
|
||||
'neg': u'\xac', # ¬ NOT SIGN
|
||||
'neptune': u'\u2646', # ♆ NEPTUNE
|
||||
'nexists': u'\u2204', # ∄ THERE DOES NOT EXIST
|
||||
'notbackslash': u'\u2340', # ⍀ APL FUNCTIONAL SYMBOL BACKSLASH BAR
|
||||
'partial': u'\u2202', # ∂ PARTIAL DIFFERENTIAL
|
||||
'pisces': u'\u2653', # ♓ PISCES
|
||||
'pluto': u'\u2647', # ♇ PLUTO
|
||||
'pounds': u'\xa3', # £ POUND SIGN
|
||||
'prime': u'\u2032', # ′ PRIME
|
||||
'quarternote': u'\u2669', # ♩ QUARTER NOTE
|
||||
'rightmoon': u'\u263d', # ☽ FIRST QUARTER MOON
|
||||
'rightturn': u'\u21bb', # ↻ CLOCKWISE OPEN CIRCLE ARROW
|
||||
'sagittarius': u'\u2650', # ♐ SAGITTARIUS
|
||||
'saturn': u'\u2644', # ♄ SATURN
|
||||
'scorpio': u'\u264f', # ♏ SCORPIUS
|
||||
'second': u'\u2033', # ″ DOUBLE PRIME
|
||||
'sharp': u'\u266f', # ♯ MUSIC SHARP SIGN
|
||||
'sim': u'~', # ~ TILDE
|
||||
'slash': u'/', # / SOLIDUS
|
||||
'smiley': u'\u263a', # ☺ WHITE SMILING FACE
|
||||
'spadesuit': u'\u2660', # ♠ BLACK SPADE SUIT
|
||||
'spddot': u'\xa8', # ¨ DIAERESIS
|
||||
'sphat': u'^', # ^ CIRCUMFLEX ACCENT
|
||||
'sphericalangle': u'\u2222', # ∢ SPHERICAL ANGLE
|
||||
'sptilde': u'~', # ~ TILDE
|
||||
'square': u'\u25fb', # ◻ WHITE MEDIUM SQUARE
|
||||
'sun': u'\u263c', # ☼ WHITE SUN WITH RAYS
|
||||
'taurus': u'\u2649', # ♉ TAURUS
|
||||
'therefore': u'\u2234', # ∴ THEREFORE
|
||||
'third': u'\u2034', # ‴ TRIPLE PRIME
|
||||
'top': u'\u22a4', # ⊤ DOWN TACK
|
||||
'triangleleft': u'\u25c5', # ◅ WHITE LEFT-POINTING POINTER
|
||||
'triangleright': u'\u25bb', # ▻ WHITE RIGHT-POINTING POINTER
|
||||
'twonotes': u'\u266b', # ♫ BEAMED EIGHTH NOTES
|
||||
'uranus': u'\u2645', # ♅ URANUS
|
||||
'varEarth': u'\u2641', # ♁ EARTH
|
||||
'varnothing': u'\u2205', # ∅ EMPTY SET
|
||||
'virgo': u'\u264d', # ♍ VIRGO
|
||||
'wasylozenge': u'\u2311', # ⌑ SQUARE LOZENGE
|
||||
'wasytherefore': u'\u2234', # ∴ THEREFORE
|
||||
'yen': u'\xa5', # ¥ YEN SIGN
|
||||
}
|
||||
mathover = {
|
||||
'overbrace': u'\u23de', # ⏞ TOP CURLY BRACKET
|
||||
'wideparen': u'\u23dc', # ⏜ TOP PARENTHESIS
|
||||
}
|
||||
mathradical = {
|
||||
'sqrt': u'\u221a', # √ SQUARE ROOT
|
||||
'sqrt[3]': u'\u221b', # ∛ CUBE ROOT
|
||||
'sqrt[4]': u'\u221c', # ∜ FOURTH ROOT
|
||||
}
|
||||
mathrel = {
|
||||
'Bumpeq': u'\u224e', # ≎ GEOMETRICALLY EQUIVALENT TO
|
||||
'Doteq': u'\u2251', # ≑ GEOMETRICALLY EQUAL TO
|
||||
'Downarrow': u'\u21d3', # ⇓ DOWNWARDS DOUBLE ARROW
|
||||
'Leftarrow': u'\u21d0', # ⇐ LEFTWARDS DOUBLE ARROW
|
||||
'Leftrightarrow': u'\u21d4', # ⇔ LEFT RIGHT DOUBLE ARROW
|
||||
'Lleftarrow': u'\u21da', # ⇚ LEFTWARDS TRIPLE ARROW
|
||||
'Longleftarrow': u'\u27f8', # ⟸ LONG LEFTWARDS DOUBLE ARROW
|
||||
'Longleftrightarrow': u'\u27fa', # ⟺ LONG LEFT RIGHT DOUBLE ARROW
|
||||
'Longmapsfrom': u'\u27fd', # ⟽ LONG LEFTWARDS DOUBLE ARROW FROM BAR
|
||||
'Longmapsto': u'\u27fe', # ⟾ LONG RIGHTWARDS DOUBLE ARROW FROM BAR
|
||||
'Longrightarrow': u'\u27f9', # ⟹ LONG RIGHTWARDS DOUBLE ARROW
|
||||
'Lsh': u'\u21b0', # ↰ UPWARDS ARROW WITH TIP LEFTWARDS
|
||||
'Mapsfrom': u'\u2906', # ⤆ LEFTWARDS DOUBLE ARROW FROM BAR
|
||||
'Mapsto': u'\u2907', # ⤇ RIGHTWARDS DOUBLE ARROW FROM BAR
|
||||
'Rightarrow': u'\u21d2', # ⇒ RIGHTWARDS DOUBLE ARROW
|
||||
'Rrightarrow': u'\u21db', # ⇛ RIGHTWARDS TRIPLE ARROW
|
||||
'Rsh': u'\u21b1', # ↱ UPWARDS ARROW WITH TIP RIGHTWARDS
|
||||
'Subset': u'\u22d0', # ⋐ DOUBLE SUBSET
|
||||
'Supset': u'\u22d1', # ⋑ DOUBLE SUPERSET
|
||||
'Uparrow': u'\u21d1', # ⇑ UPWARDS DOUBLE ARROW
|
||||
'Updownarrow': u'\u21d5', # ⇕ UP DOWN DOUBLE ARROW
|
||||
'VDash': u'\u22ab', # ⊫ DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
|
||||
'Vdash': u'\u22a9', # ⊩ FORCES
|
||||
'Vvdash': u'\u22aa', # ⊪ TRIPLE VERTICAL BAR RIGHT TURNSTILE
|
||||
'apprge': u'\u2273', # ≳ GREATER-THAN OR EQUIVALENT TO
|
||||
'apprle': u'\u2272', # ≲ LESS-THAN OR EQUIVALENT TO
|
||||
'approx': u'\u2248', # ≈ ALMOST EQUAL TO
|
||||
'approxeq': u'\u224a', # ≊ ALMOST EQUAL OR EQUAL TO
|
||||
'asymp': u'\u224d', # ≍ EQUIVALENT TO
|
||||
'backsim': u'\u223d', # ∽ REVERSED TILDE
|
||||
'backsimeq': u'\u22cd', # ⋍ REVERSED TILDE EQUALS
|
||||
'barin': u'\u22f6', # ⋶ ELEMENT OF WITH OVERBAR
|
||||
'barleftharpoon': u'\u296b', # ⥫ LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
|
||||
'barrightharpoon': u'\u296d', # ⥭ RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
|
||||
'between': u'\u226c', # ≬ BETWEEN
|
||||
'bowtie': u'\u22c8', # ⋈ BOWTIE
|
||||
'bumpeq': u'\u224f', # ≏ DIFFERENCE BETWEEN
|
||||
'circeq': u'\u2257', # ≗ RING EQUAL TO
|
||||
'coloneq': u'\u2254', # ≔ COLON EQUALS
|
||||
'cong': u'\u2245', # ≅ APPROXIMATELY EQUAL TO
|
||||
'corresponds': u'\u2259', # ≙ ESTIMATES
|
||||
'curlyeqprec': u'\u22de', # ⋞ EQUAL TO OR PRECEDES
|
||||
'curlyeqsucc': u'\u22df', # ⋟ EQUAL TO OR SUCCEEDS
|
||||
'curvearrowleft': u'\u21b6', # ↶ ANTICLOCKWISE TOP SEMICIRCLE ARROW
|
||||
'curvearrowright': u'\u21b7', # ↷ CLOCKWISE TOP SEMICIRCLE ARROW
|
||||
'dashv': u'\u22a3', # ⊣ LEFT TACK
|
||||
'ddots': u'\u22f1', # ⋱ DOWN RIGHT DIAGONAL ELLIPSIS
|
||||
'dlsh': u'\u21b2', # ↲ DOWNWARDS ARROW WITH TIP LEFTWARDS
|
||||
'doteq': u'\u2250', # ≐ APPROACHES THE LIMIT
|
||||
'doteqdot': u'\u2251', # ≑ GEOMETRICALLY EQUAL TO
|
||||
'downarrow': u'\u2193', # ↓ DOWNWARDS ARROW
|
||||
'downdownarrows': u'\u21ca', # ⇊ DOWNWARDS PAIRED ARROWS
|
||||
'downdownharpoons': u'\u2965', # ⥥ DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
|
||||
'downharpoonleft': u'\u21c3', # ⇃ DOWNWARDS HARPOON WITH BARB LEFTWARDS
|
||||
'downharpoonright': u'\u21c2', # ⇂ DOWNWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
'downuparrows': u'\u21f5', # ⇵ DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
|
||||
'downupharpoons': u'\u296f', # ⥯ DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
|
||||
'drsh': u'\u21b3', # ↳ DOWNWARDS ARROW WITH TIP RIGHTWARDS
|
||||
'eqcirc': u'\u2256', # ≖ RING IN EQUAL TO
|
||||
'eqcolon': u'\u2255', # ≕ EQUALS COLON
|
||||
'eqsim': u'\u2242', # ≂ MINUS TILDE
|
||||
'eqslantgtr': u'\u2a96', # ⪖ SLANTED EQUAL TO OR GREATER-THAN
|
||||
'eqslantless': u'\u2a95', # ⪕ SLANTED EQUAL TO OR LESS-THAN
|
||||
'equiv': u'\u2261', # ≡ IDENTICAL TO
|
||||
'fallingdotseq': u'\u2252', # ≒ APPROXIMATELY EQUAL TO OR THE IMAGE OF
|
||||
'frown': u'\u2322', # ⌢ FROWN
|
||||
'ge': u'\u2265', # ≥ GREATER-THAN OR EQUAL TO
|
||||
'geq': u'\u2265', # ≥ GREATER-THAN OR EQUAL TO
|
||||
'geqq': u'\u2267', # ≧ GREATER-THAN OVER EQUAL TO
|
||||
'geqslant': u'\u2a7e', # ⩾ GREATER-THAN OR SLANTED EQUAL TO
|
||||
'gets': u'\u2190', # ← LEFTWARDS ARROW
|
||||
'gg': u'\u226b', # ≫ MUCH GREATER-THAN
|
||||
'ggcurly': u'\u2abc', # ⪼ DOUBLE SUCCEEDS
|
||||
'ggg': u'\u22d9', # ⋙ VERY MUCH GREATER-THAN
|
||||
'gnapprox': u'\u2a8a', # ⪊ GREATER-THAN AND NOT APPROXIMATE
|
||||
'gneq': u'\u2a88', # ⪈ GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
|
||||
'gneqq': u'\u2269', # ≩ GREATER-THAN BUT NOT EQUAL TO
|
||||
'gnsim': u'\u22e7', # ⋧ GREATER-THAN BUT NOT EQUIVALENT TO
|
||||
'gtrapprox': u'\u2a86', # ⪆ GREATER-THAN OR APPROXIMATE
|
||||
'gtrdot': u'\u22d7', # ⋗ GREATER-THAN WITH DOT
|
||||
'gtreqless': u'\u22db', # ⋛ GREATER-THAN EQUAL TO OR LESS-THAN
|
||||
'gtreqqless': u'\u2a8c', # ⪌ GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
|
||||
'gtrless': u'\u2277', # ≷ GREATER-THAN OR LESS-THAN
|
||||
'gtrsim': u'\u2273', # ≳ GREATER-THAN OR EQUIVALENT TO
|
||||
'hash': u'\u22d5', # ⋕ EQUAL AND PARALLEL TO
|
||||
'hookleftarrow': u'\u21a9', # ↩ LEFTWARDS ARROW WITH HOOK
|
||||
'hookrightarrow': u'\u21aa', # ↪ RIGHTWARDS ARROW WITH HOOK
|
||||
'iddots': u'\u22f0', # ⋰ UP RIGHT DIAGONAL ELLIPSIS
|
||||
'impliedby': u'\u27f8', # ⟸ LONG LEFTWARDS DOUBLE ARROW
|
||||
'implies': u'\u27f9', # ⟹ LONG RIGHTWARDS DOUBLE ARROW
|
||||
'in': u'\u2208', # ∈ ELEMENT OF
|
||||
'le': u'\u2264', # ≤ LESS-THAN OR EQUAL TO
|
||||
'leftarrow': u'\u2190', # ← LEFTWARDS ARROW
|
||||
'leftarrowtail': u'\u21a2', # ↢ LEFTWARDS ARROW WITH TAIL
|
||||
'leftarrowtriangle': u'\u21fd', # ⇽ LEFTWARDS OPEN-HEADED ARROW
|
||||
'leftbarharpoon': u'\u296a', # ⥪ LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
|
||||
'leftharpoondown': u'\u21bd', # ↽ LEFTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
'leftharpoonup': u'\u21bc', # ↼ LEFTWARDS HARPOON WITH BARB UPWARDS
|
||||
'leftleftarrows': u'\u21c7', # ⇇ LEFTWARDS PAIRED ARROWS
|
||||
'leftleftharpoons': u'\u2962', # ⥢ LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
|
||||
'leftrightarrow': u'\u2194', # ↔ LEFT RIGHT ARROW
|
||||
'leftrightarrows': u'\u21c6', # ⇆ LEFTWARDS ARROW OVER RIGHTWARDS ARROW
|
||||
'leftrightarrowtriangle': u'\u21ff', # ⇿ LEFT RIGHT OPEN-HEADED ARROW
|
||||
'leftrightharpoon': u'\u294a', # ⥊ LEFT BARB UP RIGHT BARB DOWN HARPOON
|
||||
'leftrightharpoons': u'\u21cb', # ⇋ LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
|
||||
'leftrightsquigarrow': u'\u21ad', # ↭ LEFT RIGHT WAVE ARROW
|
||||
'leftslice': u'\u2aa6', # ⪦ LESS-THAN CLOSED BY CURVE
|
||||
'leftsquigarrow': u'\u21dc', # ⇜ LEFTWARDS SQUIGGLE ARROW
|
||||
'leq': u'\u2264', # ≤ LESS-THAN OR EQUAL TO
|
||||
'leqq': u'\u2266', # ≦ LESS-THAN OVER EQUAL TO
|
||||
'leqslant': u'\u2a7d', # ⩽ LESS-THAN OR SLANTED EQUAL TO
|
||||
'lessapprox': u'\u2a85', # ⪅ LESS-THAN OR APPROXIMATE
|
||||
'lessdot': u'\u22d6', # ⋖ LESS-THAN WITH DOT
|
||||
'lesseqgtr': u'\u22da', # ⋚ LESS-THAN EQUAL TO OR GREATER-THAN
|
||||
'lesseqqgtr': u'\u2a8b', # ⪋ LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
|
||||
'lessgtr': u'\u2276', # ≶ LESS-THAN OR GREATER-THAN
|
||||
'lesssim': u'\u2272', # ≲ LESS-THAN OR EQUIVALENT TO
|
||||
'lightning': u'\u21af', # ↯ DOWNWARDS ZIGZAG ARROW
|
||||
'll': u'\u226a', # ≪ MUCH LESS-THAN
|
||||
'llcurly': u'\u2abb', # ⪻ DOUBLE PRECEDES
|
||||
'lll': u'\u22d8', # ⋘ VERY MUCH LESS-THAN
|
||||
'lnapprox': u'\u2a89', # ⪉ LESS-THAN AND NOT APPROXIMATE
|
||||
'lneq': u'\u2a87', # ⪇ LESS-THAN AND SINGLE-LINE NOT EQUAL TO
|
||||
'lneqq': u'\u2268', # ≨ LESS-THAN BUT NOT EQUAL TO
|
||||
'lnsim': u'\u22e6', # ⋦ LESS-THAN BUT NOT EQUIVALENT TO
|
||||
'longleftarrow': u'\u27f5', # ⟵ LONG LEFTWARDS ARROW
|
||||
'longleftrightarrow': u'\u27f7', # ⟷ LONG LEFT RIGHT ARROW
|
||||
'longmapsfrom': u'\u27fb', # ⟻ LONG LEFTWARDS ARROW FROM BAR
|
||||
'longmapsto': u'\u27fc', # ⟼ LONG RIGHTWARDS ARROW FROM BAR
|
||||
'longrightarrow': u'\u27f6', # ⟶ LONG RIGHTWARDS ARROW
|
||||
'looparrowleft': u'\u21ab', # ↫ LEFTWARDS ARROW WITH LOOP
|
||||
'looparrowright': u'\u21ac', # ↬ RIGHTWARDS ARROW WITH LOOP
|
||||
'mapsfrom': u'\u21a4', # ↤ LEFTWARDS ARROW FROM BAR
|
||||
'mapsto': u'\u21a6', # ↦ RIGHTWARDS ARROW FROM BAR
|
||||
'mid': u'\u2223', # ∣ DIVIDES
|
||||
'models': u'\u22a7', # ⊧ MODELS
|
||||
'multimap': u'\u22b8', # ⊸ MULTIMAP
|
||||
'nLeftarrow': u'\u21cd', # ⇍ LEFTWARDS DOUBLE ARROW WITH STROKE
|
||||
'nLeftrightarrow': u'\u21ce', # ⇎ LEFT RIGHT DOUBLE ARROW WITH STROKE
|
||||
'nRightarrow': u'\u21cf', # ⇏ RIGHTWARDS DOUBLE ARROW WITH STROKE
|
||||
'nVDash': u'\u22af', # ⊯ NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
|
||||
'nVdash': u'\u22ae', # ⊮ DOES NOT FORCE
|
||||
'ncong': u'\u2247', # ≇ NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
|
||||
'ne': u'\u2260', # ≠ NOT EQUAL TO
|
||||
'nearrow': u'\u2197', # ↗ NORTH EAST ARROW
|
||||
'neq': u'\u2260', # ≠ NOT EQUAL TO
|
||||
'ngeq': u'\u2271', # ≱ NEITHER GREATER-THAN NOR EQUAL TO
|
||||
'ngtr': u'\u226f', # ≯ NOT GREATER-THAN
|
||||
'ni': u'\u220b', # ∋ CONTAINS AS MEMBER
|
||||
'nleftarrow': u'\u219a', # ↚ LEFTWARDS ARROW WITH STROKE
|
||||
'nleftrightarrow': u'\u21ae', # ↮ LEFT RIGHT ARROW WITH STROKE
|
||||
'nleq': u'\u2270', # ≰ NEITHER LESS-THAN NOR EQUAL TO
|
||||
'nless': u'\u226e', # ≮ NOT LESS-THAN
|
||||
'nmid': u'\u2224', # ∤ DOES NOT DIVIDE
|
||||
'notasymp': u'\u226d', # ≭ NOT EQUIVALENT TO
|
||||
'notin': u'\u2209', # ∉ NOT AN ELEMENT OF
|
||||
'notowner': u'\u220c', # ∌ DOES NOT CONTAIN AS MEMBER
|
||||
'notslash': u'\u233f', # ⌿ APL FUNCTIONAL SYMBOL SLASH BAR
|
||||
'nparallel': u'\u2226', # ∦ NOT PARALLEL TO
|
||||
'nprec': u'\u2280', # ⊀ DOES NOT PRECEDE
|
||||
'npreceq': u'\u22e0', # ⋠ DOES NOT PRECEDE OR EQUAL
|
||||
'nrightarrow': u'\u219b', # ↛ RIGHTWARDS ARROW WITH STROKE
|
||||
'nsim': u'\u2241', # ≁ NOT TILDE
|
||||
'nsubseteq': u'\u2288', # ⊈ NEITHER A SUBSET OF NOR EQUAL TO
|
||||
'nsucc': u'\u2281', # ⊁ DOES NOT SUCCEED
|
||||
'nsucceq': u'\u22e1', # ⋡ DOES NOT SUCCEED OR EQUAL
|
||||
'nsupseteq': u'\u2289', # ⊉ NEITHER A SUPERSET OF NOR EQUAL TO
|
||||
'ntriangleleft': u'\u22ea', # ⋪ NOT NORMAL SUBGROUP OF
|
||||
'ntrianglelefteq': u'\u22ec', # ⋬ NOT NORMAL SUBGROUP OF OR EQUAL TO
|
||||
'ntriangleright': u'\u22eb', # ⋫ DOES NOT CONTAIN AS NORMAL SUBGROUP
|
||||
'ntrianglerighteq': u'\u22ed', # ⋭ DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
|
||||
'nvDash': u'\u22ad', # ⊭ NOT TRUE
|
||||
'nvdash': u'\u22ac', # ⊬ DOES NOT PROVE
|
||||
'nwarrow': u'\u2196', # ↖ NORTH WEST ARROW
|
||||
'owns': u'\u220b', # ∋ CONTAINS AS MEMBER
|
||||
'parallel': u'\u2225', # ∥ PARALLEL TO
|
||||
'perp': u'\u27c2', # ⟂ PERPENDICULAR
|
||||
'pitchfork': u'\u22d4', # ⋔ PITCHFORK
|
||||
'prec': u'\u227a', # ≺ PRECEDES
|
||||
'precapprox': u'\u2ab7', # ⪷ PRECEDES ABOVE ALMOST EQUAL TO
|
||||
'preccurlyeq': u'\u227c', # ≼ PRECEDES OR EQUAL TO
|
||||
'preceq': u'\u2aaf', # ⪯ PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
|
||||
'precnapprox': u'\u2ab9', # ⪹ PRECEDES ABOVE NOT ALMOST EQUAL TO
|
||||
'precnsim': u'\u22e8', # ⋨ PRECEDES BUT NOT EQUIVALENT TO
|
||||
'precsim': u'\u227e', # ≾ PRECEDES OR EQUIVALENT TO
|
||||
'propto': u'\u221d', # ∝ PROPORTIONAL TO
|
||||
'restriction': u'\u21be', # ↾ UPWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
'rightarrow': u'\u2192', # → RIGHTWARDS ARROW
|
||||
'rightarrowtail': u'\u21a3', # ↣ RIGHTWARDS ARROW WITH TAIL
|
||||
'rightarrowtriangle': u'\u21fe', # ⇾ RIGHTWARDS OPEN-HEADED ARROW
|
||||
'rightbarharpoon': u'\u296c', # ⥬ RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
|
||||
'rightharpoondown': u'\u21c1', # ⇁ RIGHTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
'rightharpoonup': u'\u21c0', # ⇀ RIGHTWARDS HARPOON WITH BARB UPWARDS
|
||||
'rightleftarrows': u'\u21c4', # ⇄ RIGHTWARDS ARROW OVER LEFTWARDS ARROW
|
||||
'rightleftharpoon': u'\u294b', # ⥋ LEFT BARB DOWN RIGHT BARB UP HARPOON
|
||||
'rightleftharpoons': u'\u21cc', # ⇌ RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
|
||||
'rightrightarrows': u'\u21c9', # ⇉ RIGHTWARDS PAIRED ARROWS
|
||||
'rightrightharpoons': u'\u2964', # ⥤ RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
|
||||
'rightslice': u'\u2aa7', # ⪧ GREATER-THAN CLOSED BY CURVE
|
||||
'rightsquigarrow': u'\u21dd', # ⇝ RIGHTWARDS SQUIGGLE ARROW
|
||||
'risingdotseq': u'\u2253', # ≓ IMAGE OF OR APPROXIMATELY EQUAL TO
|
||||
'searrow': u'\u2198', # ↘ SOUTH EAST ARROW
|
||||
'sim': u'\u223c', # ∼ TILDE OPERATOR
|
||||
'simeq': u'\u2243', # ≃ ASYMPTOTICALLY EQUAL TO
|
||||
'smallfrown': u'\u2322', # ⌢ FROWN
|
||||
'smallsmile': u'\u2323', # ⌣ SMILE
|
||||
'smile': u'\u2323', # ⌣ SMILE
|
||||
'sqsubset': u'\u228f', # ⊏ SQUARE IMAGE OF
|
||||
'sqsubseteq': u'\u2291', # ⊑ SQUARE IMAGE OF OR EQUAL TO
|
||||
'sqsupset': u'\u2290', # ⊐ SQUARE ORIGINAL OF
|
||||
'sqsupseteq': u'\u2292', # ⊒ SQUARE ORIGINAL OF OR EQUAL TO
|
||||
'subset': u'\u2282', # ⊂ SUBSET OF
|
||||
'subseteq': u'\u2286', # ⊆ SUBSET OF OR EQUAL TO
|
||||
'subseteqq': u'\u2ac5', # ⫅ SUBSET OF ABOVE EQUALS SIGN
|
||||
'subsetneq': u'\u228a', # ⊊ SUBSET OF WITH NOT EQUAL TO
|
||||
'subsetneqq': u'\u2acb', # ⫋ SUBSET OF ABOVE NOT EQUAL TO
|
||||
'succ': u'\u227b', # ≻ SUCCEEDS
|
||||
'succapprox': u'\u2ab8', # ⪸ SUCCEEDS ABOVE ALMOST EQUAL TO
|
||||
'succcurlyeq': u'\u227d', # ≽ SUCCEEDS OR EQUAL TO
|
||||
'succeq': u'\u2ab0', # ⪰ SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
|
||||
'succnapprox': u'\u2aba', # ⪺ SUCCEEDS ABOVE NOT ALMOST EQUAL TO
|
||||
'succnsim': u'\u22e9', # ⋩ SUCCEEDS BUT NOT EQUIVALENT TO
|
||||
'succsim': u'\u227f', # ≿ SUCCEEDS OR EQUIVALENT TO
|
||||
'supset': u'\u2283', # ⊃ SUPERSET OF
|
||||
'supseteq': u'\u2287', # ⊇ SUPERSET OF OR EQUAL TO
|
||||
'supseteqq': u'\u2ac6', # ⫆ SUPERSET OF ABOVE EQUALS SIGN
|
||||
'supsetneq': u'\u228b', # ⊋ SUPERSET OF WITH NOT EQUAL TO
|
||||
'supsetneqq': u'\u2acc', # ⫌ SUPERSET OF ABOVE NOT EQUAL TO
|
||||
'swarrow': u'\u2199', # ↙ SOUTH WEST ARROW
|
||||
'to': u'\u2192', # → RIGHTWARDS ARROW
|
||||
'trianglelefteq': u'\u22b4', # ⊴ NORMAL SUBGROUP OF OR EQUAL TO
|
||||
'triangleq': u'\u225c', # ≜ DELTA EQUAL TO
|
||||
'trianglerighteq': u'\u22b5', # ⊵ CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
|
||||
'twoheadleftarrow': u'\u219e', # ↞ LEFTWARDS TWO HEADED ARROW
|
||||
'twoheadrightarrow': u'\u21a0', # ↠ RIGHTWARDS TWO HEADED ARROW
|
||||
'uparrow': u'\u2191', # ↑ UPWARDS ARROW
|
||||
'updownarrow': u'\u2195', # ↕ UP DOWN ARROW
|
||||
'updownarrows': u'\u21c5', # ⇅ UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
|
||||
'updownharpoons': u'\u296e', # ⥮ UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
|
||||
'upharpoonleft': u'\u21bf', # ↿ UPWARDS HARPOON WITH BARB LEFTWARDS
|
||||
'upharpoonright': u'\u21be', # ↾ UPWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
'upuparrows': u'\u21c8', # ⇈ UPWARDS PAIRED ARROWS
|
||||
'upupharpoons': u'\u2963', # ⥣ UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
|
||||
'vDash': u'\u22a8', # ⊨ TRUE
|
||||
'varpropto': u'\u221d', # ∝ PROPORTIONAL TO
|
||||
'vartriangleleft': u'\u22b2', # ⊲ NORMAL SUBGROUP OF
|
||||
'vartriangleright': u'\u22b3', # ⊳ CONTAINS AS NORMAL SUBGROUP
|
||||
'vdash': u'\u22a2', # ⊢ RIGHT TACK
|
||||
'vdots': u'\u22ee', # ⋮ VERTICAL ELLIPSIS
|
||||
}
|
||||
mathunder = {
|
||||
'underbrace': u'\u23df', # ⏟ BOTTOM CURLY BRACKET
|
||||
}
|
||||
space = {
|
||||
':': u'\u205f', # MEDIUM MATHEMATICAL SPACE
|
||||
'medspace': u'\u205f', # MEDIUM MATHEMATICAL SPACE
|
||||
'quad': u'\u2001', # EM QUAD
|
||||
}
|
788
docutils/math/unichar2tex.py
Normal file
788
docutils/math/unichar2tex.py
Normal file
|
@ -0,0 +1,788 @@
|
|||
# LaTeX math to Unicode symbols translation table
|
||||
# for use with the translate() method of unicode objects.
|
||||
# Generated with ``write_unichar2tex.py`` from the data in
|
||||
# http://milde.users.sourceforge.net/LUCR/Math/
|
||||
|
||||
# Includes commands from: standard LaTeX, amssymb, amsmath
|
||||
|
||||
uni2tex_table = {
|
||||
160: u'~',
|
||||
163: u'\\pounds ',
|
||||
165: u'\\yen ',
|
||||
172: u'\\neg ',
|
||||
174: u'\\circledR ',
|
||||
177: u'\\pm ',
|
||||
215: u'\\times ',
|
||||
240: u'\\eth ',
|
||||
247: u'\\div ',
|
||||
305: u'\\imath ',
|
||||
567: u'\\jmath ',
|
||||
915: u'\\Gamma ',
|
||||
916: u'\\Delta ',
|
||||
920: u'\\Theta ',
|
||||
923: u'\\Lambda ',
|
||||
926: u'\\Xi ',
|
||||
928: u'\\Pi ',
|
||||
931: u'\\Sigma ',
|
||||
933: u'\\Upsilon ',
|
||||
934: u'\\Phi ',
|
||||
936: u'\\Psi ',
|
||||
937: u'\\Omega ',
|
||||
945: u'\\alpha ',
|
||||
946: u'\\beta ',
|
||||
947: u'\\gamma ',
|
||||
948: u'\\delta ',
|
||||
949: u'\\varepsilon ',
|
||||
950: u'\\zeta ',
|
||||
951: u'\\eta ',
|
||||
952: u'\\theta ',
|
||||
953: u'\\iota ',
|
||||
954: u'\\kappa ',
|
||||
955: u'\\lambda ',
|
||||
956: u'\\mu ',
|
||||
957: u'\\nu ',
|
||||
958: u'\\xi ',
|
||||
960: u'\\pi ',
|
||||
961: u'\\rho ',
|
||||
962: u'\\varsigma ',
|
||||
963: u'\\sigma ',
|
||||
964: u'\\tau ',
|
||||
965: u'\\upsilon ',
|
||||
966: u'\\varphi ',
|
||||
967: u'\\chi ',
|
||||
968: u'\\psi ',
|
||||
969: u'\\omega ',
|
||||
977: u'\\vartheta ',
|
||||
981: u'\\phi ',
|
||||
982: u'\\varpi ',
|
||||
989: u'\\digamma ',
|
||||
1014: u'\\backepsilon ',
|
||||
8193: u'\\quad ',
|
||||
8214: u'\\| ',
|
||||
8224: u'\\dagger ',
|
||||
8225: u'\\ddagger ',
|
||||
8230: u'\\ldots ',
|
||||
8242: u'\\prime ',
|
||||
8245: u'\\backprime ',
|
||||
8287: u'\\: ',
|
||||
8450: u'\\mathbb{C}',
|
||||
8459: u'\\mathcal{H}',
|
||||
8460: u'\\mathfrak{H}',
|
||||
8461: u'\\mathbb{H}',
|
||||
8463: u'\\hslash ',
|
||||
8464: u'\\mathcal{I}',
|
||||
8465: u'\\Im ',
|
||||
8466: u'\\mathcal{L}',
|
||||
8467: u'\\ell ',
|
||||
8469: u'\\mathbb{N}',
|
||||
8472: u'\\wp ',
|
||||
8473: u'\\mathbb{P}',
|
||||
8474: u'\\mathbb{Q}',
|
||||
8475: u'\\mathcal{R}',
|
||||
8476: u'\\Re ',
|
||||
8477: u'\\mathbb{R}',
|
||||
8484: u'\\mathbb{Z}',
|
||||
8487: u'\\mho ',
|
||||
8488: u'\\mathfrak{Z}',
|
||||
8492: u'\\mathcal{B}',
|
||||
8493: u'\\mathfrak{C}',
|
||||
8496: u'\\mathcal{E}',
|
||||
8497: u'\\mathcal{F}',
|
||||
8498: u'\\Finv ',
|
||||
8499: u'\\mathcal{M}',
|
||||
8501: u'\\aleph ',
|
||||
8502: u'\\beth ',
|
||||
8503: u'\\gimel ',
|
||||
8504: u'\\daleth ',
|
||||
8592: u'\\leftarrow ',
|
||||
8593: u'\\uparrow ',
|
||||
8594: u'\\rightarrow ',
|
||||
8595: u'\\downarrow ',
|
||||
8596: u'\\leftrightarrow ',
|
||||
8597: u'\\updownarrow ',
|
||||
8598: u'\\nwarrow ',
|
||||
8599: u'\\nearrow ',
|
||||
8600: u'\\searrow ',
|
||||
8601: u'\\swarrow ',
|
||||
8602: u'\\nleftarrow ',
|
||||
8603: u'\\nrightarrow ',
|
||||
8606: u'\\twoheadleftarrow ',
|
||||
8608: u'\\twoheadrightarrow ',
|
||||
8610: u'\\leftarrowtail ',
|
||||
8611: u'\\rightarrowtail ',
|
||||
8614: u'\\mapsto ',
|
||||
8617: u'\\hookleftarrow ',
|
||||
8618: u'\\hookrightarrow ',
|
||||
8619: u'\\looparrowleft ',
|
||||
8620: u'\\looparrowright ',
|
||||
8621: u'\\leftrightsquigarrow ',
|
||||
8622: u'\\nleftrightarrow ',
|
||||
8624: u'\\Lsh ',
|
||||
8625: u'\\Rsh ',
|
||||
8630: u'\\curvearrowleft ',
|
||||
8631: u'\\curvearrowright ',
|
||||
8634: u'\\circlearrowleft ',
|
||||
8635: u'\\circlearrowright ',
|
||||
8636: u'\\leftharpoonup ',
|
||||
8637: u'\\leftharpoondown ',
|
||||
8638: u'\\upharpoonright ',
|
||||
8639: u'\\upharpoonleft ',
|
||||
8640: u'\\rightharpoonup ',
|
||||
8641: u'\\rightharpoondown ',
|
||||
8642: u'\\downharpoonright ',
|
||||
8643: u'\\downharpoonleft ',
|
||||
8644: u'\\rightleftarrows ',
|
||||
8646: u'\\leftrightarrows ',
|
||||
8647: u'\\leftleftarrows ',
|
||||
8648: u'\\upuparrows ',
|
||||
8649: u'\\rightrightarrows ',
|
||||
8650: u'\\downdownarrows ',
|
||||
8651: u'\\leftrightharpoons ',
|
||||
8652: u'\\rightleftharpoons ',
|
||||
8653: u'\\nLeftarrow ',
|
||||
8654: u'\\nLeftrightarrow ',
|
||||
8655: u'\\nRightarrow ',
|
||||
8656: u'\\Leftarrow ',
|
||||
8657: u'\\Uparrow ',
|
||||
8658: u'\\Rightarrow ',
|
||||
8659: u'\\Downarrow ',
|
||||
8660: u'\\Leftrightarrow ',
|
||||
8661: u'\\Updownarrow ',
|
||||
8666: u'\\Lleftarrow ',
|
||||
8667: u'\\Rrightarrow ',
|
||||
8669: u'\\rightsquigarrow ',
|
||||
8672: u'\\dashleftarrow ',
|
||||
8674: u'\\dashrightarrow ',
|
||||
8704: u'\\forall ',
|
||||
8705: u'\\complement ',
|
||||
8706: u'\\partial ',
|
||||
8707: u'\\exists ',
|
||||
8708: u'\\nexists ',
|
||||
8709: u'\\varnothing ',
|
||||
8711: u'\\nabla ',
|
||||
8712: u'\\in ',
|
||||
8713: u'\\notin ',
|
||||
8715: u'\\ni ',
|
||||
8719: u'\\prod ',
|
||||
8720: u'\\coprod ',
|
||||
8721: u'\\sum ',
|
||||
8722: u'-',
|
||||
8723: u'\\mp ',
|
||||
8724: u'\\dotplus ',
|
||||
8725: u'\\slash ',
|
||||
8726: u'\\smallsetminus ',
|
||||
8727: u'\\ast ',
|
||||
8728: u'\\circ ',
|
||||
8729: u'\\bullet ',
|
||||
8730: u'\\sqrt ',
|
||||
8731: u'\\sqrt[3] ',
|
||||
8732: u'\\sqrt[4] ',
|
||||
8733: u'\\propto ',
|
||||
8734: u'\\infty ',
|
||||
8736: u'\\angle ',
|
||||
8737: u'\\measuredangle ',
|
||||
8738: u'\\sphericalangle ',
|
||||
8739: u'\\mid ',
|
||||
8740: u'\\nmid ',
|
||||
8741: u'\\parallel ',
|
||||
8742: u'\\nparallel ',
|
||||
8743: u'\\wedge ',
|
||||
8744: u'\\vee ',
|
||||
8745: u'\\cap ',
|
||||
8746: u'\\cup ',
|
||||
8747: u'\\int ',
|
||||
8748: u'\\iint ',
|
||||
8749: u'\\iiint ',
|
||||
8750: u'\\oint ',
|
||||
8756: u'\\therefore ',
|
||||
8757: u'\\because ',
|
||||
8758: u':',
|
||||
8764: u'\\sim ',
|
||||
8765: u'\\backsim ',
|
||||
8768: u'\\wr ',
|
||||
8769: u'\\nsim ',
|
||||
8770: u'\\eqsim ',
|
||||
8771: u'\\simeq ',
|
||||
8773: u'\\cong ',
|
||||
8775: u'\\ncong ',
|
||||
8776: u'\\approx ',
|
||||
8778: u'\\approxeq ',
|
||||
8781: u'\\asymp ',
|
||||
8782: u'\\Bumpeq ',
|
||||
8783: u'\\bumpeq ',
|
||||
8784: u'\\doteq ',
|
||||
8785: u'\\Doteq ',
|
||||
8786: u'\\fallingdotseq ',
|
||||
8787: u'\\risingdotseq ',
|
||||
8790: u'\\eqcirc ',
|
||||
8791: u'\\circeq ',
|
||||
8796: u'\\triangleq ',
|
||||
8800: u'\\neq ',
|
||||
8801: u'\\equiv ',
|
||||
8804: u'\\leq ',
|
||||
8805: u'\\geq ',
|
||||
8806: u'\\leqq ',
|
||||
8807: u'\\geqq ',
|
||||
8808: u'\\lneqq ',
|
||||
8809: u'\\gneqq ',
|
||||
8810: u'\\ll ',
|
||||
8811: u'\\gg ',
|
||||
8812: u'\\between ',
|
||||
8814: u'\\nless ',
|
||||
8815: u'\\ngtr ',
|
||||
8816: u'\\nleq ',
|
||||
8817: u'\\ngeq ',
|
||||
8818: u'\\lesssim ',
|
||||
8819: u'\\gtrsim ',
|
||||
8822: u'\\lessgtr ',
|
||||
8823: u'\\gtrless ',
|
||||
8826: u'\\prec ',
|
||||
8827: u'\\succ ',
|
||||
8828: u'\\preccurlyeq ',
|
||||
8829: u'\\succcurlyeq ',
|
||||
8830: u'\\precsim ',
|
||||
8831: u'\\succsim ',
|
||||
8832: u'\\nprec ',
|
||||
8833: u'\\nsucc ',
|
||||
8834: u'\\subset ',
|
||||
8835: u'\\supset ',
|
||||
8838: u'\\subseteq ',
|
||||
8839: u'\\supseteq ',
|
||||
8840: u'\\nsubseteq ',
|
||||
8841: u'\\nsupseteq ',
|
||||
8842: u'\\subsetneq ',
|
||||
8843: u'\\supsetneq ',
|
||||
8846: u'\\uplus ',
|
||||
8847: u'\\sqsubset ',
|
||||
8848: u'\\sqsupset ',
|
||||
8849: u'\\sqsubseteq ',
|
||||
8850: u'\\sqsupseteq ',
|
||||
8851: u'\\sqcap ',
|
||||
8852: u'\\sqcup ',
|
||||
8853: u'\\oplus ',
|
||||
8854: u'\\ominus ',
|
||||
8855: u'\\otimes ',
|
||||
8856: u'\\oslash ',
|
||||
8857: u'\\odot ',
|
||||
8858: u'\\circledcirc ',
|
||||
8859: u'\\circledast ',
|
||||
8861: u'\\circleddash ',
|
||||
8862: u'\\boxplus ',
|
||||
8863: u'\\boxminus ',
|
||||
8864: u'\\boxtimes ',
|
||||
8865: u'\\boxdot ',
|
||||
8866: u'\\vdash ',
|
||||
8867: u'\\dashv ',
|
||||
8868: u'\\top ',
|
||||
8869: u'\\bot ',
|
||||
8871: u'\\models ',
|
||||
8872: u'\\vDash ',
|
||||
8873: u'\\Vdash ',
|
||||
8874: u'\\Vvdash ',
|
||||
8876: u'\\nvdash ',
|
||||
8877: u'\\nvDash ',
|
||||
8878: u'\\nVdash ',
|
||||
8879: u'\\nVDash ',
|
||||
8882: u'\\vartriangleleft ',
|
||||
8883: u'\\vartriangleright ',
|
||||
8884: u'\\trianglelefteq ',
|
||||
8885: u'\\trianglerighteq ',
|
||||
8888: u'\\multimap ',
|
||||
8890: u'\\intercal ',
|
||||
8891: u'\\veebar ',
|
||||
8892: u'\\barwedge ',
|
||||
8896: u'\\bigwedge ',
|
||||
8897: u'\\bigvee ',
|
||||
8898: u'\\bigcap ',
|
||||
8899: u'\\bigcup ',
|
||||
8900: u'\\diamond ',
|
||||
8901: u'\\cdot ',
|
||||
8902: u'\\star ',
|
||||
8903: u'\\divideontimes ',
|
||||
8904: u'\\bowtie ',
|
||||
8905: u'\\ltimes ',
|
||||
8906: u'\\rtimes ',
|
||||
8907: u'\\leftthreetimes ',
|
||||
8908: u'\\rightthreetimes ',
|
||||
8909: u'\\backsimeq ',
|
||||
8910: u'\\curlyvee ',
|
||||
8911: u'\\curlywedge ',
|
||||
8912: u'\\Subset ',
|
||||
8913: u'\\Supset ',
|
||||
8914: u'\\Cap ',
|
||||
8915: u'\\Cup ',
|
||||
8916: u'\\pitchfork ',
|
||||
8918: u'\\lessdot ',
|
||||
8919: u'\\gtrdot ',
|
||||
8920: u'\\lll ',
|
||||
8921: u'\\ggg ',
|
||||
8922: u'\\lesseqgtr ',
|
||||
8923: u'\\gtreqless ',
|
||||
8926: u'\\curlyeqprec ',
|
||||
8927: u'\\curlyeqsucc ',
|
||||
8928: u'\\npreceq ',
|
||||
8929: u'\\nsucceq ',
|
||||
8934: u'\\lnsim ',
|
||||
8935: u'\\gnsim ',
|
||||
8936: u'\\precnsim ',
|
||||
8937: u'\\succnsim ',
|
||||
8938: u'\\ntriangleleft ',
|
||||
8939: u'\\ntriangleright ',
|
||||
8940: u'\\ntrianglelefteq ',
|
||||
8941: u'\\ntrianglerighteq ',
|
||||
8942: u'\\vdots ',
|
||||
8943: u'\\cdots ',
|
||||
8945: u'\\ddots ',
|
||||
8968: u'\\lceil ',
|
||||
8969: u'\\rceil ',
|
||||
8970: u'\\lfloor ',
|
||||
8971: u'\\rfloor ',
|
||||
8988: u'\\ulcorner ',
|
||||
8989: u'\\urcorner ',
|
||||
8990: u'\\llcorner ',
|
||||
8991: u'\\lrcorner ',
|
||||
8994: u'\\frown ',
|
||||
8995: u'\\smile ',
|
||||
9182: u'\\overbrace ',
|
||||
9183: u'\\underbrace ',
|
||||
9651: u'\\bigtriangleup ',
|
||||
9655: u'\\rhd ',
|
||||
9661: u'\\bigtriangledown ',
|
||||
9665: u'\\lhd ',
|
||||
9671: u'\\Diamond ',
|
||||
9674: u'\\lozenge ',
|
||||
9723: u'\\square ',
|
||||
9724: u'\\blacksquare ',
|
||||
9733: u'\\bigstar ',
|
||||
9824: u'\\spadesuit ',
|
||||
9825: u'\\heartsuit ',
|
||||
9826: u'\\diamondsuit ',
|
||||
9827: u'\\clubsuit ',
|
||||
9837: u'\\flat ',
|
||||
9838: u'\\natural ',
|
||||
9839: u'\\sharp ',
|
||||
10003: u'\\checkmark ',
|
||||
10016: u'\\maltese ',
|
||||
10178: u'\\perp ',
|
||||
10216: u'\\langle ',
|
||||
10217: u'\\rangle ',
|
||||
10222: u'\\lgroup ',
|
||||
10223: u'\\rgroup ',
|
||||
10229: u'\\longleftarrow ',
|
||||
10230: u'\\longrightarrow ',
|
||||
10231: u'\\longleftrightarrow ',
|
||||
10232: u'\\Longleftarrow ',
|
||||
10233: u'\\Longrightarrow ',
|
||||
10234: u'\\Longleftrightarrow ',
|
||||
10236: u'\\longmapsto ',
|
||||
10731: u'\\blacklozenge ',
|
||||
10741: u'\\setminus ',
|
||||
10752: u'\\bigodot ',
|
||||
10753: u'\\bigoplus ',
|
||||
10754: u'\\bigotimes ',
|
||||
10756: u'\\biguplus ',
|
||||
10758: u'\\bigsqcup ',
|
||||
10764: u'\\iiiint ',
|
||||
10781: u'\\Join ',
|
||||
10815: u'\\amalg ',
|
||||
10846: u'\\doublebarwedge ',
|
||||
10877: u'\\leqslant ',
|
||||
10878: u'\\geqslant ',
|
||||
10885: u'\\lessapprox ',
|
||||
10886: u'\\gtrapprox ',
|
||||
10887: u'\\lneq ',
|
||||
10888: u'\\gneq ',
|
||||
10889: u'\\lnapprox ',
|
||||
10890: u'\\gnapprox ',
|
||||
10891: u'\\lesseqqgtr ',
|
||||
10892: u'\\gtreqqless ',
|
||||
10901: u'\\eqslantless ',
|
||||
10902: u'\\eqslantgtr ',
|
||||
10927: u'\\preceq ',
|
||||
10928: u'\\succeq ',
|
||||
10935: u'\\precapprox ',
|
||||
10936: u'\\succapprox ',
|
||||
10937: u'\\precnapprox ',
|
||||
10938: u'\\succnapprox ',
|
||||
10949: u'\\subseteqq ',
|
||||
10950: u'\\supseteqq ',
|
||||
10955: u'\\subsetneqq ',
|
||||
10956: u'\\supsetneqq ',
|
||||
119808: u'\\mathbf{A}',
|
||||
119809: u'\\mathbf{B}',
|
||||
119810: u'\\mathbf{C}',
|
||||
119811: u'\\mathbf{D}',
|
||||
119812: u'\\mathbf{E}',
|
||||
119813: u'\\mathbf{F}',
|
||||
119814: u'\\mathbf{G}',
|
||||
119815: u'\\mathbf{H}',
|
||||
119816: u'\\mathbf{I}',
|
||||
119817: u'\\mathbf{J}',
|
||||
119818: u'\\mathbf{K}',
|
||||
119819: u'\\mathbf{L}',
|
||||
119820: u'\\mathbf{M}',
|
||||
119821: u'\\mathbf{N}',
|
||||
119822: u'\\mathbf{O}',
|
||||
119823: u'\\mathbf{P}',
|
||||
119824: u'\\mathbf{Q}',
|
||||
119825: u'\\mathbf{R}',
|
||||
119826: u'\\mathbf{S}',
|
||||
119827: u'\\mathbf{T}',
|
||||
119828: u'\\mathbf{U}',
|
||||
119829: u'\\mathbf{V}',
|
||||
119830: u'\\mathbf{W}',
|
||||
119831: u'\\mathbf{X}',
|
||||
119832: u'\\mathbf{Y}',
|
||||
119833: u'\\mathbf{Z}',
|
||||
119834: u'\\mathbf{a}',
|
||||
119835: u'\\mathbf{b}',
|
||||
119836: u'\\mathbf{c}',
|
||||
119837: u'\\mathbf{d}',
|
||||
119838: u'\\mathbf{e}',
|
||||
119839: u'\\mathbf{f}',
|
||||
119840: u'\\mathbf{g}',
|
||||
119841: u'\\mathbf{h}',
|
||||
119842: u'\\mathbf{i}',
|
||||
119843: u'\\mathbf{j}',
|
||||
119844: u'\\mathbf{k}',
|
||||
119845: u'\\mathbf{l}',
|
||||
119846: u'\\mathbf{m}',
|
||||
119847: u'\\mathbf{n}',
|
||||
119848: u'\\mathbf{o}',
|
||||
119849: u'\\mathbf{p}',
|
||||
119850: u'\\mathbf{q}',
|
||||
119851: u'\\mathbf{r}',
|
||||
119852: u'\\mathbf{s}',
|
||||
119853: u'\\mathbf{t}',
|
||||
119854: u'\\mathbf{u}',
|
||||
119855: u'\\mathbf{v}',
|
||||
119856: u'\\mathbf{w}',
|
||||
119857: u'\\mathbf{x}',
|
||||
119858: u'\\mathbf{y}',
|
||||
119859: u'\\mathbf{z}',
|
||||
119860: u'A',
|
||||
119861: u'B',
|
||||
119862: u'C',
|
||||
119863: u'D',
|
||||
119864: u'E',
|
||||
119865: u'F',
|
||||
119866: u'G',
|
||||
119867: u'H',
|
||||
119868: u'I',
|
||||
119869: u'J',
|
||||
119870: u'K',
|
||||
119871: u'L',
|
||||
119872: u'M',
|
||||
119873: u'N',
|
||||
119874: u'O',
|
||||
119875: u'P',
|
||||
119876: u'Q',
|
||||
119877: u'R',
|
||||
119878: u'S',
|
||||
119879: u'T',
|
||||
119880: u'U',
|
||||
119881: u'V',
|
||||
119882: u'W',
|
||||
119883: u'X',
|
||||
119884: u'Y',
|
||||
119885: u'Z',
|
||||
119886: u'a',
|
||||
119887: u'b',
|
||||
119888: u'c',
|
||||
119889: u'd',
|
||||
119890: u'e',
|
||||
119891: u'f',
|
||||
119892: u'g',
|
||||
119894: u'i',
|
||||
119895: u'j',
|
||||
119896: u'k',
|
||||
119897: u'l',
|
||||
119898: u'm',
|
||||
119899: u'n',
|
||||
119900: u'o',
|
||||
119901: u'p',
|
||||
119902: u'q',
|
||||
119903: u'r',
|
||||
119904: u's',
|
||||
119905: u't',
|
||||
119906: u'u',
|
||||
119907: u'v',
|
||||
119908: u'w',
|
||||
119909: u'x',
|
||||
119910: u'y',
|
||||
119911: u'z',
|
||||
119964: u'\\mathcal{A}',
|
||||
119966: u'\\mathcal{C}',
|
||||
119967: u'\\mathcal{D}',
|
||||
119970: u'\\mathcal{G}',
|
||||
119973: u'\\mathcal{J}',
|
||||
119974: u'\\mathcal{K}',
|
||||
119977: u'\\mathcal{N}',
|
||||
119978: u'\\mathcal{O}',
|
||||
119979: u'\\mathcal{P}',
|
||||
119980: u'\\mathcal{Q}',
|
||||
119982: u'\\mathcal{S}',
|
||||
119983: u'\\mathcal{T}',
|
||||
119984: u'\\mathcal{U}',
|
||||
119985: u'\\mathcal{V}',
|
||||
119986: u'\\mathcal{W}',
|
||||
119987: u'\\mathcal{X}',
|
||||
119988: u'\\mathcal{Y}',
|
||||
119989: u'\\mathcal{Z}',
|
||||
120068: u'\\mathfrak{A}',
|
||||
120069: u'\\mathfrak{B}',
|
||||
120071: u'\\mathfrak{D}',
|
||||
120072: u'\\mathfrak{E}',
|
||||
120073: u'\\mathfrak{F}',
|
||||
120074: u'\\mathfrak{G}',
|
||||
120077: u'\\mathfrak{J}',
|
||||
120078: u'\\mathfrak{K}',
|
||||
120079: u'\\mathfrak{L}',
|
||||
120080: u'\\mathfrak{M}',
|
||||
120081: u'\\mathfrak{N}',
|
||||
120082: u'\\mathfrak{O}',
|
||||
120083: u'\\mathfrak{P}',
|
||||
120084: u'\\mathfrak{Q}',
|
||||
120086: u'\\mathfrak{S}',
|
||||
120087: u'\\mathfrak{T}',
|
||||
120088: u'\\mathfrak{U}',
|
||||
120089: u'\\mathfrak{V}',
|
||||
120090: u'\\mathfrak{W}',
|
||||
120091: u'\\mathfrak{X}',
|
||||
120092: u'\\mathfrak{Y}',
|
||||
120094: u'\\mathfrak{a}',
|
||||
120095: u'\\mathfrak{b}',
|
||||
120096: u'\\mathfrak{c}',
|
||||
120097: u'\\mathfrak{d}',
|
||||
120098: u'\\mathfrak{e}',
|
||||
120099: u'\\mathfrak{f}',
|
||||
120100: u'\\mathfrak{g}',
|
||||
120101: u'\\mathfrak{h}',
|
||||
120102: u'\\mathfrak{i}',
|
||||
120103: u'\\mathfrak{j}',
|
||||
120104: u'\\mathfrak{k}',
|
||||
120105: u'\\mathfrak{l}',
|
||||
120106: u'\\mathfrak{m}',
|
||||
120107: u'\\mathfrak{n}',
|
||||
120108: u'\\mathfrak{o}',
|
||||
120109: u'\\mathfrak{p}',
|
||||
120110: u'\\mathfrak{q}',
|
||||
120111: u'\\mathfrak{r}',
|
||||
120112: u'\\mathfrak{s}',
|
||||
120113: u'\\mathfrak{t}',
|
||||
120114: u'\\mathfrak{u}',
|
||||
120115: u'\\mathfrak{v}',
|
||||
120116: u'\\mathfrak{w}',
|
||||
120117: u'\\mathfrak{x}',
|
||||
120118: u'\\mathfrak{y}',
|
||||
120119: u'\\mathfrak{z}',
|
||||
120120: u'\\mathbb{A}',
|
||||
120121: u'\\mathbb{B}',
|
||||
120123: u'\\mathbb{D}',
|
||||
120124: u'\\mathbb{E}',
|
||||
120125: u'\\mathbb{F}',
|
||||
120126: u'\\mathbb{G}',
|
||||
120128: u'\\mathbb{I}',
|
||||
120129: u'\\mathbb{J}',
|
||||
120130: u'\\mathbb{K}',
|
||||
120131: u'\\mathbb{L}',
|
||||
120132: u'\\mathbb{M}',
|
||||
120134: u'\\mathbb{O}',
|
||||
120138: u'\\mathbb{S}',
|
||||
120139: u'\\mathbb{T}',
|
||||
120140: u'\\mathbb{U}',
|
||||
120141: u'\\mathbb{V}',
|
||||
120142: u'\\mathbb{W}',
|
||||
120143: u'\\mathbb{X}',
|
||||
120144: u'\\mathbb{Y}',
|
||||
120156: u'\\Bbbk ',
|
||||
120224: u'\\mathsf{A}',
|
||||
120225: u'\\mathsf{B}',
|
||||
120226: u'\\mathsf{C}',
|
||||
120227: u'\\mathsf{D}',
|
||||
120228: u'\\mathsf{E}',
|
||||
120229: u'\\mathsf{F}',
|
||||
120230: u'\\mathsf{G}',
|
||||
120231: u'\\mathsf{H}',
|
||||
120232: u'\\mathsf{I}',
|
||||
120233: u'\\mathsf{J}',
|
||||
120234: u'\\mathsf{K}',
|
||||
120235: u'\\mathsf{L}',
|
||||
120236: u'\\mathsf{M}',
|
||||
120237: u'\\mathsf{N}',
|
||||
120238: u'\\mathsf{O}',
|
||||
120239: u'\\mathsf{P}',
|
||||
120240: u'\\mathsf{Q}',
|
||||
120241: u'\\mathsf{R}',
|
||||
120242: u'\\mathsf{S}',
|
||||
120243: u'\\mathsf{T}',
|
||||
120244: u'\\mathsf{U}',
|
||||
120245: u'\\mathsf{V}',
|
||||
120246: u'\\mathsf{W}',
|
||||
120247: u'\\mathsf{X}',
|
||||
120248: u'\\mathsf{Y}',
|
||||
120249: u'\\mathsf{Z}',
|
||||
120250: u'\\mathsf{a}',
|
||||
120251: u'\\mathsf{b}',
|
||||
120252: u'\\mathsf{c}',
|
||||
120253: u'\\mathsf{d}',
|
||||
120254: u'\\mathsf{e}',
|
||||
120255: u'\\mathsf{f}',
|
||||
120256: u'\\mathsf{g}',
|
||||
120257: u'\\mathsf{h}',
|
||||
120258: u'\\mathsf{i}',
|
||||
120259: u'\\mathsf{j}',
|
||||
120260: u'\\mathsf{k}',
|
||||
120261: u'\\mathsf{l}',
|
||||
120262: u'\\mathsf{m}',
|
||||
120263: u'\\mathsf{n}',
|
||||
120264: u'\\mathsf{o}',
|
||||
120265: u'\\mathsf{p}',
|
||||
120266: u'\\mathsf{q}',
|
||||
120267: u'\\mathsf{r}',
|
||||
120268: u'\\mathsf{s}',
|
||||
120269: u'\\mathsf{t}',
|
||||
120270: u'\\mathsf{u}',
|
||||
120271: u'\\mathsf{v}',
|
||||
120272: u'\\mathsf{w}',
|
||||
120273: u'\\mathsf{x}',
|
||||
120274: u'\\mathsf{y}',
|
||||
120275: u'\\mathsf{z}',
|
||||
120432: u'\\mathtt{A}',
|
||||
120433: u'\\mathtt{B}',
|
||||
120434: u'\\mathtt{C}',
|
||||
120435: u'\\mathtt{D}',
|
||||
120436: u'\\mathtt{E}',
|
||||
120437: u'\\mathtt{F}',
|
||||
120438: u'\\mathtt{G}',
|
||||
120439: u'\\mathtt{H}',
|
||||
120440: u'\\mathtt{I}',
|
||||
120441: u'\\mathtt{J}',
|
||||
120442: u'\\mathtt{K}',
|
||||
120443: u'\\mathtt{L}',
|
||||
120444: u'\\mathtt{M}',
|
||||
120445: u'\\mathtt{N}',
|
||||
120446: u'\\mathtt{O}',
|
||||
120447: u'\\mathtt{P}',
|
||||
120448: u'\\mathtt{Q}',
|
||||
120449: u'\\mathtt{R}',
|
||||
120450: u'\\mathtt{S}',
|
||||
120451: u'\\mathtt{T}',
|
||||
120452: u'\\mathtt{U}',
|
||||
120453: u'\\mathtt{V}',
|
||||
120454: u'\\mathtt{W}',
|
||||
120455: u'\\mathtt{X}',
|
||||
120456: u'\\mathtt{Y}',
|
||||
120457: u'\\mathtt{Z}',
|
||||
120458: u'\\mathtt{a}',
|
||||
120459: u'\\mathtt{b}',
|
||||
120460: u'\\mathtt{c}',
|
||||
120461: u'\\mathtt{d}',
|
||||
120462: u'\\mathtt{e}',
|
||||
120463: u'\\mathtt{f}',
|
||||
120464: u'\\mathtt{g}',
|
||||
120465: u'\\mathtt{h}',
|
||||
120466: u'\\mathtt{i}',
|
||||
120467: u'\\mathtt{j}',
|
||||
120468: u'\\mathtt{k}',
|
||||
120469: u'\\mathtt{l}',
|
||||
120470: u'\\mathtt{m}',
|
||||
120471: u'\\mathtt{n}',
|
||||
120472: u'\\mathtt{o}',
|
||||
120473: u'\\mathtt{p}',
|
||||
120474: u'\\mathtt{q}',
|
||||
120475: u'\\mathtt{r}',
|
||||
120476: u'\\mathtt{s}',
|
||||
120477: u'\\mathtt{t}',
|
||||
120478: u'\\mathtt{u}',
|
||||
120479: u'\\mathtt{v}',
|
||||
120480: u'\\mathtt{w}',
|
||||
120481: u'\\mathtt{x}',
|
||||
120482: u'\\mathtt{y}',
|
||||
120483: u'\\mathtt{z}',
|
||||
120484: u'\\imath ',
|
||||
120485: u'\\jmath ',
|
||||
120490: u'\\mathbf{\\Gamma}',
|
||||
120491: u'\\mathbf{\\Delta}',
|
||||
120495: u'\\mathbf{\\Theta}',
|
||||
120498: u'\\mathbf{\\Lambda}',
|
||||
120501: u'\\mathbf{\\Xi}',
|
||||
120503: u'\\mathbf{\\Pi}',
|
||||
120506: u'\\mathbf{\\Sigma}',
|
||||
120508: u'\\mathbf{\\Upsilon}',
|
||||
120509: u'\\mathbf{\\Phi}',
|
||||
120511: u'\\mathbf{\\Psi}',
|
||||
120512: u'\\mathbf{\\Omega}',
|
||||
120548: u'\\mathit{\\Gamma}',
|
||||
120549: u'\\mathit{\\Delta}',
|
||||
120553: u'\\mathit{\\Theta}',
|
||||
120556: u'\\mathit{\\Lambda}',
|
||||
120559: u'\\mathit{\\Xi}',
|
||||
120561: u'\\mathit{\\Pi}',
|
||||
120564: u'\\mathit{\\Sigma}',
|
||||
120566: u'\\mathit{\\Upsilon}',
|
||||
120567: u'\\mathit{\\Phi}',
|
||||
120569: u'\\mathit{\\Psi}',
|
||||
120570: u'\\mathit{\\Omega}',
|
||||
120572: u'\\alpha ',
|
||||
120573: u'\\beta ',
|
||||
120574: u'\\gamma ',
|
||||
120575: u'\\delta ',
|
||||
120576: u'\\varepsilon ',
|
||||
120577: u'\\zeta ',
|
||||
120578: u'\\eta ',
|
||||
120579: u'\\theta ',
|
||||
120580: u'\\iota ',
|
||||
120581: u'\\kappa ',
|
||||
120582: u'\\lambda ',
|
||||
120583: u'\\mu ',
|
||||
120584: u'\\nu ',
|
||||
120585: u'\\xi ',
|
||||
120587: u'\\pi ',
|
||||
120588: u'\\rho ',
|
||||
120589: u'\\varsigma ',
|
||||
120590: u'\\sigma ',
|
||||
120591: u'\\tau ',
|
||||
120592: u'\\upsilon ',
|
||||
120593: u'\\varphi ',
|
||||
120594: u'\\chi ',
|
||||
120595: u'\\psi ',
|
||||
120596: u'\\omega ',
|
||||
120597: u'\\partial ',
|
||||
120598: u'\\epsilon ',
|
||||
120599: u'\\vartheta ',
|
||||
120600: u'\\varkappa ',
|
||||
120601: u'\\phi ',
|
||||
120602: u'\\varrho ',
|
||||
120603: u'\\varpi ',
|
||||
120782: u'\\mathbf{0}',
|
||||
120783: u'\\mathbf{1}',
|
||||
120784: u'\\mathbf{2}',
|
||||
120785: u'\\mathbf{3}',
|
||||
120786: u'\\mathbf{4}',
|
||||
120787: u'\\mathbf{5}',
|
||||
120788: u'\\mathbf{6}',
|
||||
120789: u'\\mathbf{7}',
|
||||
120790: u'\\mathbf{8}',
|
||||
120791: u'\\mathbf{9}',
|
||||
120802: u'\\mathsf{0}',
|
||||
120803: u'\\mathsf{1}',
|
||||
120804: u'\\mathsf{2}',
|
||||
120805: u'\\mathsf{3}',
|
||||
120806: u'\\mathsf{4}',
|
||||
120807: u'\\mathsf{5}',
|
||||
120808: u'\\mathsf{6}',
|
||||
120809: u'\\mathsf{7}',
|
||||
120810: u'\\mathsf{8}',
|
||||
120811: u'\\mathsf{9}',
|
||||
120822: u'\\mathtt{0}',
|
||||
120823: u'\\mathtt{1}',
|
||||
120824: u'\\mathtt{2}',
|
||||
120825: u'\\mathtt{3}',
|
||||
120826: u'\\mathtt{4}',
|
||||
120827: u'\\mathtt{5}',
|
||||
120828: u'\\mathtt{6}',
|
||||
120829: u'\\mathtt{7}',
|
||||
120830: u'\\mathtt{8}',
|
||||
120831: u'\\mathtt{9}',
|
||||
}
|
1933
docutils/nodes.py
Normal file
1933
docutils/nodes.py
Normal file
File diff suppressed because it is too large
Load diff
47
docutils/parsers/__init__.py
Normal file
47
docutils/parsers/__init__.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
# $Id: __init__.py 5618 2008-07-28 08:37:32Z strank $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
This package contains Docutils parser modules.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
from docutils import Component
|
||||
|
||||
|
||||
class Parser(Component):
|
||||
|
||||
component_type = 'parser'
|
||||
config_section = 'parsers'
|
||||
|
||||
def parse(self, inputstring, document):
|
||||
"""Override to parse `inputstring` into document tree `document`."""
|
||||
raise NotImplementedError('subclass must override this method')
|
||||
|
||||
def setup_parse(self, inputstring, document):
|
||||
"""Initial parse setup. Call at start of `self.parse()`."""
|
||||
self.inputstring = inputstring
|
||||
self.document = document
|
||||
document.reporter.attach_observer(document.note_parse_message)
|
||||
|
||||
def finish_parse(self):
|
||||
"""Finalize parse details. Call at end of `self.parse()`."""
|
||||
self.document.reporter.detach_observer(
|
||||
self.document.note_parse_message)
|
||||
|
||||
|
||||
_parser_aliases = {
|
||||
'restructuredtext': 'rst',
|
||||
'rest': 'rst',
|
||||
'restx': 'rst',
|
||||
'rtxt': 'rst',}
|
||||
|
||||
def get_parser_class(parser_name):
|
||||
"""Return the Parser class from the `parser_name` module."""
|
||||
parser_name = parser_name.lower()
|
||||
if parser_name in _parser_aliases:
|
||||
parser_name = _parser_aliases[parser_name]
|
||||
module = __import__(parser_name, globals(), locals())
|
||||
return module.Parser
|
20
docutils/parsers/null.py
Normal file
20
docutils/parsers/null.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
# $Id: null.py 4564 2006-05-21 20:44:42Z wiemann $
|
||||
# Author: Martin Blais <blais@furius.ca>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""A do-nothing parser."""
|
||||
|
||||
from docutils import parsers
|
||||
|
||||
|
||||
class Parser(parsers.Parser):
|
||||
|
||||
"""A do-nothing parser."""
|
||||
|
||||
supported = ('null',)
|
||||
|
||||
config_section = 'null parser'
|
||||
config_section_dependencies = ('parsers',)
|
||||
|
||||
def parse(self, inputstring, document):
|
||||
pass
|
390
docutils/parsers/rst/__init__.py
Normal file
390
docutils/parsers/rst/__init__.py
Normal file
|
@ -0,0 +1,390 @@
|
|||
# $Id: __init__.py 7320 2012-01-19 22:33:02Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
This is ``docutils.parsers.rst`` package. It exports a single class, `Parser`,
|
||||
the reStructuredText parser.
|
||||
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
1. Create a parser::
|
||||
|
||||
parser = docutils.parsers.rst.Parser()
|
||||
|
||||
Several optional arguments may be passed to modify the parser's behavior.
|
||||
Please see `Customizing the Parser`_ below for details.
|
||||
|
||||
2. Gather input (a multi-line string), by reading a file or the standard
|
||||
input::
|
||||
|
||||
input = sys.stdin.read()
|
||||
|
||||
3. Create a new empty `docutils.nodes.document` tree::
|
||||
|
||||
document = docutils.utils.new_document(source, settings)
|
||||
|
||||
See `docutils.utils.new_document()` for parameter details.
|
||||
|
||||
4. Run the parser, populating the document tree::
|
||||
|
||||
parser.parse(input, document)
|
||||
|
||||
|
||||
Parser Overview
|
||||
===============
|
||||
|
||||
The reStructuredText parser is implemented as a state machine, examining its
|
||||
input one line at a time. To understand how the parser works, please first
|
||||
become familiar with the `docutils.statemachine` module, then see the
|
||||
`states` module.
|
||||
|
||||
|
||||
Customizing the Parser
|
||||
----------------------
|
||||
|
||||
Anything that isn't already customizable is that way simply because that type
|
||||
of customizability hasn't been implemented yet. Patches welcome!
|
||||
|
||||
When instantiating an object of the `Parser` class, two parameters may be
|
||||
passed: ``rfc2822`` and ``inliner``. Pass ``rfc2822=True`` to enable an
|
||||
initial RFC-2822 style header block, parsed as a "field_list" element (with
|
||||
"class" attribute set to "rfc2822"). Currently this is the only body-level
|
||||
element which is customizable without subclassing. (Tip: subclass `Parser`
|
||||
and change its "state_classes" and "initial_state" attributes to refer to new
|
||||
classes. Contact the author if you need more details.)
|
||||
|
||||
The ``inliner`` parameter takes an instance of `states.Inliner` or a subclass.
|
||||
It handles inline markup recognition. A common extension is the addition of
|
||||
further implicit hyperlinks, like "RFC 2822". This can be done by subclassing
|
||||
`states.Inliner`, adding a new method for the implicit markup, and adding a
|
||||
``(pattern, method)`` pair to the "implicit_dispatch" attribute of the
|
||||
subclass. See `states.Inliner.implicit_inline()` for details. Explicit
|
||||
inline markup can be customized in a `states.Inliner` subclass via the
|
||||
``patterns.initial`` and ``dispatch`` attributes (and new methods as
|
||||
appropriate).
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
import docutils.parsers
|
||||
import docutils.statemachine
|
||||
from docutils.parsers.rst import states
|
||||
from docutils import frontend, nodes
|
||||
|
||||
|
||||
class Parser(docutils.parsers.Parser):
|
||||
|
||||
"""The reStructuredText parser."""
|
||||
|
||||
supported = ('restructuredtext', 'rst', 'rest', 'restx', 'rtxt', 'rstx')
|
||||
"""Aliases this parser supports."""
|
||||
|
||||
settings_spec = (
|
||||
'reStructuredText Parser Options',
|
||||
None,
|
||||
(('Recognize and link to standalone PEP references (like "PEP 258").',
|
||||
['--pep-references'],
|
||||
{'action': 'store_true', 'validator': frontend.validate_boolean}),
|
||||
('Base URL for PEP references '
|
||||
'(default "http://www.python.org/dev/peps/").',
|
||||
['--pep-base-url'],
|
||||
{'metavar': '<URL>', 'default': 'http://www.python.org/dev/peps/',
|
||||
'validator': frontend.validate_url_trailing_slash}),
|
||||
('Template for PEP file part of URL. (default "pep-%04d")',
|
||||
['--pep-file-url-template'],
|
||||
{'metavar': '<URL>', 'default': 'pep-%04d'}),
|
||||
('Recognize and link to standalone RFC references (like "RFC 822").',
|
||||
['--rfc-references'],
|
||||
{'action': 'store_true', 'validator': frontend.validate_boolean}),
|
||||
('Base URL for RFC references (default "http://www.faqs.org/rfcs/").',
|
||||
['--rfc-base-url'],
|
||||
{'metavar': '<URL>', 'default': 'http://www.faqs.org/rfcs/',
|
||||
'validator': frontend.validate_url_trailing_slash}),
|
||||
('Set number of spaces for tab expansion (default 8).',
|
||||
['--tab-width'],
|
||||
{'metavar': '<width>', 'type': 'int', 'default': 8,
|
||||
'validator': frontend.validate_nonnegative_int}),
|
||||
('Remove spaces before footnote references.',
|
||||
['--trim-footnote-reference-space'],
|
||||
{'action': 'store_true', 'validator': frontend.validate_boolean}),
|
||||
('Leave spaces before footnote references.',
|
||||
['--leave-footnote-reference-space'],
|
||||
{'action': 'store_false', 'dest': 'trim_footnote_reference_space'}),
|
||||
('Disable directives that insert the contents of external file '
|
||||
'("include" & "raw"); replaced with a "warning" system message.',
|
||||
['--no-file-insertion'],
|
||||
{'action': 'store_false', 'default': 1,
|
||||
'dest': 'file_insertion_enabled',
|
||||
'validator': frontend.validate_boolean}),
|
||||
('Enable directives that insert the contents of external file '
|
||||
'("include" & "raw"). Enabled by default.',
|
||||
['--file-insertion-enabled'],
|
||||
{'action': 'store_true'}),
|
||||
('Disable the "raw" directives; replaced with a "warning" '
|
||||
'system message.',
|
||||
['--no-raw'],
|
||||
{'action': 'store_false', 'default': 1, 'dest': 'raw_enabled',
|
||||
'validator': frontend.validate_boolean}),
|
||||
('Enable the "raw" directive. Enabled by default.',
|
||||
['--raw-enabled'],
|
||||
{'action': 'store_true'}),
|
||||
('Token name set for parsing code with Pygments: one of '
|
||||
'"long", "short", or "none (no parsing)". Default is "short".',
|
||||
['--syntax-highlight'],
|
||||
{'choices': ['long', 'short', 'none'],
|
||||
'default': 'short', 'metavar': '<format>'}),))
|
||||
|
||||
config_section = 'restructuredtext parser'
|
||||
config_section_dependencies = ('parsers',)
|
||||
|
||||
def __init__(self, rfc2822=False, inliner=None):
|
||||
if rfc2822:
|
||||
self.initial_state = 'RFC2822Body'
|
||||
else:
|
||||
self.initial_state = 'Body'
|
||||
self.state_classes = states.state_classes
|
||||
self.inliner = inliner
|
||||
|
||||
def parse(self, inputstring, document):
|
||||
"""Parse `inputstring` and populate `document`, a document tree."""
|
||||
self.setup_parse(inputstring, document)
|
||||
self.statemachine = states.RSTStateMachine(
|
||||
state_classes=self.state_classes,
|
||||
initial_state=self.initial_state,
|
||||
debug=document.reporter.debug_flag)
|
||||
inputlines = docutils.statemachine.string2lines(
|
||||
inputstring, tab_width=document.settings.tab_width,
|
||||
convert_whitespace=True)
|
||||
self.statemachine.run(inputlines, document, inliner=self.inliner)
|
||||
self.finish_parse()
|
||||
|
||||
|
||||
class DirectiveError(Exception):
|
||||
|
||||
"""
|
||||
Store a message and a system message level.
|
||||
|
||||
To be thrown from inside directive code.
|
||||
|
||||
Do not instantiate directly -- use `Directive.directive_error()`
|
||||
instead!
|
||||
"""
|
||||
|
||||
def __init__(self, level, message):
|
||||
"""Set error `message` and `level`"""
|
||||
Exception.__init__(self)
|
||||
self.level = level
|
||||
self.msg = message
|
||||
|
||||
|
||||
class Directive(object):
|
||||
|
||||
"""
|
||||
Base class for reStructuredText directives.
|
||||
|
||||
The following attributes may be set by subclasses. They are
|
||||
interpreted by the directive parser (which runs the directive
|
||||
class):
|
||||
|
||||
- `required_arguments`: The number of required arguments (default:
|
||||
0).
|
||||
|
||||
- `optional_arguments`: The number of optional arguments (default:
|
||||
0).
|
||||
|
||||
- `final_argument_whitespace`: A boolean, indicating if the final
|
||||
argument may contain whitespace (default: False).
|
||||
|
||||
- `option_spec`: A dictionary, mapping known option names to
|
||||
conversion functions such as `int` or `float` (default: {}, no
|
||||
options). Several conversion functions are defined in the
|
||||
directives/__init__.py module.
|
||||
|
||||
Option conversion functions take a single parameter, the option
|
||||
argument (a string or ``None``), validate it and/or convert it
|
||||
to the appropriate form. Conversion functions may raise
|
||||
`ValueError` and `TypeError` exceptions.
|
||||
|
||||
- `has_content`: A boolean; True if content is allowed. Client
|
||||
code must handle the case where content is required but not
|
||||
supplied (an empty content list will be supplied).
|
||||
|
||||
Arguments are normally single whitespace-separated words. The
|
||||
final argument may contain whitespace and/or newlines if
|
||||
`final_argument_whitespace` is True.
|
||||
|
||||
If the form of the arguments is more complex, specify only one
|
||||
argument (either required or optional) and set
|
||||
`final_argument_whitespace` to True; the client code must do any
|
||||
context-sensitive parsing.
|
||||
|
||||
When a directive implementation is being run, the directive class
|
||||
is instantiated, and the `run()` method is executed. During
|
||||
instantiation, the following instance variables are set:
|
||||
|
||||
- ``name`` is the directive type or name (string).
|
||||
|
||||
- ``arguments`` is the list of positional arguments (strings).
|
||||
|
||||
- ``options`` is a dictionary mapping option names (strings) to
|
||||
values (type depends on option conversion functions; see
|
||||
`option_spec` above).
|
||||
|
||||
- ``content`` is a list of strings, the directive content line by line.
|
||||
|
||||
- ``lineno`` is the absolute line number of the first line
|
||||
of the directive.
|
||||
|
||||
- ``src`` is the name (or path) of the rst source of the directive.
|
||||
|
||||
- ``srcline`` is the line number of the first line of the directive
|
||||
in its source. It may differ from ``lineno``, if the main source
|
||||
includes other sources with the ``.. include::`` directive.
|
||||
|
||||
- ``content_offset`` is the line offset of the first line of the content from
|
||||
the beginning of the current input. Used when initiating a nested parse.
|
||||
|
||||
- ``block_text`` is a string containing the entire directive.
|
||||
|
||||
- ``state`` is the state which called the directive function.
|
||||
|
||||
- ``state_machine`` is the state machine which controls the state which called
|
||||
the directive function.
|
||||
|
||||
Directive functions return a list of nodes which will be inserted
|
||||
into the document tree at the point where the directive was
|
||||
encountered. This can be an empty list if there is nothing to
|
||||
insert.
|
||||
|
||||
For ordinary directives, the list must contain body elements or
|
||||
structural elements. Some directives are intended specifically
|
||||
for substitution definitions, and must return a list of `Text`
|
||||
nodes and/or inline elements (suitable for inline insertion, in
|
||||
place of the substitution reference). Such directives must verify
|
||||
substitution definition context, typically using code like this::
|
||||
|
||||
if not isinstance(state, states.SubstitutionDef):
|
||||
error = state_machine.reporter.error(
|
||||
'Invalid context: the "%s" directive can only be used '
|
||||
'within a substitution definition.' % (name),
|
||||
nodes.literal_block(block_text, block_text), line=lineno)
|
||||
return [error]
|
||||
"""
|
||||
|
||||
# There is a "Creating reStructuredText Directives" how-to at
|
||||
# <http://docutils.sf.net/docs/howto/rst-directives.html>. If you
|
||||
# update this docstring, please update the how-to as well.
|
||||
|
||||
required_arguments = 0
|
||||
"""Number of required directive arguments."""
|
||||
|
||||
optional_arguments = 0
|
||||
"""Number of optional arguments after the required arguments."""
|
||||
|
||||
final_argument_whitespace = False
|
||||
"""May the final argument contain whitespace?"""
|
||||
|
||||
option_spec = None
|
||||
"""Mapping of option names to validator functions."""
|
||||
|
||||
has_content = False
|
||||
"""May the directive have content?"""
|
||||
|
||||
def __init__(self, name, arguments, options, content, lineno,
|
||||
content_offset, block_text, state, state_machine):
|
||||
self.name = name
|
||||
self.arguments = arguments
|
||||
self.options = options
|
||||
self.content = content
|
||||
self.lineno = lineno
|
||||
self.content_offset = content_offset
|
||||
self.block_text = block_text
|
||||
self.state = state
|
||||
self.state_machine = state_machine
|
||||
|
||||
def run(self):
|
||||
raise NotImplementedError('Must override run() is subclass.')
|
||||
|
||||
# Directive errors:
|
||||
|
||||
def directive_error(self, level, message):
|
||||
"""
|
||||
Return a DirectiveError suitable for being thrown as an exception.
|
||||
|
||||
Call "raise self.directive_error(level, message)" from within
|
||||
a directive implementation to return one single system message
|
||||
at level `level`, which automatically gets the directive block
|
||||
and the line number added.
|
||||
|
||||
Preferably use the `debug`, `info`, `warning`, `error`, or `severe`
|
||||
wrapper methods, e.g. ``self.error(message)`` to generate an
|
||||
ERROR-level directive error.
|
||||
"""
|
||||
return DirectiveError(level, message)
|
||||
|
||||
def debug(self, message):
|
||||
return self.directive_error(0, message)
|
||||
|
||||
def info(self, message):
|
||||
return self.directive_error(1, message)
|
||||
|
||||
def warning(self, message):
|
||||
return self.directive_error(2, message)
|
||||
|
||||
def error(self, message):
|
||||
return self.directive_error(3, message)
|
||||
|
||||
def severe(self, message):
|
||||
return self.directive_error(4, message)
|
||||
|
||||
# Convenience methods:
|
||||
|
||||
def assert_has_content(self):
|
||||
"""
|
||||
Throw an ERROR-level DirectiveError if the directive doesn't
|
||||
have contents.
|
||||
"""
|
||||
if not self.content:
|
||||
raise self.error('Content block expected for the "%s" directive; '
|
||||
'none found.' % self.name)
|
||||
|
||||
def add_name(self, node):
|
||||
"""Append self.options['name'] to node['names'] if it exists.
|
||||
|
||||
Also normalize the name string and register it as explicit target.
|
||||
"""
|
||||
if 'name' in self.options:
|
||||
name = nodes.fully_normalize_name(self.options.pop('name'))
|
||||
if 'name' in node:
|
||||
del(node['name'])
|
||||
node['names'].append(name)
|
||||
self.state.document.note_explicit_target(node, node)
|
||||
|
||||
|
||||
def convert_directive_function(directive_fn):
|
||||
"""
|
||||
Define & return a directive class generated from `directive_fn`.
|
||||
|
||||
`directive_fn` uses the old-style, functional interface.
|
||||
"""
|
||||
|
||||
class FunctionalDirective(Directive):
|
||||
|
||||
option_spec = getattr(directive_fn, 'options', None)
|
||||
has_content = getattr(directive_fn, 'content', False)
|
||||
_argument_spec = getattr(directive_fn, 'arguments', (0, 0, False))
|
||||
required_arguments, optional_arguments, final_argument_whitespace \
|
||||
= _argument_spec
|
||||
|
||||
def run(self):
|
||||
return directive_fn(
|
||||
self.name, self.arguments, self.options, self.content,
|
||||
self.lineno, self.content_offset, self.block_text,
|
||||
self.state, self.state_machine)
|
||||
|
||||
# Return new-style directive.
|
||||
return FunctionalDirective
|
397
docutils/parsers/rst/directives/__init__.py
Normal file
397
docutils/parsers/rst/directives/__init__.py
Normal file
|
@ -0,0 +1,397 @@
|
|||
# $Id: __init__.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
This package contains directive implementation modules.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
import re
|
||||
import codecs
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst.languages import en as _fallback_language_module
|
||||
|
||||
|
||||
_directive_registry = {
|
||||
'attention': ('admonitions', 'Attention'),
|
||||
'caution': ('admonitions', 'Caution'),
|
||||
'code': ('body', 'CodeBlock'),
|
||||
'danger': ('admonitions', 'Danger'),
|
||||
'error': ('admonitions', 'Error'),
|
||||
'important': ('admonitions', 'Important'),
|
||||
'note': ('admonitions', 'Note'),
|
||||
'tip': ('admonitions', 'Tip'),
|
||||
'hint': ('admonitions', 'Hint'),
|
||||
'warning': ('admonitions', 'Warning'),
|
||||
'admonition': ('admonitions', 'Admonition'),
|
||||
'sidebar': ('body', 'Sidebar'),
|
||||
'topic': ('body', 'Topic'),
|
||||
'line-block': ('body', 'LineBlock'),
|
||||
'parsed-literal': ('body', 'ParsedLiteral'),
|
||||
'math': ('body', 'MathBlock'),
|
||||
'rubric': ('body', 'Rubric'),
|
||||
'epigraph': ('body', 'Epigraph'),
|
||||
'highlights': ('body', 'Highlights'),
|
||||
'pull-quote': ('body', 'PullQuote'),
|
||||
'compound': ('body', 'Compound'),
|
||||
'container': ('body', 'Container'),
|
||||
#'questions': ('body', 'question_list'),
|
||||
'table': ('tables', 'RSTTable'),
|
||||
'csv-table': ('tables', 'CSVTable'),
|
||||
'list-table': ('tables', 'ListTable'),
|
||||
'image': ('images', 'Image'),
|
||||
'figure': ('images', 'Figure'),
|
||||
'contents': ('parts', 'Contents'),
|
||||
'sectnum': ('parts', 'Sectnum'),
|
||||
'header': ('parts', 'Header'),
|
||||
'footer': ('parts', 'Footer'),
|
||||
#'footnotes': ('parts', 'footnotes'),
|
||||
#'citations': ('parts', 'citations'),
|
||||
'target-notes': ('references', 'TargetNotes'),
|
||||
'meta': ('html', 'Meta'),
|
||||
#'imagemap': ('html', 'imagemap'),
|
||||
'raw': ('misc', 'Raw'),
|
||||
'include': ('misc', 'Include'),
|
||||
'replace': ('misc', 'Replace'),
|
||||
'unicode': ('misc', 'Unicode'),
|
||||
'class': ('misc', 'Class'),
|
||||
'role': ('misc', 'Role'),
|
||||
'default-role': ('misc', 'DefaultRole'),
|
||||
'title': ('misc', 'Title'),
|
||||
'date': ('misc', 'Date'),
|
||||
'restructuredtext-test-directive': ('misc', 'TestDirective'),}
|
||||
"""Mapping of directive name to (module name, class name). The
|
||||
directive name is canonical & must be lowercase. Language-dependent
|
||||
names are defined in the ``language`` subpackage."""
|
||||
|
||||
_directives = {}
|
||||
"""Cache of imported directives."""
|
||||
|
||||
def directive(directive_name, language_module, document):
|
||||
"""
|
||||
Locate and return a directive function from its language-dependent name.
|
||||
If not found in the current language, check English. Return None if the
|
||||
named directive cannot be found.
|
||||
"""
|
||||
normname = directive_name.lower()
|
||||
messages = []
|
||||
msg_text = []
|
||||
if normname in _directives:
|
||||
return _directives[normname], messages
|
||||
canonicalname = None
|
||||
try:
|
||||
canonicalname = language_module.directives[normname]
|
||||
except AttributeError, error:
|
||||
msg_text.append('Problem retrieving directive entry from language '
|
||||
'module %r: %s.' % (language_module, error))
|
||||
except KeyError:
|
||||
msg_text.append('No directive entry for "%s" in module "%s".'
|
||||
% (directive_name, language_module.__name__))
|
||||
if not canonicalname:
|
||||
try:
|
||||
canonicalname = _fallback_language_module.directives[normname]
|
||||
msg_text.append('Using English fallback for directive "%s".'
|
||||
% directive_name)
|
||||
except KeyError:
|
||||
msg_text.append('Trying "%s" as canonical directive name.'
|
||||
% directive_name)
|
||||
# The canonical name should be an English name, but just in case:
|
||||
canonicalname = normname
|
||||
if msg_text:
|
||||
message = document.reporter.info(
|
||||
'\n'.join(msg_text), line=document.current_line)
|
||||
messages.append(message)
|
||||
try:
|
||||
modulename, classname = _directive_registry[canonicalname]
|
||||
except KeyError:
|
||||
# Error handling done by caller.
|
||||
return None, messages
|
||||
try:
|
||||
module = __import__(modulename, globals(), locals())
|
||||
except ImportError, detail:
|
||||
messages.append(document.reporter.error(
|
||||
'Error importing directive module "%s" (directive "%s"):\n%s'
|
||||
% (modulename, directive_name, detail),
|
||||
line=document.current_line))
|
||||
return None, messages
|
||||
try:
|
||||
directive = getattr(module, classname)
|
||||
_directives[normname] = directive
|
||||
except AttributeError:
|
||||
messages.append(document.reporter.error(
|
||||
'No directive class "%s" in module "%s" (directive "%s").'
|
||||
% (classname, modulename, directive_name),
|
||||
line=document.current_line))
|
||||
return None, messages
|
||||
return directive, messages
|
||||
|
||||
def register_directive(name, directive):
|
||||
"""
|
||||
Register a nonstandard application-defined directive function.
|
||||
Language lookups are not needed for such functions.
|
||||
"""
|
||||
_directives[name] = directive
|
||||
|
||||
def flag(argument):
|
||||
"""
|
||||
Check for a valid flag option (no argument) and return ``None``.
|
||||
(Directive option conversion function.)
|
||||
|
||||
Raise ``ValueError`` if an argument is found.
|
||||
"""
|
||||
if argument and argument.strip():
|
||||
raise ValueError('no argument is allowed; "%s" supplied' % argument)
|
||||
else:
|
||||
return None
|
||||
|
||||
def unchanged_required(argument):
|
||||
"""
|
||||
Return the argument text, unchanged.
|
||||
(Directive option conversion function.)
|
||||
|
||||
Raise ``ValueError`` if no argument is found.
|
||||
"""
|
||||
if argument is None:
|
||||
raise ValueError('argument required but none supplied')
|
||||
else:
|
||||
return argument # unchanged!
|
||||
|
||||
def unchanged(argument):
|
||||
"""
|
||||
Return the argument text, unchanged.
|
||||
(Directive option conversion function.)
|
||||
|
||||
No argument implies empty string ("").
|
||||
"""
|
||||
if argument is None:
|
||||
return u''
|
||||
else:
|
||||
return argument # unchanged!
|
||||
|
||||
def path(argument):
|
||||
"""
|
||||
Return the path argument unwrapped (with newlines removed).
|
||||
(Directive option conversion function.)
|
||||
|
||||
Raise ``ValueError`` if no argument is found.
|
||||
"""
|
||||
if argument is None:
|
||||
raise ValueError('argument required but none supplied')
|
||||
else:
|
||||
path = ''.join([s.strip() for s in argument.splitlines()])
|
||||
return path
|
||||
|
||||
def uri(argument):
|
||||
"""
|
||||
Return the URI argument with whitespace removed.
|
||||
(Directive option conversion function.)
|
||||
|
||||
Raise ``ValueError`` if no argument is found.
|
||||
"""
|
||||
if argument is None:
|
||||
raise ValueError('argument required but none supplied')
|
||||
else:
|
||||
uri = ''.join(argument.split())
|
||||
return uri
|
||||
|
||||
def nonnegative_int(argument):
|
||||
"""
|
||||
Check for a nonnegative integer argument; raise ``ValueError`` if not.
|
||||
(Directive option conversion function.)
|
||||
"""
|
||||
value = int(argument)
|
||||
if value < 0:
|
||||
raise ValueError('negative value; must be positive or zero')
|
||||
return value
|
||||
|
||||
def percentage(argument):
|
||||
"""
|
||||
Check for an integer percentage value with optional percent sign.
|
||||
"""
|
||||
try:
|
||||
argument = argument.rstrip(' %')
|
||||
except AttributeError:
|
||||
pass
|
||||
return nonnegative_int(argument)
|
||||
|
||||
length_units = ['em', 'ex', 'px', 'in', 'cm', 'mm', 'pt', 'pc']
|
||||
|
||||
def get_measure(argument, units):
|
||||
"""
|
||||
Check for a positive argument of one of the units and return a
|
||||
normalized string of the form "<value><unit>" (without space in
|
||||
between).
|
||||
|
||||
To be called from directive option conversion functions.
|
||||
"""
|
||||
match = re.match(r'^([0-9.]+) *(%s)$' % '|'.join(units), argument)
|
||||
try:
|
||||
assert match is not None
|
||||
float(match.group(1))
|
||||
except (AssertionError, ValueError):
|
||||
raise ValueError(
|
||||
'not a positive measure of one of the following units:\n%s'
|
||||
% ' '.join(['"%s"' % i for i in units]))
|
||||
return match.group(1) + match.group(2)
|
||||
|
||||
def length_or_unitless(argument):
|
||||
return get_measure(argument, length_units + [''])
|
||||
|
||||
def length_or_percentage_or_unitless(argument, default=''):
|
||||
"""
|
||||
Return normalized string of a length or percentage unit.
|
||||
|
||||
Add <default> if there is no unit. Raise ValueError if the argument is not
|
||||
a positive measure of one of the valid CSS units (or without unit).
|
||||
|
||||
>>> length_or_percentage_or_unitless('3 pt')
|
||||
'3pt'
|
||||
>>> length_or_percentage_or_unitless('3%', 'em')
|
||||
'3%'
|
||||
>>> length_or_percentage_or_unitless('3')
|
||||
'3'
|
||||
>>> length_or_percentage_or_unitless('3', 'px')
|
||||
'3px'
|
||||
"""
|
||||
try:
|
||||
return get_measure(argument, length_units + ['%'])
|
||||
except ValueError:
|
||||
return get_measure(argument, ['']) + default
|
||||
|
||||
def class_option(argument):
|
||||
"""
|
||||
Convert the argument into a list of ID-compatible strings and return it.
|
||||
(Directive option conversion function.)
|
||||
|
||||
Raise ``ValueError`` if no argument is found.
|
||||
"""
|
||||
if argument is None:
|
||||
raise ValueError('argument required but none supplied')
|
||||
names = argument.split()
|
||||
class_names = []
|
||||
for name in names:
|
||||
class_name = nodes.make_id(name)
|
||||
if not class_name:
|
||||
raise ValueError('cannot make "%s" into a class name' % name)
|
||||
class_names.append(class_name)
|
||||
return class_names
|
||||
|
||||
unicode_pattern = re.compile(
|
||||
r'(?:0x|x|\\x|U\+?|\\u)([0-9a-f]+)$|&#x([0-9a-f]+);$', re.IGNORECASE)
|
||||
|
||||
def unicode_code(code):
|
||||
r"""
|
||||
Convert a Unicode character code to a Unicode character.
|
||||
(Directive option conversion function.)
|
||||
|
||||
Codes may be decimal numbers, hexadecimal numbers (prefixed by ``0x``,
|
||||
``x``, ``\x``, ``U+``, ``u``, or ``\u``; e.g. ``U+262E``), or XML-style
|
||||
numeric character entities (e.g. ``☮``). Other text remains as-is.
|
||||
|
||||
Raise ValueError for illegal Unicode code values.
|
||||
"""
|
||||
try:
|
||||
if code.isdigit(): # decimal number
|
||||
return unichr(int(code))
|
||||
else:
|
||||
match = unicode_pattern.match(code)
|
||||
if match: # hex number
|
||||
value = match.group(1) or match.group(2)
|
||||
return unichr(int(value, 16))
|
||||
else: # other text
|
||||
return code
|
||||
except OverflowError, detail:
|
||||
raise ValueError('code too large (%s)' % detail)
|
||||
|
||||
def single_char_or_unicode(argument):
|
||||
"""
|
||||
A single character is returned as-is. Unicode characters codes are
|
||||
converted as in `unicode_code`. (Directive option conversion function.)
|
||||
"""
|
||||
char = unicode_code(argument)
|
||||
if len(char) > 1:
|
||||
raise ValueError('%r invalid; must be a single character or '
|
||||
'a Unicode code' % char)
|
||||
return char
|
||||
|
||||
def single_char_or_whitespace_or_unicode(argument):
|
||||
"""
|
||||
As with `single_char_or_unicode`, but "tab" and "space" are also supported.
|
||||
(Directive option conversion function.)
|
||||
"""
|
||||
if argument == 'tab':
|
||||
char = '\t'
|
||||
elif argument == 'space':
|
||||
char = ' '
|
||||
else:
|
||||
char = single_char_or_unicode(argument)
|
||||
return char
|
||||
|
||||
def positive_int(argument):
|
||||
"""
|
||||
Converts the argument into an integer. Raises ValueError for negative,
|
||||
zero, or non-integer values. (Directive option conversion function.)
|
||||
"""
|
||||
value = int(argument)
|
||||
if value < 1:
|
||||
raise ValueError('negative or zero value; must be positive')
|
||||
return value
|
||||
|
||||
def positive_int_list(argument):
|
||||
"""
|
||||
Converts a space- or comma-separated list of values into a Python list
|
||||
of integers.
|
||||
(Directive option conversion function.)
|
||||
|
||||
Raises ValueError for non-positive-integer values.
|
||||
"""
|
||||
if ',' in argument:
|
||||
entries = argument.split(',')
|
||||
else:
|
||||
entries = argument.split()
|
||||
return [positive_int(entry) for entry in entries]
|
||||
|
||||
def encoding(argument):
|
||||
"""
|
||||
Verfies the encoding argument by lookup.
|
||||
(Directive option conversion function.)
|
||||
|
||||
Raises ValueError for unknown encodings.
|
||||
"""
|
||||
try:
|
||||
codecs.lookup(argument)
|
||||
except LookupError:
|
||||
raise ValueError('unknown encoding: "%s"' % argument)
|
||||
return argument
|
||||
|
||||
def choice(argument, values):
|
||||
"""
|
||||
Directive option utility function, supplied to enable options whose
|
||||
argument must be a member of a finite set of possible values (must be
|
||||
lower case). A custom conversion function must be written to use it. For
|
||||
example::
|
||||
|
||||
from docutils.parsers.rst import directives
|
||||
|
||||
def yesno(argument):
|
||||
return directives.choice(argument, ('yes', 'no'))
|
||||
|
||||
Raise ``ValueError`` if no argument is found or if the argument's value is
|
||||
not valid (not an entry in the supplied list).
|
||||
"""
|
||||
try:
|
||||
value = argument.lower().strip()
|
||||
except AttributeError:
|
||||
raise ValueError('must supply an argument; choose from %s'
|
||||
% format_values(values))
|
||||
if value in values:
|
||||
return value
|
||||
else:
|
||||
raise ValueError('"%s" unknown; choose from %s'
|
||||
% (argument, format_values(values)))
|
||||
|
||||
def format_values(values):
|
||||
return '%s, or "%s"' % (', '.join(['"%s"' % s for s in values[:-1]]),
|
||||
values[-1])
|
96
docutils/parsers/rst/directives/admonitions.py
Normal file
96
docutils/parsers/rst/directives/admonitions.py
Normal file
|
@ -0,0 +1,96 @@
|
|||
# $Id: admonitions.py 7072 2011-07-06 15:52:30Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Admonition directives.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
from docutils.parsers.rst import Directive
|
||||
from docutils.parsers.rst import states, directives
|
||||
from docutils.parsers.rst.roles import set_classes
|
||||
from docutils import nodes
|
||||
|
||||
|
||||
class BaseAdmonition(Directive):
|
||||
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
has_content = True
|
||||
|
||||
node_class = None
|
||||
"""Subclasses must set this to the appropriate admonition node class."""
|
||||
|
||||
def run(self):
|
||||
set_classes(self.options)
|
||||
self.assert_has_content()
|
||||
text = '\n'.join(self.content)
|
||||
admonition_node = self.node_class(text, **self.options)
|
||||
self.add_name(admonition_node)
|
||||
if self.node_class is nodes.admonition:
|
||||
title_text = self.arguments[0]
|
||||
textnodes, messages = self.state.inline_text(title_text,
|
||||
self.lineno)
|
||||
admonition_node += nodes.title(title_text, '', *textnodes)
|
||||
admonition_node += messages
|
||||
if not 'classes' in self.options:
|
||||
admonition_node['classes'] += ['admonition-' +
|
||||
nodes.make_id(title_text)]
|
||||
self.state.nested_parse(self.content, self.content_offset,
|
||||
admonition_node)
|
||||
return [admonition_node]
|
||||
|
||||
|
||||
class Admonition(BaseAdmonition):
|
||||
|
||||
required_arguments = 1
|
||||
node_class = nodes.admonition
|
||||
|
||||
|
||||
class Attention(BaseAdmonition):
|
||||
|
||||
node_class = nodes.attention
|
||||
|
||||
|
||||
class Caution(BaseAdmonition):
|
||||
|
||||
node_class = nodes.caution
|
||||
|
||||
|
||||
class Danger(BaseAdmonition):
|
||||
|
||||
node_class = nodes.danger
|
||||
|
||||
|
||||
class Error(BaseAdmonition):
|
||||
|
||||
node_class = nodes.error
|
||||
|
||||
|
||||
class Hint(BaseAdmonition):
|
||||
|
||||
node_class = nodes.hint
|
||||
|
||||
|
||||
class Important(BaseAdmonition):
|
||||
|
||||
node_class = nodes.important
|
||||
|
||||
|
||||
class Note(BaseAdmonition):
|
||||
|
||||
node_class = nodes.note
|
||||
|
||||
|
||||
class Tip(BaseAdmonition):
|
||||
|
||||
node_class = nodes.tip
|
||||
|
||||
|
||||
class Warning(BaseAdmonition):
|
||||
|
||||
node_class = nodes.warning
|
289
docutils/parsers/rst/directives/body.py
Normal file
289
docutils/parsers/rst/directives/body.py
Normal file
|
@ -0,0 +1,289 @@
|
|||
# $Id: body.py 7267 2011-12-20 14:14:21Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Directives for additional body elements.
|
||||
|
||||
See `docutils.parsers.rst.directives` for API details.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
import sys
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import Directive
|
||||
from docutils.parsers.rst import directives
|
||||
from docutils.parsers.rst.roles import set_classes
|
||||
from docutils.utils.code_analyzer import Lexer, LexerError, NumberLines
|
||||
|
||||
class BasePseudoSection(Directive):
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
has_content = True
|
||||
|
||||
node_class = None
|
||||
"""Node class to be used (must be set in subclasses)."""
|
||||
|
||||
def run(self):
|
||||
if not (self.state_machine.match_titles
|
||||
or isinstance(self.state_machine.node, nodes.sidebar)):
|
||||
raise self.error('The "%s" directive may not be used within '
|
||||
'topics or body elements.' % self.name)
|
||||
self.assert_has_content()
|
||||
title_text = self.arguments[0]
|
||||
textnodes, messages = self.state.inline_text(title_text, self.lineno)
|
||||
titles = [nodes.title(title_text, '', *textnodes)]
|
||||
# Sidebar uses this code.
|
||||
if 'subtitle' in self.options:
|
||||
textnodes, more_messages = self.state.inline_text(
|
||||
self.options['subtitle'], self.lineno)
|
||||
titles.append(nodes.subtitle(self.options['subtitle'], '',
|
||||
*textnodes))
|
||||
messages.extend(more_messages)
|
||||
text = '\n'.join(self.content)
|
||||
node = self.node_class(text, *(titles + messages))
|
||||
node['classes'] += self.options.get('class', [])
|
||||
self.add_name(node)
|
||||
if text:
|
||||
self.state.nested_parse(self.content, self.content_offset, node)
|
||||
return [node]
|
||||
|
||||
|
||||
class Topic(BasePseudoSection):
|
||||
|
||||
node_class = nodes.topic
|
||||
|
||||
|
||||
class Sidebar(BasePseudoSection):
|
||||
|
||||
node_class = nodes.sidebar
|
||||
|
||||
option_spec = BasePseudoSection.option_spec.copy()
|
||||
option_spec['subtitle'] = directives.unchanged_required
|
||||
|
||||
def run(self):
|
||||
if isinstance(self.state_machine.node, nodes.sidebar):
|
||||
raise self.error('The "%s" directive may not be used within a '
|
||||
'sidebar element.' % self.name)
|
||||
return BasePseudoSection.run(self)
|
||||
|
||||
|
||||
class LineBlock(Directive):
|
||||
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
block = nodes.line_block(classes=self.options.get('class', []))
|
||||
self.add_name(block)
|
||||
node_list = [block]
|
||||
for line_text in self.content:
|
||||
text_nodes, messages = self.state.inline_text(
|
||||
line_text.strip(), self.lineno + self.content_offset)
|
||||
line = nodes.line(line_text, '', *text_nodes)
|
||||
if line_text.strip():
|
||||
line.indent = len(line_text) - len(line_text.lstrip())
|
||||
block += line
|
||||
node_list.extend(messages)
|
||||
self.content_offset += 1
|
||||
self.state.nest_line_block_lines(block)
|
||||
return node_list
|
||||
|
||||
|
||||
class ParsedLiteral(Directive):
|
||||
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
set_classes(self.options)
|
||||
self.assert_has_content()
|
||||
text = '\n'.join(self.content)
|
||||
text_nodes, messages = self.state.inline_text(text, self.lineno)
|
||||
node = nodes.literal_block(text, '', *text_nodes, **self.options)
|
||||
node.line = self.content_offset + 1
|
||||
self.add_name(node)
|
||||
return [node] + messages
|
||||
|
||||
|
||||
class CodeBlock(Directive):
|
||||
"""Parse and mark up content of a code block.
|
||||
|
||||
Configuration setting: syntax_highlight
|
||||
Highlight Code content with Pygments?
|
||||
Possible values: ('long', 'short', 'none')
|
||||
|
||||
"""
|
||||
optional_arguments = 1
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged,
|
||||
'number-lines': directives.unchanged # integer or None
|
||||
}
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
if self.arguments:
|
||||
language = self.arguments[0]
|
||||
else:
|
||||
language = ''
|
||||
set_classes(self.options)
|
||||
classes = ['code']
|
||||
if language:
|
||||
classes.append(language)
|
||||
if 'classes' in self.options:
|
||||
classes.extend(self.options['classes'])
|
||||
|
||||
# set up lexical analyzer
|
||||
try:
|
||||
tokens = Lexer(u'\n'.join(self.content), language,
|
||||
self.state.document.settings.syntax_highlight)
|
||||
except LexerError, error:
|
||||
raise self.warning(error)
|
||||
|
||||
if 'number-lines' in self.options:
|
||||
# optional argument `startline`, defaults to 1
|
||||
try:
|
||||
startline = int(self.options['number-lines'] or 1)
|
||||
except ValueError:
|
||||
raise self.error(':number-lines: with non-integer start value')
|
||||
endline = startline + len(self.content)
|
||||
# add linenumber filter:
|
||||
tokens = NumberLines(tokens, startline, endline)
|
||||
|
||||
node = nodes.literal_block('\n'.join(self.content), classes=classes)
|
||||
self.add_name(node)
|
||||
# if called from "include", set the source
|
||||
if 'source' in self.options:
|
||||
node.attributes['source'] = self.options['source']
|
||||
# analyze content and add nodes for every token
|
||||
for classes, value in tokens:
|
||||
# print (classes, value)
|
||||
if classes:
|
||||
node += nodes.inline(value, value, classes=classes)
|
||||
else:
|
||||
# insert as Text to decrease the verbosity of the output
|
||||
node += nodes.Text(value, value)
|
||||
|
||||
return [node]
|
||||
|
||||
|
||||
class MathBlock(Directive):
|
||||
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
## TODO: Add Sphinx' ``mathbase.py`` option 'nowrap'?
|
||||
# 'nowrap': directives.flag,
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
set_classes(self.options)
|
||||
self.assert_has_content()
|
||||
# join lines, separate blocks
|
||||
content = '\n'.join(self.content).split('\n\n')
|
||||
_nodes = []
|
||||
for block in content:
|
||||
if not block:
|
||||
continue
|
||||
node = nodes.math_block(self.block_text, block, **self.options)
|
||||
node.line = self.content_offset + 1
|
||||
self.add_name(node)
|
||||
_nodes.append(node)
|
||||
return _nodes
|
||||
|
||||
|
||||
class Rubric(Directive):
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
|
||||
def run(self):
|
||||
set_classes(self.options)
|
||||
rubric_text = self.arguments[0]
|
||||
textnodes, messages = self.state.inline_text(rubric_text, self.lineno)
|
||||
rubric = nodes.rubric(rubric_text, '', *textnodes, **self.options)
|
||||
self.add_name(rubric)
|
||||
return [rubric] + messages
|
||||
|
||||
|
||||
class BlockQuote(Directive):
|
||||
|
||||
has_content = True
|
||||
classes = []
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
elements = self.state.block_quote(self.content, self.content_offset)
|
||||
for element in elements:
|
||||
if isinstance(element, nodes.block_quote):
|
||||
element['classes'] += self.classes
|
||||
return elements
|
||||
|
||||
|
||||
class Epigraph(BlockQuote):
|
||||
|
||||
classes = ['epigraph']
|
||||
|
||||
|
||||
class Highlights(BlockQuote):
|
||||
|
||||
classes = ['highlights']
|
||||
|
||||
|
||||
class PullQuote(BlockQuote):
|
||||
|
||||
classes = ['pull-quote']
|
||||
|
||||
|
||||
class Compound(Directive):
|
||||
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
text = '\n'.join(self.content)
|
||||
node = nodes.compound(text)
|
||||
node['classes'] += self.options.get('class', [])
|
||||
self.add_name(node)
|
||||
self.state.nested_parse(self.content, self.content_offset, node)
|
||||
return [node]
|
||||
|
||||
|
||||
class Container(Directive):
|
||||
|
||||
optional_arguments = 1
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'name': directives.unchanged}
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
text = '\n'.join(self.content)
|
||||
try:
|
||||
if self.arguments:
|
||||
classes = directives.class_option(self.arguments[0])
|
||||
else:
|
||||
classes = []
|
||||
except ValueError:
|
||||
raise self.error(
|
||||
'Invalid class attribute value for "%s" directive: "%s".'
|
||||
% (self.name, self.arguments[0]))
|
||||
node = nodes.container(text)
|
||||
node['classes'].extend(classes)
|
||||
self.add_name(node)
|
||||
self.state.nested_parse(self.content, self.content_offset, node)
|
||||
return [node]
|
86
docutils/parsers/rst/directives/html.py
Normal file
86
docutils/parsers/rst/directives/html.py
Normal file
|
@ -0,0 +1,86 @@
|
|||
# $Id: html.py 7320 2012-01-19 22:33:02Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Directives for typically HTML-specific constructs.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
import sys
|
||||
from docutils import nodes, utils
|
||||
from docutils.parsers.rst import Directive
|
||||
from docutils.parsers.rst import states
|
||||
from docutils.transforms import components
|
||||
|
||||
|
||||
class MetaBody(states.SpecializedBody):
|
||||
|
||||
class meta(nodes.Special, nodes.PreBibliographic, nodes.Element):
|
||||
"""HTML-specific "meta" element."""
|
||||
pass
|
||||
|
||||
def field_marker(self, match, context, next_state):
|
||||
"""Meta element."""
|
||||
node, blank_finish = self.parsemeta(match)
|
||||
self.parent += node
|
||||
return [], next_state, []
|
||||
|
||||
def parsemeta(self, match):
|
||||
name = self.parse_field_marker(match)
|
||||
indented, indent, line_offset, blank_finish = \
|
||||
self.state_machine.get_first_known_indented(match.end())
|
||||
node = self.meta()
|
||||
pending = nodes.pending(components.Filter,
|
||||
{'component': 'writer',
|
||||
'format': 'html',
|
||||
'nodes': [node]})
|
||||
node['content'] = ' '.join(indented)
|
||||
if not indented:
|
||||
line = self.state_machine.line
|
||||
msg = self.reporter.info(
|
||||
'No content for meta tag "%s".' % name,
|
||||
nodes.literal_block(line, line))
|
||||
return msg, blank_finish
|
||||
tokens = name.split()
|
||||
try:
|
||||
attname, val = utils.extract_name_value(tokens[0])[0]
|
||||
node[attname.lower()] = val
|
||||
except utils.NameValueError:
|
||||
node['name'] = tokens[0]
|
||||
for token in tokens[1:]:
|
||||
try:
|
||||
attname, val = utils.extract_name_value(token)[0]
|
||||
node[attname.lower()] = val
|
||||
except utils.NameValueError, detail:
|
||||
line = self.state_machine.line
|
||||
msg = self.reporter.error(
|
||||
'Error parsing meta tag attribute "%s": %s.'
|
||||
% (token, detail), nodes.literal_block(line, line))
|
||||
return msg, blank_finish
|
||||
self.document.note_pending(pending)
|
||||
return pending, blank_finish
|
||||
|
||||
|
||||
class Meta(Directive):
|
||||
|
||||
has_content = True
|
||||
|
||||
SMkwargs = {'state_classes': (MetaBody,)}
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
node = nodes.Element()
|
||||
new_line_offset, blank_finish = self.state.nested_list_parse(
|
||||
self.content, self.content_offset, node,
|
||||
initial_state='MetaBody', blank_finish=True,
|
||||
state_machine_kwargs=self.SMkwargs)
|
||||
if (new_line_offset - self.content_offset) != len(self.content):
|
||||
# incomplete parse of block?
|
||||
error = self.state_machine.reporter.error(
|
||||
'Invalid meta directive.',
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
node += error
|
||||
return node.children
|
162
docutils/parsers/rst/directives/images.py
Normal file
162
docutils/parsers/rst/directives/images.py
Normal file
|
@ -0,0 +1,162 @@
|
|||
# $Id: images.py 7256 2011-12-14 23:53:38Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Directives for figures and simple images.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
import sys
|
||||
import urllib
|
||||
from docutils import nodes, utils
|
||||
from docutils.parsers.rst import Directive
|
||||
from docutils.parsers.rst import directives, states
|
||||
from docutils.nodes import fully_normalize_name, whitespace_normalize_name
|
||||
from docutils.parsers.rst.roles import set_classes
|
||||
try: # check for the Python Imaging Library
|
||||
import PIL
|
||||
except ImportError:
|
||||
try: # sometimes PIL modules are put in PYTHONPATH's root
|
||||
import Image
|
||||
class PIL(object): pass # dummy wrapper
|
||||
PIL.Image = Image
|
||||
except ImportError:
|
||||
PIL = None
|
||||
|
||||
class Image(Directive):
|
||||
|
||||
align_h_values = ('left', 'center', 'right')
|
||||
align_v_values = ('top', 'middle', 'bottom')
|
||||
align_values = align_v_values + align_h_values
|
||||
|
||||
def align(argument):
|
||||
# This is not callable as self.align. We cannot make it a
|
||||
# staticmethod because we're saving an unbound method in
|
||||
# option_spec below.
|
||||
return directives.choice(argument, Image.align_values)
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'alt': directives.unchanged,
|
||||
'height': directives.length_or_unitless,
|
||||
'width': directives.length_or_percentage_or_unitless,
|
||||
'scale': directives.percentage,
|
||||
'align': align,
|
||||
'name': directives.unchanged,
|
||||
'target': directives.unchanged_required,
|
||||
'class': directives.class_option}
|
||||
|
||||
def run(self):
|
||||
if 'align' in self.options:
|
||||
if isinstance(self.state, states.SubstitutionDef):
|
||||
# Check for align_v_values.
|
||||
if self.options['align'] not in self.align_v_values:
|
||||
raise self.error(
|
||||
'Error in "%s" directive: "%s" is not a valid value '
|
||||
'for the "align" option within a substitution '
|
||||
'definition. Valid values for "align" are: "%s".'
|
||||
% (self.name, self.options['align'],
|
||||
'", "'.join(self.align_v_values)))
|
||||
elif self.options['align'] not in self.align_h_values:
|
||||
raise self.error(
|
||||
'Error in "%s" directive: "%s" is not a valid value for '
|
||||
'the "align" option. Valid values for "align" are: "%s".'
|
||||
% (self.name, self.options['align'],
|
||||
'", "'.join(self.align_h_values)))
|
||||
messages = []
|
||||
reference = directives.uri(self.arguments[0])
|
||||
self.options['uri'] = reference
|
||||
reference_node = None
|
||||
if 'target' in self.options:
|
||||
block = states.escape2null(
|
||||
self.options['target']).splitlines()
|
||||
block = [line for line in block]
|
||||
target_type, data = self.state.parse_target(
|
||||
block, self.block_text, self.lineno)
|
||||
if target_type == 'refuri':
|
||||
reference_node = nodes.reference(refuri=data)
|
||||
elif target_type == 'refname':
|
||||
reference_node = nodes.reference(
|
||||
refname=fully_normalize_name(data),
|
||||
name=whitespace_normalize_name(data))
|
||||
reference_node.indirect_reference_name = data
|
||||
self.state.document.note_refname(reference_node)
|
||||
else: # malformed target
|
||||
messages.append(data) # data is a system message
|
||||
del self.options['target']
|
||||
set_classes(self.options)
|
||||
image_node = nodes.image(self.block_text, **self.options)
|
||||
self.add_name(image_node)
|
||||
if reference_node:
|
||||
reference_node += image_node
|
||||
return messages + [reference_node]
|
||||
else:
|
||||
return messages + [image_node]
|
||||
|
||||
|
||||
class Figure(Image):
|
||||
|
||||
def align(argument):
|
||||
return directives.choice(argument, Figure.align_h_values)
|
||||
|
||||
def figwidth_value(argument):
|
||||
if argument.lower() == 'image':
|
||||
return 'image'
|
||||
else:
|
||||
return directives.length_or_percentage_or_unitless(argument, 'px')
|
||||
|
||||
option_spec = Image.option_spec.copy()
|
||||
option_spec['figwidth'] = figwidth_value
|
||||
option_spec['figclass'] = directives.class_option
|
||||
option_spec['align'] = align
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
figwidth = self.options.pop('figwidth', None)
|
||||
figclasses = self.options.pop('figclass', None)
|
||||
align = self.options.pop('align', None)
|
||||
(image_node,) = Image.run(self)
|
||||
if isinstance(image_node, nodes.system_message):
|
||||
return [image_node]
|
||||
figure_node = nodes.figure('', image_node)
|
||||
if figwidth == 'image':
|
||||
if PIL and self.state.document.settings.file_insertion_enabled:
|
||||
imagepath = urllib.url2pathname(image_node['uri'])
|
||||
try:
|
||||
img = PIL.Image.open(
|
||||
imagepath.encode(sys.getfilesystemencoding()))
|
||||
except (IOError, UnicodeEncodeError):
|
||||
pass # TODO: warn?
|
||||
else:
|
||||
self.state.document.settings.record_dependencies.add(
|
||||
imagepath.replace('\\', '/'))
|
||||
figure_node['width'] = img.size[0]
|
||||
del img
|
||||
elif figwidth is not None:
|
||||
figure_node['width'] = figwidth
|
||||
if figclasses:
|
||||
figure_node['classes'] += figclasses
|
||||
if align:
|
||||
figure_node['align'] = align
|
||||
if self.content:
|
||||
node = nodes.Element() # anonymous container for parsing
|
||||
self.state.nested_parse(self.content, self.content_offset, node)
|
||||
first_node = node[0]
|
||||
if isinstance(first_node, nodes.paragraph):
|
||||
caption = nodes.caption(first_node.rawsource, '',
|
||||
*first_node.children)
|
||||
figure_node += caption
|
||||
elif not (isinstance(first_node, nodes.comment)
|
||||
and len(first_node) == 0):
|
||||
error = self.state_machine.reporter.error(
|
||||
'Figure caption must be a paragraph or empty comment.',
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
return [figure_node, error]
|
||||
if len(node) > 1:
|
||||
figure_node += nodes.legend('', *node[1:])
|
||||
return [figure_node]
|
522
docutils/parsers/rst/directives/misc.py
Normal file
522
docutils/parsers/rst/directives/misc.py
Normal file
|
@ -0,0 +1,522 @@
|
|||
# $Id: misc.py 7433 2012-05-11 21:03:07Z milde $
|
||||
# Authors: David Goodger <goodger@python.org>; Dethe Elza
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""Miscellaneous directives."""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
import sys
|
||||
import os.path
|
||||
import re
|
||||
import time
|
||||
from docutils import io, nodes, statemachine, utils
|
||||
from docutils.error_reporting import SafeString, ErrorString
|
||||
from docutils.parsers.rst import Directive, convert_directive_function
|
||||
from docutils.parsers.rst import directives, roles, states
|
||||
from docutils.parsers.rst.directives.body import CodeBlock, NumberLines
|
||||
from docutils.parsers.rst.roles import set_classes
|
||||
from docutils.transforms import misc
|
||||
|
||||
class Include(Directive):
|
||||
|
||||
"""
|
||||
Include content read from a separate source file.
|
||||
|
||||
Content may be parsed by the parser, or included as a literal
|
||||
block. The encoding of the included file can be specified. Only
|
||||
a part of the given file argument may be included by specifying
|
||||
start and end line or text to match before and/or after the text
|
||||
to be used.
|
||||
"""
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'literal': directives.flag,
|
||||
'code': directives.unchanged,
|
||||
'encoding': directives.encoding,
|
||||
'tab-width': int,
|
||||
'start-line': int,
|
||||
'end-line': int,
|
||||
'start-after': directives.unchanged_required,
|
||||
'end-before': directives.unchanged_required,
|
||||
# ignored except for 'literal' or 'code':
|
||||
'number-lines': directives.unchanged, # integer or None
|
||||
'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
|
||||
standard_include_path = os.path.join(os.path.dirname(states.__file__),
|
||||
'include')
|
||||
|
||||
def run(self):
|
||||
"""Include a file as part of the content of this reST file."""
|
||||
if not self.state.document.settings.file_insertion_enabled:
|
||||
raise self.warning('"%s" directive disabled.' % self.name)
|
||||
source = self.state_machine.input_lines.source(
|
||||
self.lineno - self.state_machine.input_offset - 1)
|
||||
source_dir = os.path.dirname(os.path.abspath(source))
|
||||
path = directives.path(self.arguments[0])
|
||||
if path.startswith('<') and path.endswith('>'):
|
||||
path = os.path.join(self.standard_include_path, path[1:-1])
|
||||
path = os.path.normpath(os.path.join(source_dir, path))
|
||||
path = utils.relative_path(None, path)
|
||||
path = nodes.reprunicode(path)
|
||||
encoding = self.options.get(
|
||||
'encoding', self.state.document.settings.input_encoding)
|
||||
tab_width = self.options.get(
|
||||
'tab-width', self.state.document.settings.tab_width)
|
||||
try:
|
||||
self.state.document.settings.record_dependencies.add(path)
|
||||
include_file = io.FileInput(
|
||||
source_path=path, encoding=encoding,
|
||||
error_handler=(self.state.document.settings.\
|
||||
input_encoding_error_handler),
|
||||
handle_io_errors=None)
|
||||
except UnicodeEncodeError, error:
|
||||
raise self.severe(u'Problems with "%s" directive path:\n'
|
||||
'Cannot encode input file path "%s" '
|
||||
'(wrong locale?).' %
|
||||
(self.name, SafeString(path)))
|
||||
except IOError, error:
|
||||
raise self.severe(u'Problems with "%s" directive path:\n%s.' %
|
||||
(self.name, ErrorString(error)))
|
||||
startline = self.options.get('start-line', None)
|
||||
endline = self.options.get('end-line', None)
|
||||
try:
|
||||
if startline or (endline is not None):
|
||||
lines = include_file.readlines()
|
||||
rawtext = ''.join(lines[startline:endline])
|
||||
else:
|
||||
rawtext = include_file.read()
|
||||
except UnicodeError, error:
|
||||
raise self.severe(u'Problem with "%s" directive:\n%s' %
|
||||
(self.name, ErrorString(error)))
|
||||
# start-after/end-before: no restrictions on newlines in match-text,
|
||||
# and no restrictions on matching inside lines vs. line boundaries
|
||||
after_text = self.options.get('start-after', None)
|
||||
if after_text:
|
||||
# skip content in rawtext before *and incl.* a matching text
|
||||
after_index = rawtext.find(after_text)
|
||||
if after_index < 0:
|
||||
raise self.severe('Problem with "start-after" option of "%s" '
|
||||
'directive:\nText not found.' % self.name)
|
||||
rawtext = rawtext[after_index + len(after_text):]
|
||||
before_text = self.options.get('end-before', None)
|
||||
if before_text:
|
||||
# skip content in rawtext after *and incl.* a matching text
|
||||
before_index = rawtext.find(before_text)
|
||||
if before_index < 0:
|
||||
raise self.severe('Problem with "end-before" option of "%s" '
|
||||
'directive:\nText not found.' % self.name)
|
||||
rawtext = rawtext[:before_index]
|
||||
|
||||
include_lines = statemachine.string2lines(rawtext, tab_width,
|
||||
convert_whitespace=True)
|
||||
if 'literal' in self.options:
|
||||
# Convert tabs to spaces, if `tab_width` is positive.
|
||||
if tab_width >= 0:
|
||||
text = rawtext.expandtabs(tab_width)
|
||||
else:
|
||||
text = rawtext
|
||||
literal_block = nodes.literal_block(rawtext, source=path,
|
||||
classes=self.options.get('class', []))
|
||||
literal_block.line = 1
|
||||
self.add_name(literal_block)
|
||||
if 'number-lines' in self.options:
|
||||
try:
|
||||
startline = int(self.options['number-lines'] or 1)
|
||||
except ValueError:
|
||||
raise self.error(':number-lines: with non-integer '
|
||||
'start value')
|
||||
endline = startline + len(include_lines)
|
||||
if text.endswith('\n'):
|
||||
text = text[:-1]
|
||||
tokens = NumberLines([([], text)], startline, endline)
|
||||
for classes, value in tokens:
|
||||
if classes:
|
||||
literal_block += nodes.inline(value, value,
|
||||
classes=classes)
|
||||
else:
|
||||
literal_block += nodes.Text(value, value)
|
||||
else:
|
||||
literal_block += nodes.Text(text, text)
|
||||
return [literal_block]
|
||||
if 'code' in self.options:
|
||||
self.options['source'] = path
|
||||
codeblock = CodeBlock(self.name,
|
||||
[self.options.pop('code')], # arguments
|
||||
self.options,
|
||||
include_lines, # content
|
||||
self.lineno,
|
||||
self.content_offset,
|
||||
self.block_text,
|
||||
self.state,
|
||||
self.state_machine)
|
||||
return codeblock.run()
|
||||
self.state_machine.insert_input(include_lines, path)
|
||||
return []
|
||||
|
||||
|
||||
class Raw(Directive):
|
||||
|
||||
"""
|
||||
Pass through content unchanged
|
||||
|
||||
Content is included in output based on type argument
|
||||
|
||||
Content may be included inline (content section of directive) or
|
||||
imported from a file or url.
|
||||
"""
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'file': directives.path,
|
||||
'url': directives.uri,
|
||||
'encoding': directives.encoding}
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
if (not self.state.document.settings.raw_enabled
|
||||
or (not self.state.document.settings.file_insertion_enabled
|
||||
and ('file' in self.options
|
||||
or 'url' in self.options))):
|
||||
raise self.warning('"%s" directive disabled.' % self.name)
|
||||
attributes = {'format': ' '.join(self.arguments[0].lower().split())}
|
||||
encoding = self.options.get(
|
||||
'encoding', self.state.document.settings.input_encoding)
|
||||
if self.content:
|
||||
if 'file' in self.options or 'url' in self.options:
|
||||
raise self.error(
|
||||
'"%s" directive may not both specify an external file '
|
||||
'and have content.' % self.name)
|
||||
text = '\n'.join(self.content)
|
||||
elif 'file' in self.options:
|
||||
if 'url' in self.options:
|
||||
raise self.error(
|
||||
'The "file" and "url" options may not be simultaneously '
|
||||
'specified for the "%s" directive.' % self.name)
|
||||
source_dir = os.path.dirname(
|
||||
os.path.abspath(self.state.document.current_source))
|
||||
path = os.path.normpath(os.path.join(source_dir,
|
||||
self.options['file']))
|
||||
path = utils.relative_path(None, path)
|
||||
try:
|
||||
raw_file = io.FileInput(
|
||||
source_path=path, encoding=encoding,
|
||||
error_handler=(self.state.document.settings.\
|
||||
input_encoding_error_handler),
|
||||
handle_io_errors=None)
|
||||
# TODO: currently, raw input files are recorded as
|
||||
# dependencies even if not used for the chosen output format.
|
||||
self.state.document.settings.record_dependencies.add(path)
|
||||
except IOError, error:
|
||||
raise self.severe(u'Problems with "%s" directive path:\n%s.'
|
||||
% (self.name, ErrorString(error)))
|
||||
try:
|
||||
text = raw_file.read()
|
||||
except UnicodeError, error:
|
||||
raise self.severe(u'Problem with "%s" directive:\n%s'
|
||||
% (self.name, ErrorString(error)))
|
||||
attributes['source'] = path
|
||||
elif 'url' in self.options:
|
||||
source = self.options['url']
|
||||
# Do not import urllib2 at the top of the module because
|
||||
# it may fail due to broken SSL dependencies, and it takes
|
||||
# about 0.15 seconds to load.
|
||||
import urllib2
|
||||
try:
|
||||
raw_text = urllib2.urlopen(source).read()
|
||||
except (urllib2.URLError, IOError, OSError), error:
|
||||
raise self.severe(u'Problems with "%s" directive URL "%s":\n%s.'
|
||||
% (self.name, self.options['url'], ErrorString(error)))
|
||||
raw_file = io.StringInput(
|
||||
source=raw_text, source_path=source, encoding=encoding,
|
||||
error_handler=(self.state.document.settings.\
|
||||
input_encoding_error_handler))
|
||||
try:
|
||||
text = raw_file.read()
|
||||
except UnicodeError, error:
|
||||
raise self.severe(u'Problem with "%s" directive:\n%s'
|
||||
% (self.name, ErrorString(error)))
|
||||
attributes['source'] = source
|
||||
else:
|
||||
# This will always fail because there is no content.
|
||||
self.assert_has_content()
|
||||
raw_node = nodes.raw('', text, **attributes)
|
||||
(raw_node.source,
|
||||
raw_node.line) = self.state_machine.get_source_and_line(self.lineno)
|
||||
return [raw_node]
|
||||
|
||||
|
||||
class Replace(Directive):
|
||||
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
if not isinstance(self.state, states.SubstitutionDef):
|
||||
raise self.error(
|
||||
'Invalid context: the "%s" directive can only be used within '
|
||||
'a substitution definition.' % self.name)
|
||||
self.assert_has_content()
|
||||
text = '\n'.join(self.content)
|
||||
element = nodes.Element(text)
|
||||
self.state.nested_parse(self.content, self.content_offset,
|
||||
element)
|
||||
# element might contain [paragraph] + system_message(s)
|
||||
node = None
|
||||
messages = []
|
||||
for elem in element:
|
||||
if not node and isinstance(elem, nodes.paragraph):
|
||||
node = elem
|
||||
elif isinstance(elem, nodes.system_message):
|
||||
elem['backrefs'] = []
|
||||
messages.append(elem)
|
||||
else:
|
||||
return [
|
||||
self.state_machine.reporter.error(
|
||||
'Error in "%s" directive: may contain a single paragraph '
|
||||
'only.' % (self.name), line=self.lineno) ]
|
||||
if node:
|
||||
return messages + node.children
|
||||
return messages
|
||||
|
||||
class Unicode(Directive):
|
||||
|
||||
r"""
|
||||
Convert Unicode character codes (numbers) to characters. Codes may be
|
||||
decimal numbers, hexadecimal numbers (prefixed by ``0x``, ``x``, ``\x``,
|
||||
``U+``, ``u``, or ``\u``; e.g. ``U+262E``), or XML-style numeric character
|
||||
entities (e.g. ``☮``). Text following ".." is a comment and is
|
||||
ignored. Spaces are ignored, and any other text remains as-is.
|
||||
"""
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'trim': directives.flag,
|
||||
'ltrim': directives.flag,
|
||||
'rtrim': directives.flag}
|
||||
|
||||
comment_pattern = re.compile(r'( |\n|^)\.\. ')
|
||||
|
||||
def run(self):
|
||||
if not isinstance(self.state, states.SubstitutionDef):
|
||||
raise self.error(
|
||||
'Invalid context: the "%s" directive can only be used within '
|
||||
'a substitution definition.' % self.name)
|
||||
substitution_definition = self.state_machine.node
|
||||
if 'trim' in self.options:
|
||||
substitution_definition.attributes['ltrim'] = 1
|
||||
substitution_definition.attributes['rtrim'] = 1
|
||||
if 'ltrim' in self.options:
|
||||
substitution_definition.attributes['ltrim'] = 1
|
||||
if 'rtrim' in self.options:
|
||||
substitution_definition.attributes['rtrim'] = 1
|
||||
codes = self.comment_pattern.split(self.arguments[0])[0].split()
|
||||
element = nodes.Element()
|
||||
for code in codes:
|
||||
try:
|
||||
decoded = directives.unicode_code(code)
|
||||
except ValueError, error:
|
||||
raise self.error(u'Invalid character code: %s\n%s'
|
||||
% (code, ErrorString(error)))
|
||||
element += nodes.Text(decoded)
|
||||
return element.children
|
||||
|
||||
|
||||
class Class(Directive):
|
||||
|
||||
"""
|
||||
Set a "class" attribute on the directive content or the next element.
|
||||
When applied to the next element, a "pending" element is inserted, and a
|
||||
transform does the work later.
|
||||
"""
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
class_value = directives.class_option(self.arguments[0])
|
||||
except ValueError:
|
||||
raise self.error(
|
||||
'Invalid class attribute value for "%s" directive: "%s".'
|
||||
% (self.name, self.arguments[0]))
|
||||
node_list = []
|
||||
if self.content:
|
||||
container = nodes.Element()
|
||||
self.state.nested_parse(self.content, self.content_offset,
|
||||
container)
|
||||
for node in container:
|
||||
node['classes'].extend(class_value)
|
||||
node_list.extend(container.children)
|
||||
else:
|
||||
pending = nodes.pending(
|
||||
misc.ClassAttribute,
|
||||
{'class': class_value, 'directive': self.name},
|
||||
self.block_text)
|
||||
self.state_machine.document.note_pending(pending)
|
||||
node_list.append(pending)
|
||||
return node_list
|
||||
|
||||
|
||||
class Role(Directive):
|
||||
|
||||
has_content = True
|
||||
|
||||
argument_pattern = re.compile(r'(%s)\s*(\(\s*(%s)\s*\)\s*)?$'
|
||||
% ((states.Inliner.simplename,) * 2))
|
||||
|
||||
def run(self):
|
||||
"""Dynamically create and register a custom interpreted text role."""
|
||||
if self.content_offset > self.lineno or not self.content:
|
||||
raise self.error('"%s" directive requires arguments on the first '
|
||||
'line.' % self.name)
|
||||
args = self.content[0]
|
||||
match = self.argument_pattern.match(args)
|
||||
if not match:
|
||||
raise self.error('"%s" directive arguments not valid role names: '
|
||||
'"%s".' % (self.name, args))
|
||||
new_role_name = match.group(1)
|
||||
base_role_name = match.group(3)
|
||||
messages = []
|
||||
if base_role_name:
|
||||
base_role, messages = roles.role(
|
||||
base_role_name, self.state_machine.language, self.lineno,
|
||||
self.state.reporter)
|
||||
if base_role is None:
|
||||
error = self.state.reporter.error(
|
||||
'Unknown interpreted text role "%s".' % base_role_name,
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
return messages + [error]
|
||||
else:
|
||||
base_role = roles.generic_custom_role
|
||||
assert not hasattr(base_role, 'arguments'), (
|
||||
'Supplemental directive arguments for "%s" directive not '
|
||||
'supported (specified by "%r" role).' % (self.name, base_role))
|
||||
try:
|
||||
converted_role = convert_directive_function(base_role)
|
||||
(arguments, options, content, content_offset) = (
|
||||
self.state.parse_directive_block(
|
||||
self.content[1:], self.content_offset, converted_role,
|
||||
option_presets={}))
|
||||
except states.MarkupError, detail:
|
||||
error = self.state_machine.reporter.error(
|
||||
'Error in "%s" directive:\n%s.' % (self.name, detail),
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
return messages + [error]
|
||||
if 'class' not in options:
|
||||
try:
|
||||
options['class'] = directives.class_option(new_role_name)
|
||||
except ValueError, detail:
|
||||
error = self.state_machine.reporter.error(
|
||||
u'Invalid argument for "%s" directive:\n%s.'
|
||||
% (self.name, SafeString(detail)), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
return messages + [error]
|
||||
role = roles.CustomRole(new_role_name, base_role, options, content)
|
||||
roles.register_local_role(new_role_name, role)
|
||||
return messages
|
||||
|
||||
|
||||
class DefaultRole(Directive):
|
||||
|
||||
"""Set the default interpreted text role."""
|
||||
|
||||
optional_arguments = 1
|
||||
final_argument_whitespace = False
|
||||
|
||||
def run(self):
|
||||
if not self.arguments:
|
||||
if '' in roles._roles:
|
||||
# restore the "default" default role
|
||||
del roles._roles['']
|
||||
return []
|
||||
role_name = self.arguments[0]
|
||||
role, messages = roles.role(role_name, self.state_machine.language,
|
||||
self.lineno, self.state.reporter)
|
||||
if role is None:
|
||||
error = self.state.reporter.error(
|
||||
'Unknown interpreted text role "%s".' % role_name,
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
return messages + [error]
|
||||
roles._roles[''] = role
|
||||
# @@@ should this be local to the document, not the parser?
|
||||
return messages
|
||||
|
||||
|
||||
class Title(Directive):
|
||||
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = True
|
||||
|
||||
def run(self):
|
||||
self.state_machine.document['title'] = self.arguments[0]
|
||||
return []
|
||||
|
||||
|
||||
class Date(Directive):
|
||||
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
if not isinstance(self.state, states.SubstitutionDef):
|
||||
raise self.error(
|
||||
'Invalid context: the "%s" directive can only be used within '
|
||||
'a substitution definition.' % self.name)
|
||||
format = '\n'.join(self.content) or '%Y-%m-%d'
|
||||
text = time.strftime(format)
|
||||
return [nodes.Text(text)]
|
||||
|
||||
|
||||
class TestDirective(Directive):
|
||||
|
||||
"""This directive is useful only for testing purposes."""
|
||||
|
||||
optional_arguments = 1
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'option': directives.unchanged_required}
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
if self.content:
|
||||
text = '\n'.join(self.content)
|
||||
info = self.state_machine.reporter.info(
|
||||
'Directive processed. Type="%s", arguments=%r, options=%r, '
|
||||
'content:' % (self.name, self.arguments, self.options),
|
||||
nodes.literal_block(text, text), line=self.lineno)
|
||||
else:
|
||||
info = self.state_machine.reporter.info(
|
||||
'Directive processed. Type="%s", arguments=%r, options=%r, '
|
||||
'content: None' % (self.name, self.arguments, self.options),
|
||||
line=self.lineno)
|
||||
return [info]
|
||||
|
||||
# Old-style, functional definition:
|
||||
#
|
||||
# def directive_test_function(name, arguments, options, content, lineno,
|
||||
# content_offset, block_text, state, state_machine):
|
||||
# """This directive is useful only for testing purposes."""
|
||||
# if content:
|
||||
# text = '\n'.join(content)
|
||||
# info = state_machine.reporter.info(
|
||||
# 'Directive processed. Type="%s", arguments=%r, options=%r, '
|
||||
# 'content:' % (name, arguments, options),
|
||||
# nodes.literal_block(text, text), line=lineno)
|
||||
# else:
|
||||
# info = state_machine.reporter.info(
|
||||
# 'Directive processed. Type="%s", arguments=%r, options=%r, '
|
||||
# 'content: None' % (name, arguments, options), line=lineno)
|
||||
# return [info]
|
||||
#
|
||||
# directive_test_function.arguments = (0, 1, 1)
|
||||
# directive_test_function.options = {'option': directives.unchanged_required}
|
||||
# directive_test_function.content = 1
|
126
docutils/parsers/rst/directives/parts.py
Normal file
126
docutils/parsers/rst/directives/parts.py
Normal file
|
@ -0,0 +1,126 @@
|
|||
# $Id: parts.py 7308 2012-01-06 12:08:43Z milde $
|
||||
# Authors: David Goodger <goodger@python.org>; Dmitry Jemerov
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Directives for document parts.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
from docutils import nodes, languages
|
||||
from docutils.transforms import parts
|
||||
from docutils.parsers.rst import Directive
|
||||
from docutils.parsers.rst import directives
|
||||
|
||||
|
||||
class Contents(Directive):
|
||||
|
||||
"""
|
||||
Table of contents.
|
||||
|
||||
The table of contents is generated in two passes: initial parse and
|
||||
transform. During the initial parse, a 'pending' element is generated
|
||||
which acts as a placeholder, storing the TOC title and any options
|
||||
internally. At a later stage in the processing, the 'pending' element is
|
||||
replaced by a 'topic' element, a title and the table of contents proper.
|
||||
"""
|
||||
|
||||
backlinks_values = ('top', 'entry', 'none')
|
||||
|
||||
def backlinks(arg):
|
||||
value = directives.choice(arg, Contents.backlinks_values)
|
||||
if value == 'none':
|
||||
return None
|
||||
else:
|
||||
return value
|
||||
|
||||
optional_arguments = 1
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'depth': directives.nonnegative_int,
|
||||
'local': directives.flag,
|
||||
'backlinks': backlinks,
|
||||
'class': directives.class_option}
|
||||
|
||||
def run(self):
|
||||
if not (self.state_machine.match_titles
|
||||
or isinstance(self.state_machine.node, nodes.sidebar)):
|
||||
raise self.error('The "%s" directive may not be used within '
|
||||
'topics or body elements.' % self.name)
|
||||
document = self.state_machine.document
|
||||
language = languages.get_language(document.settings.language_code,
|
||||
document.reporter)
|
||||
if self.arguments:
|
||||
title_text = self.arguments[0]
|
||||
text_nodes, messages = self.state.inline_text(title_text,
|
||||
self.lineno)
|
||||
title = nodes.title(title_text, '', *text_nodes)
|
||||
else:
|
||||
messages = []
|
||||
if 'local' in self.options:
|
||||
title = None
|
||||
else:
|
||||
title = nodes.title('', language.labels['contents'])
|
||||
topic = nodes.topic(classes=['contents'])
|
||||
topic['classes'] += self.options.get('class', [])
|
||||
# the latex2e writer needs source and line for a warning:
|
||||
topic.source, topic.line = self.state_machine.get_source_and_line()
|
||||
topic.line -= 1
|
||||
if 'local' in self.options:
|
||||
topic['classes'].append('local')
|
||||
if title:
|
||||
name = title.astext()
|
||||
topic += title
|
||||
else:
|
||||
name = language.labels['contents']
|
||||
name = nodes.fully_normalize_name(name)
|
||||
if not document.has_name(name):
|
||||
topic['names'].append(name)
|
||||
document.note_implicit_target(topic)
|
||||
pending = nodes.pending(parts.Contents, rawsource=self.block_text)
|
||||
pending.details.update(self.options)
|
||||
document.note_pending(pending)
|
||||
topic += pending
|
||||
return [topic] + messages
|
||||
|
||||
|
||||
class Sectnum(Directive):
|
||||
|
||||
"""Automatic section numbering."""
|
||||
|
||||
option_spec = {'depth': int,
|
||||
'start': int,
|
||||
'prefix': directives.unchanged_required,
|
||||
'suffix': directives.unchanged_required}
|
||||
|
||||
def run(self):
|
||||
pending = nodes.pending(parts.SectNum)
|
||||
pending.details.update(self.options)
|
||||
self.state_machine.document.note_pending(pending)
|
||||
return [pending]
|
||||
|
||||
|
||||
class Header(Directive):
|
||||
|
||||
"""Contents of document header."""
|
||||
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
header = self.state_machine.document.get_decoration().get_header()
|
||||
self.state.nested_parse(self.content, self.content_offset, header)
|
||||
return []
|
||||
|
||||
|
||||
class Footer(Directive):
|
||||
|
||||
"""Contents of document footer."""
|
||||
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
footer = self.state_machine.document.get_decoration().get_footer()
|
||||
self.state.nested_parse(self.content, self.content_offset, footer)
|
||||
return []
|
29
docutils/parsers/rst/directives/references.py
Normal file
29
docutils/parsers/rst/directives/references.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
# $Id: references.py 7062 2011-06-30 22:14:29Z milde $
|
||||
# Authors: David Goodger <goodger@python.org>; Dmitry Jemerov
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Directives for references and targets.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.transforms import references
|
||||
from docutils.parsers.rst import Directive
|
||||
from docutils.parsers.rst import directives
|
||||
|
||||
|
||||
class TargetNotes(Directive):
|
||||
|
||||
"""Target footnote generation."""
|
||||
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
|
||||
def run(self):
|
||||
pending = nodes.pending(references.TargetNotes)
|
||||
self.add_name(pending)
|
||||
pending.details.update(self.options)
|
||||
self.state_machine.document.note_pending(pending)
|
||||
return [pending]
|
454
docutils/parsers/rst/directives/tables.py
Normal file
454
docutils/parsers/rst/directives/tables.py
Normal file
|
@ -0,0 +1,454 @@
|
|||
# $Id: tables.py 7328 2012-01-27 08:41:35Z milde $
|
||||
# Authors: David Goodger <goodger@python.org>; David Priest
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
"""
|
||||
Directives for table elements.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
import sys
|
||||
import os.path
|
||||
import csv
|
||||
|
||||
from docutils import io, nodes, statemachine, utils
|
||||
from docutils.error_reporting import SafeString
|
||||
from docutils.utils import SystemMessagePropagation
|
||||
from docutils.parsers.rst import Directive
|
||||
from docutils.parsers.rst import directives
|
||||
|
||||
|
||||
class Table(Directive):
|
||||
|
||||
"""
|
||||
Generic table base class.
|
||||
"""
|
||||
|
||||
optional_arguments = 1
|
||||
final_argument_whitespace = True
|
||||
option_spec = {'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
has_content = True
|
||||
|
||||
def make_title(self):
|
||||
if self.arguments:
|
||||
title_text = self.arguments[0]
|
||||
text_nodes, messages = self.state.inline_text(title_text,
|
||||
self.lineno)
|
||||
title = nodes.title(title_text, '', *text_nodes)
|
||||
else:
|
||||
title = None
|
||||
messages = []
|
||||
return title, messages
|
||||
|
||||
def process_header_option(self):
|
||||
source = self.state_machine.get_source(self.lineno - 1)
|
||||
table_head = []
|
||||
max_header_cols = 0
|
||||
if 'header' in self.options: # separate table header in option
|
||||
rows, max_header_cols = self.parse_csv_data_into_rows(
|
||||
self.options['header'].split('\n'), self.HeaderDialect(),
|
||||
source)
|
||||
table_head.extend(rows)
|
||||
return table_head, max_header_cols
|
||||
|
||||
def check_table_dimensions(self, rows, header_rows, stub_columns):
|
||||
if len(rows) < header_rows:
|
||||
error = self.state_machine.reporter.error(
|
||||
'%s header row(s) specified but only %s row(s) of data '
|
||||
'supplied ("%s" directive).'
|
||||
% (header_rows, len(rows), self.name), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
if len(rows) == header_rows > 0:
|
||||
error = self.state_machine.reporter.error(
|
||||
'Insufficient data supplied (%s row(s)); no data remaining '
|
||||
'for table body, required by "%s" directive.'
|
||||
% (len(rows), self.name), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
for row in rows:
|
||||
if len(row) < stub_columns:
|
||||
error = self.state_machine.reporter.error(
|
||||
'%s stub column(s) specified but only %s columns(s) of '
|
||||
'data supplied ("%s" directive).' %
|
||||
(stub_columns, len(row), self.name), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
if len(row) == stub_columns > 0:
|
||||
error = self.state_machine.reporter.error(
|
||||
'Insufficient data supplied (%s columns(s)); no data remaining '
|
||||
'for table body, required by "%s" directive.'
|
||||
% (len(row), self.name), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
|
||||
def get_column_widths(self, max_cols):
|
||||
if 'widths' in self.options:
|
||||
col_widths = self.options['widths']
|
||||
if len(col_widths) != max_cols:
|
||||
error = self.state_machine.reporter.error(
|
||||
'"%s" widths do not match the number of columns in table '
|
||||
'(%s).' % (self.name, max_cols), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
elif max_cols:
|
||||
col_widths = [100 // max_cols] * max_cols
|
||||
else:
|
||||
error = self.state_machine.reporter.error(
|
||||
'No table data detected in CSV file.', nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
return col_widths
|
||||
|
||||
def extend_short_rows_with_empty_cells(self, columns, parts):
|
||||
for part in parts:
|
||||
for row in part:
|
||||
if len(row) < columns:
|
||||
row.extend([(0, 0, 0, [])] * (columns - len(row)))
|
||||
|
||||
|
||||
class RSTTable(Table):
|
||||
|
||||
def run(self):
|
||||
if not self.content:
|
||||
warning = self.state_machine.reporter.warning(
|
||||
'Content block expected for the "%s" directive; none found.'
|
||||
% self.name, nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
return [warning]
|
||||
title, messages = self.make_title()
|
||||
node = nodes.Element() # anonymous container for parsing
|
||||
self.state.nested_parse(self.content, self.content_offset, node)
|
||||
if len(node) != 1 or not isinstance(node[0], nodes.table):
|
||||
error = self.state_machine.reporter.error(
|
||||
'Error parsing content block for the "%s" directive: exactly '
|
||||
'one table expected.' % self.name, nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
return [error]
|
||||
table_node = node[0]
|
||||
table_node['classes'] += self.options.get('class', [])
|
||||
self.add_name(table_node)
|
||||
if title:
|
||||
table_node.insert(0, title)
|
||||
return [table_node] + messages
|
||||
|
||||
|
||||
class CSVTable(Table):
|
||||
|
||||
option_spec = {'header-rows': directives.nonnegative_int,
|
||||
'stub-columns': directives.nonnegative_int,
|
||||
'header': directives.unchanged,
|
||||
'widths': directives.positive_int_list,
|
||||
'file': directives.path,
|
||||
'url': directives.uri,
|
||||
'encoding': directives.encoding,
|
||||
'class': directives.class_option,
|
||||
'name': directives.unchanged,
|
||||
# field delimiter char
|
||||
'delim': directives.single_char_or_whitespace_or_unicode,
|
||||
# treat whitespace after delimiter as significant
|
||||
'keepspace': directives.flag,
|
||||
# text field quote/unquote char:
|
||||
'quote': directives.single_char_or_unicode,
|
||||
# char used to escape delim & quote as-needed:
|
||||
'escape': directives.single_char_or_unicode,}
|
||||
|
||||
class DocutilsDialect(csv.Dialect):
|
||||
|
||||
"""CSV dialect for `csv_table` directive."""
|
||||
|
||||
delimiter = ','
|
||||
quotechar = '"'
|
||||
doublequote = True
|
||||
skipinitialspace = True
|
||||
lineterminator = '\n'
|
||||
quoting = csv.QUOTE_MINIMAL
|
||||
|
||||
def __init__(self, options):
|
||||
if 'delim' in options:
|
||||
self.delimiter = str(options['delim'])
|
||||
if 'keepspace' in options:
|
||||
self.skipinitialspace = False
|
||||
if 'quote' in options:
|
||||
self.quotechar = str(options['quote'])
|
||||
if 'escape' in options:
|
||||
self.doublequote = False
|
||||
self.escapechar = str(options['escape'])
|
||||
csv.Dialect.__init__(self)
|
||||
|
||||
|
||||
class HeaderDialect(csv.Dialect):
|
||||
|
||||
"""CSV dialect to use for the "header" option data."""
|
||||
|
||||
delimiter = ','
|
||||
quotechar = '"'
|
||||
escapechar = '\\'
|
||||
doublequote = False
|
||||
skipinitialspace = True
|
||||
lineterminator = '\n'
|
||||
quoting = csv.QUOTE_MINIMAL
|
||||
|
||||
def check_requirements(self):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
if (not self.state.document.settings.file_insertion_enabled
|
||||
and ('file' in self.options
|
||||
or 'url' in self.options)):
|
||||
warning = self.state_machine.reporter.warning(
|
||||
'File and URL access deactivated; ignoring "%s" '
|
||||
'directive.' % self.name, nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
return [warning]
|
||||
self.check_requirements()
|
||||
title, messages = self.make_title()
|
||||
csv_data, source = self.get_csv_data()
|
||||
table_head, max_header_cols = self.process_header_option()
|
||||
rows, max_cols = self.parse_csv_data_into_rows(
|
||||
csv_data, self.DocutilsDialect(self.options), source)
|
||||
max_cols = max(max_cols, max_header_cols)
|
||||
header_rows = self.options.get('header-rows', 0)
|
||||
stub_columns = self.options.get('stub-columns', 0)
|
||||
self.check_table_dimensions(rows, header_rows, stub_columns)
|
||||
table_head.extend(rows[:header_rows])
|
||||
table_body = rows[header_rows:]
|
||||
col_widths = self.get_column_widths(max_cols)
|
||||
self.extend_short_rows_with_empty_cells(max_cols,
|
||||
(table_head, table_body))
|
||||
except SystemMessagePropagation, detail:
|
||||
return [detail.args[0]]
|
||||
except csv.Error, detail:
|
||||
error = self.state_machine.reporter.error(
|
||||
'Error with CSV data in "%s" directive:\n%s'
|
||||
% (self.name, detail), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
return [error]
|
||||
table = (col_widths, table_head, table_body)
|
||||
table_node = self.state.build_table(table, self.content_offset,
|
||||
stub_columns)
|
||||
table_node['classes'] += self.options.get('class', [])
|
||||
self.add_name(table_node)
|
||||
if title:
|
||||
table_node.insert(0, title)
|
||||
return [table_node] + messages
|
||||
|
||||
def get_csv_data(self):
|
||||
"""
|
||||
Get CSV data from the directive content, from an external
|
||||
file, or from a URL reference.
|
||||
"""
|
||||
encoding = self.options.get(
|
||||
'encoding', self.state.document.settings.input_encoding)
|
||||
if self.content:
|
||||
# CSV data is from directive content.
|
||||
if 'file' in self.options or 'url' in self.options:
|
||||
error = self.state_machine.reporter.error(
|
||||
'"%s" directive may not both specify an external file and'
|
||||
' have content.' % self.name, nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
source = self.content.source(0)
|
||||
csv_data = self.content
|
||||
elif 'file' in self.options:
|
||||
# CSV data is from an external file.
|
||||
if 'url' in self.options:
|
||||
error = self.state_machine.reporter.error(
|
||||
'The "file" and "url" options may not be simultaneously'
|
||||
' specified for the "%s" directive.' % self.name,
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
source_dir = os.path.dirname(
|
||||
os.path.abspath(self.state.document.current_source))
|
||||
source = os.path.normpath(os.path.join(source_dir,
|
||||
self.options['file']))
|
||||
source = utils.relative_path(None, source)
|
||||
try:
|
||||
self.state.document.settings.record_dependencies.add(source)
|
||||
csv_file = io.FileInput(
|
||||
source_path=source, encoding=encoding,
|
||||
error_handler=(self.state.document.settings.\
|
||||
input_encoding_error_handler),
|
||||
handle_io_errors=None)
|
||||
csv_data = csv_file.read().splitlines()
|
||||
except IOError, error:
|
||||
severe = self.state_machine.reporter.severe(
|
||||
u'Problems with "%s" directive path:\n%s.'
|
||||
% (self.name, SafeString(error)),
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
raise SystemMessagePropagation(severe)
|
||||
elif 'url' in self.options:
|
||||
# CSV data is from a URL.
|
||||
# Do not import urllib2 at the top of the module because
|
||||
# it may fail due to broken SSL dependencies, and it takes
|
||||
# about 0.15 seconds to load.
|
||||
import urllib2
|
||||
source = self.options['url']
|
||||
try:
|
||||
csv_text = urllib2.urlopen(source).read()
|
||||
except (urllib2.URLError, IOError, OSError, ValueError), error:
|
||||
severe = self.state_machine.reporter.severe(
|
||||
'Problems with "%s" directive URL "%s":\n%s.'
|
||||
% (self.name, self.options['url'], SafeString(error)),
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
raise SystemMessagePropagation(severe)
|
||||
csv_file = io.StringInput(
|
||||
source=csv_text, source_path=source, encoding=encoding,
|
||||
error_handler=(self.state.document.settings.\
|
||||
input_encoding_error_handler))
|
||||
csv_data = csv_file.read().splitlines()
|
||||
else:
|
||||
error = self.state_machine.reporter.warning(
|
||||
'The "%s" directive requires content; none supplied.'
|
||||
% self.name, nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
return csv_data, source
|
||||
|
||||
if sys.version_info < (3,):
|
||||
# 2.x csv module doesn't do Unicode
|
||||
def decode_from_csv(s):
|
||||
return s.decode('utf-8')
|
||||
def encode_for_csv(s):
|
||||
return s.encode('utf-8')
|
||||
else:
|
||||
def decode_from_csv(s):
|
||||
return s
|
||||
def encode_for_csv(s):
|
||||
return s
|
||||
decode_from_csv = staticmethod(decode_from_csv)
|
||||
encode_for_csv = staticmethod(encode_for_csv)
|
||||
|
||||
def parse_csv_data_into_rows(self, csv_data, dialect, source):
|
||||
# csv.py doesn't do Unicode; encode temporarily as UTF-8
|
||||
csv_reader = csv.reader([self.encode_for_csv(line + '\n')
|
||||
for line in csv_data],
|
||||
dialect=dialect)
|
||||
rows = []
|
||||
max_cols = 0
|
||||
for row in csv_reader:
|
||||
row_data = []
|
||||
for cell in row:
|
||||
# decode UTF-8 back to Unicode
|
||||
cell_text = self.decode_from_csv(cell)
|
||||
cell_data = (0, 0, 0, statemachine.StringList(
|
||||
cell_text.splitlines(), source=source))
|
||||
row_data.append(cell_data)
|
||||
rows.append(row_data)
|
||||
max_cols = max(max_cols, len(row))
|
||||
return rows, max_cols
|
||||
|
||||
|
||||
class ListTable(Table):
|
||||
|
||||
"""
|
||||
Implement tables whose data is encoded as a uniform two-level bullet list.
|
||||
For further ideas, see
|
||||
http://docutils.sf.net/docs/dev/rst/alternatives.html#list-driven-tables
|
||||
"""
|
||||
|
||||
option_spec = {'header-rows': directives.nonnegative_int,
|
||||
'stub-columns': directives.nonnegative_int,
|
||||
'widths': directives.positive_int_list,
|
||||
'class': directives.class_option,
|
||||
'name': directives.unchanged}
|
||||
|
||||
def run(self):
|
||||
if not self.content:
|
||||
error = self.state_machine.reporter.error(
|
||||
'The "%s" directive is empty; content required.' % self.name,
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
return [error]
|
||||
title, messages = self.make_title()
|
||||
node = nodes.Element() # anonymous container for parsing
|
||||
self.state.nested_parse(self.content, self.content_offset, node)
|
||||
try:
|
||||
num_cols, col_widths = self.check_list_content(node)
|
||||
table_data = [[item.children for item in row_list[0]]
|
||||
for row_list in node[0]]
|
||||
header_rows = self.options.get('header-rows', 0)
|
||||
stub_columns = self.options.get('stub-columns', 0)
|
||||
self.check_table_dimensions(table_data, header_rows, stub_columns)
|
||||
except SystemMessagePropagation, detail:
|
||||
return [detail.args[0]]
|
||||
table_node = self.build_table_from_list(table_data, col_widths,
|
||||
header_rows, stub_columns)
|
||||
table_node['classes'] += self.options.get('class', [])
|
||||
self.add_name(table_node)
|
||||
if title:
|
||||
table_node.insert(0, title)
|
||||
return [table_node] + messages
|
||||
|
||||
def check_list_content(self, node):
|
||||
if len(node) != 1 or not isinstance(node[0], nodes.bullet_list):
|
||||
error = self.state_machine.reporter.error(
|
||||
'Error parsing content block for the "%s" directive: '
|
||||
'exactly one bullet list expected.' % self.name,
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
list_node = node[0]
|
||||
# Check for a uniform two-level bullet list:
|
||||
for item_index in range(len(list_node)):
|
||||
item = list_node[item_index]
|
||||
if len(item) != 1 or not isinstance(item[0], nodes.bullet_list):
|
||||
error = self.state_machine.reporter.error(
|
||||
'Error parsing content block for the "%s" directive: '
|
||||
'two-level bullet list expected, but row %s does not '
|
||||
'contain a second-level bullet list.'
|
||||
% (self.name, item_index + 1), nodes.literal_block(
|
||||
self.block_text, self.block_text), line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
elif item_index:
|
||||
# ATTN pychecker users: num_cols is guaranteed to be set in the
|
||||
# "else" clause below for item_index==0, before this branch is
|
||||
# triggered.
|
||||
if len(item[0]) != num_cols:
|
||||
error = self.state_machine.reporter.error(
|
||||
'Error parsing content block for the "%s" directive: '
|
||||
'uniform two-level bullet list expected, but row %s '
|
||||
'does not contain the same number of items as row 1 '
|
||||
'(%s vs %s).'
|
||||
% (self.name, item_index + 1, len(item[0]), num_cols),
|
||||
nodes.literal_block(self.block_text, self.block_text),
|
||||
line=self.lineno)
|
||||
raise SystemMessagePropagation(error)
|
||||
else:
|
||||
num_cols = len(item[0])
|
||||
col_widths = self.get_column_widths(num_cols)
|
||||
return num_cols, col_widths
|
||||
|
||||
def build_table_from_list(self, table_data, col_widths, header_rows, stub_columns):
|
||||
table = nodes.table()
|
||||
tgroup = nodes.tgroup(cols=len(col_widths))
|
||||
table += tgroup
|
||||
for col_width in col_widths:
|
||||
colspec = nodes.colspec(colwidth=col_width)
|
||||
if stub_columns:
|
||||
colspec.attributes['stub'] = 1
|
||||
stub_columns -= 1
|
||||
tgroup += colspec
|
||||
rows = []
|
||||
for row in table_data:
|
||||
row_node = nodes.row()
|
||||
for cell in row:
|
||||
entry = nodes.entry()
|
||||
entry += cell
|
||||
row_node += entry
|
||||
rows.append(row_node)
|
||||
if header_rows:
|
||||
thead = nodes.thead()
|
||||
thead.extend(rows[:header_rows])
|
||||
tgroup += thead
|
||||
tbody = nodes.tbody()
|
||||
tbody.extend(rows[header_rows:])
|
||||
tgroup += tbody
|
||||
return table
|
17
docutils/parsers/rst/include/README.txt
Normal file
17
docutils/parsers/rst/include/README.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
============================================
|
||||
``docutils/parsers/rst/include`` Directory
|
||||
============================================
|
||||
|
||||
This directory contains standard data files intended for inclusion in
|
||||
reStructuredText documents. To access these files, use the "include"
|
||||
directive with the special syntax for standard "include" data files,
|
||||
angle brackets around the file name::
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
See the documentation for the `"include" directive`__ and
|
||||
`reStructuredText Standard Substitution Definition Sets`__ for
|
||||
details.
|
||||
|
||||
__ http://docutils.sf.net/docs/ref/rst/directives.html#include
|
||||
__ http://docutils.sf.net/docs/ref/rst/substitutions.html
|
162
docutils/parsers/rst/include/isoamsa.txt
Normal file
162
docutils/parsers/rst/include/isoamsa.txt
Normal file
|
@ -0,0 +1,162 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |angzarr| unicode:: U+0237C .. RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
|
||||
.. |cirmid| unicode:: U+02AEF .. VERTICAL LINE WITH CIRCLE ABOVE
|
||||
.. |cudarrl| unicode:: U+02938 .. RIGHT-SIDE ARC CLOCKWISE ARROW
|
||||
.. |cudarrr| unicode:: U+02935 .. ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
|
||||
.. |cularr| unicode:: U+021B6 .. ANTICLOCKWISE TOP SEMICIRCLE ARROW
|
||||
.. |cularrp| unicode:: U+0293D .. TOP ARC ANTICLOCKWISE ARROW WITH PLUS
|
||||
.. |curarr| unicode:: U+021B7 .. CLOCKWISE TOP SEMICIRCLE ARROW
|
||||
.. |curarrm| unicode:: U+0293C .. TOP ARC CLOCKWISE ARROW WITH MINUS
|
||||
.. |Darr| unicode:: U+021A1 .. DOWNWARDS TWO HEADED ARROW
|
||||
.. |dArr| unicode:: U+021D3 .. DOWNWARDS DOUBLE ARROW
|
||||
.. |darr2| unicode:: U+021CA .. DOWNWARDS PAIRED ARROWS
|
||||
.. |ddarr| unicode:: U+021CA .. DOWNWARDS PAIRED ARROWS
|
||||
.. |DDotrahd| unicode:: U+02911 .. RIGHTWARDS ARROW WITH DOTTED STEM
|
||||
.. |dfisht| unicode:: U+0297F .. DOWN FISH TAIL
|
||||
.. |dHar| unicode:: U+02965 .. DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
|
||||
.. |dharl| unicode:: U+021C3 .. DOWNWARDS HARPOON WITH BARB LEFTWARDS
|
||||
.. |dharr| unicode:: U+021C2 .. DOWNWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
.. |dlarr| unicode:: U+02199 .. SOUTH WEST ARROW
|
||||
.. |drarr| unicode:: U+02198 .. SOUTH EAST ARROW
|
||||
.. |duarr| unicode:: U+021F5 .. DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
|
||||
.. |duhar| unicode:: U+0296F .. DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
|
||||
.. |dzigrarr| unicode:: U+027FF .. LONG RIGHTWARDS SQUIGGLE ARROW
|
||||
.. |erarr| unicode:: U+02971 .. EQUALS SIGN ABOVE RIGHTWARDS ARROW
|
||||
.. |hArr| unicode:: U+021D4 .. LEFT RIGHT DOUBLE ARROW
|
||||
.. |harr| unicode:: U+02194 .. LEFT RIGHT ARROW
|
||||
.. |harrcir| unicode:: U+02948 .. LEFT RIGHT ARROW THROUGH SMALL CIRCLE
|
||||
.. |harrw| unicode:: U+021AD .. LEFT RIGHT WAVE ARROW
|
||||
.. |hoarr| unicode:: U+021FF .. LEFT RIGHT OPEN-HEADED ARROW
|
||||
.. |imof| unicode:: U+022B7 .. IMAGE OF
|
||||
.. |lAarr| unicode:: U+021DA .. LEFTWARDS TRIPLE ARROW
|
||||
.. |Larr| unicode:: U+0219E .. LEFTWARDS TWO HEADED ARROW
|
||||
.. |larr2| unicode:: U+021C7 .. LEFTWARDS PAIRED ARROWS
|
||||
.. |larrbfs| unicode:: U+0291F .. LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
|
||||
.. |larrfs| unicode:: U+0291D .. LEFTWARDS ARROW TO BLACK DIAMOND
|
||||
.. |larrhk| unicode:: U+021A9 .. LEFTWARDS ARROW WITH HOOK
|
||||
.. |larrlp| unicode:: U+021AB .. LEFTWARDS ARROW WITH LOOP
|
||||
.. |larrpl| unicode:: U+02939 .. LEFT-SIDE ARC ANTICLOCKWISE ARROW
|
||||
.. |larrsim| unicode:: U+02973 .. LEFTWARDS ARROW ABOVE TILDE OPERATOR
|
||||
.. |larrtl| unicode:: U+021A2 .. LEFTWARDS ARROW WITH TAIL
|
||||
.. |lAtail| unicode:: U+0291B .. LEFTWARDS DOUBLE ARROW-TAIL
|
||||
.. |latail| unicode:: U+02919 .. LEFTWARDS ARROW-TAIL
|
||||
.. |lBarr| unicode:: U+0290E .. LEFTWARDS TRIPLE DASH ARROW
|
||||
.. |lbarr| unicode:: U+0290C .. LEFTWARDS DOUBLE DASH ARROW
|
||||
.. |ldca| unicode:: U+02936 .. ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
|
||||
.. |ldrdhar| unicode:: U+02967 .. LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
|
||||
.. |ldrushar| unicode:: U+0294B .. LEFT BARB DOWN RIGHT BARB UP HARPOON
|
||||
.. |ldsh| unicode:: U+021B2 .. DOWNWARDS ARROW WITH TIP LEFTWARDS
|
||||
.. |lfisht| unicode:: U+0297C .. LEFT FISH TAIL
|
||||
.. |lHar| unicode:: U+02962 .. LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
|
||||
.. |lhard| unicode:: U+021BD .. LEFTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
.. |lharu| unicode:: U+021BC .. LEFTWARDS HARPOON WITH BARB UPWARDS
|
||||
.. |lharul| unicode:: U+0296A .. LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
|
||||
.. |llarr| unicode:: U+021C7 .. LEFTWARDS PAIRED ARROWS
|
||||
.. |llhard| unicode:: U+0296B .. LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
|
||||
.. |loarr| unicode:: U+021FD .. LEFTWARDS OPEN-HEADED ARROW
|
||||
.. |lrarr| unicode:: U+021C6 .. LEFTWARDS ARROW OVER RIGHTWARDS ARROW
|
||||
.. |lrarr2| unicode:: U+021C6 .. LEFTWARDS ARROW OVER RIGHTWARDS ARROW
|
||||
.. |lrhar| unicode:: U+021CB .. LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
|
||||
.. |lrhar2| unicode:: U+021CB .. LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
|
||||
.. |lrhard| unicode:: U+0296D .. RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
|
||||
.. |lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS
|
||||
.. |lurdshar| unicode:: U+0294A .. LEFT BARB UP RIGHT BARB DOWN HARPOON
|
||||
.. |luruhar| unicode:: U+02966 .. LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
|
||||
.. |Map| unicode:: U+02905 .. RIGHTWARDS TWO-HEADED ARROW FROM BAR
|
||||
.. |map| unicode:: U+021A6 .. RIGHTWARDS ARROW FROM BAR
|
||||
.. |midcir| unicode:: U+02AF0 .. VERTICAL LINE WITH CIRCLE BELOW
|
||||
.. |mumap| unicode:: U+022B8 .. MULTIMAP
|
||||
.. |nearhk| unicode:: U+02924 .. NORTH EAST ARROW WITH HOOK
|
||||
.. |neArr| unicode:: U+021D7 .. NORTH EAST DOUBLE ARROW
|
||||
.. |nearr| unicode:: U+02197 .. NORTH EAST ARROW
|
||||
.. |nesear| unicode:: U+02928 .. NORTH EAST ARROW AND SOUTH EAST ARROW
|
||||
.. |nhArr| unicode:: U+021CE .. LEFT RIGHT DOUBLE ARROW WITH STROKE
|
||||
.. |nharr| unicode:: U+021AE .. LEFT RIGHT ARROW WITH STROKE
|
||||
.. |nlArr| unicode:: U+021CD .. LEFTWARDS DOUBLE ARROW WITH STROKE
|
||||
.. |nlarr| unicode:: U+0219A .. LEFTWARDS ARROW WITH STROKE
|
||||
.. |nrArr| unicode:: U+021CF .. RIGHTWARDS DOUBLE ARROW WITH STROKE
|
||||
.. |nrarr| unicode:: U+0219B .. RIGHTWARDS ARROW WITH STROKE
|
||||
.. |nrarrc| unicode:: U+02933 U+00338 .. WAVE ARROW POINTING DIRECTLY RIGHT with slash
|
||||
.. |nrarrw| unicode:: U+0219D U+00338 .. RIGHTWARDS WAVE ARROW with slash
|
||||
.. |nvHarr| unicode:: U+02904 .. LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
|
||||
.. |nvlArr| unicode:: U+02902 .. LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
|
||||
.. |nvrArr| unicode:: U+02903 .. RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
|
||||
.. |nwarhk| unicode:: U+02923 .. NORTH WEST ARROW WITH HOOK
|
||||
.. |nwArr| unicode:: U+021D6 .. NORTH WEST DOUBLE ARROW
|
||||
.. |nwarr| unicode:: U+02196 .. NORTH WEST ARROW
|
||||
.. |nwnear| unicode:: U+02927 .. NORTH WEST ARROW AND NORTH EAST ARROW
|
||||
.. |olarr| unicode:: U+021BA .. ANTICLOCKWISE OPEN CIRCLE ARROW
|
||||
.. |orarr| unicode:: U+021BB .. CLOCKWISE OPEN CIRCLE ARROW
|
||||
.. |origof| unicode:: U+022B6 .. ORIGINAL OF
|
||||
.. |rAarr| unicode:: U+021DB .. RIGHTWARDS TRIPLE ARROW
|
||||
.. |Rarr| unicode:: U+021A0 .. RIGHTWARDS TWO HEADED ARROW
|
||||
.. |rarr2| unicode:: U+021C9 .. RIGHTWARDS PAIRED ARROWS
|
||||
.. |rarrap| unicode:: U+02975 .. RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
|
||||
.. |rarrbfs| unicode:: U+02920 .. RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
|
||||
.. |rarrc| unicode:: U+02933 .. WAVE ARROW POINTING DIRECTLY RIGHT
|
||||
.. |rarrfs| unicode:: U+0291E .. RIGHTWARDS ARROW TO BLACK DIAMOND
|
||||
.. |rarrhk| unicode:: U+021AA .. RIGHTWARDS ARROW WITH HOOK
|
||||
.. |rarrlp| unicode:: U+021AC .. RIGHTWARDS ARROW WITH LOOP
|
||||
.. |rarrpl| unicode:: U+02945 .. RIGHTWARDS ARROW WITH PLUS BELOW
|
||||
.. |rarrsim| unicode:: U+02974 .. RIGHTWARDS ARROW ABOVE TILDE OPERATOR
|
||||
.. |Rarrtl| unicode:: U+02916 .. RIGHTWARDS TWO-HEADED ARROW WITH TAIL
|
||||
.. |rarrtl| unicode:: U+021A3 .. RIGHTWARDS ARROW WITH TAIL
|
||||
.. |rarrw| unicode:: U+0219D .. RIGHTWARDS WAVE ARROW
|
||||
.. |rAtail| unicode:: U+0291C .. RIGHTWARDS DOUBLE ARROW-TAIL
|
||||
.. |ratail| unicode:: U+0291A .. RIGHTWARDS ARROW-TAIL
|
||||
.. |RBarr| unicode:: U+02910 .. RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
|
||||
.. |rBarr| unicode:: U+0290F .. RIGHTWARDS TRIPLE DASH ARROW
|
||||
.. |rbarr| unicode:: U+0290D .. RIGHTWARDS DOUBLE DASH ARROW
|
||||
.. |rdca| unicode:: U+02937 .. ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
|
||||
.. |rdldhar| unicode:: U+02969 .. RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
|
||||
.. |rdsh| unicode:: U+021B3 .. DOWNWARDS ARROW WITH TIP RIGHTWARDS
|
||||
.. |rfisht| unicode:: U+0297D .. RIGHT FISH TAIL
|
||||
.. |rHar| unicode:: U+02964 .. RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
|
||||
.. |rhard| unicode:: U+021C1 .. RIGHTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
.. |rharu| unicode:: U+021C0 .. RIGHTWARDS HARPOON WITH BARB UPWARDS
|
||||
.. |rharul| unicode:: U+0296C .. RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
|
||||
.. |rlarr| unicode:: U+021C4 .. RIGHTWARDS ARROW OVER LEFTWARDS ARROW
|
||||
.. |rlarr2| unicode:: U+021C4 .. RIGHTWARDS ARROW OVER LEFTWARDS ARROW
|
||||
.. |rlhar| unicode:: U+021CC .. RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
|
||||
.. |rlhar2| unicode:: U+021CC .. RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
|
||||
.. |roarr| unicode:: U+021FE .. RIGHTWARDS OPEN-HEADED ARROW
|
||||
.. |rrarr| unicode:: U+021C9 .. RIGHTWARDS PAIRED ARROWS
|
||||
.. |rsh| unicode:: U+021B1 .. UPWARDS ARROW WITH TIP RIGHTWARDS
|
||||
.. |ruluhar| unicode:: U+02968 .. RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
|
||||
.. |searhk| unicode:: U+02925 .. SOUTH EAST ARROW WITH HOOK
|
||||
.. |seArr| unicode:: U+021D8 .. SOUTH EAST DOUBLE ARROW
|
||||
.. |searr| unicode:: U+02198 .. SOUTH EAST ARROW
|
||||
.. |seswar| unicode:: U+02929 .. SOUTH EAST ARROW AND SOUTH WEST ARROW
|
||||
.. |simrarr| unicode:: U+02972 .. TILDE OPERATOR ABOVE RIGHTWARDS ARROW
|
||||
.. |slarr| unicode:: U+02190 .. LEFTWARDS ARROW
|
||||
.. |srarr| unicode:: U+02192 .. RIGHTWARDS ARROW
|
||||
.. |swarhk| unicode:: U+02926 .. SOUTH WEST ARROW WITH HOOK
|
||||
.. |swArr| unicode:: U+021D9 .. SOUTH WEST DOUBLE ARROW
|
||||
.. |swarr| unicode:: U+02199 .. SOUTH WEST ARROW
|
||||
.. |swnwar| unicode:: U+0292A .. SOUTH WEST ARROW AND NORTH WEST ARROW
|
||||
.. |Uarr| unicode:: U+0219F .. UPWARDS TWO HEADED ARROW
|
||||
.. |uArr| unicode:: U+021D1 .. UPWARDS DOUBLE ARROW
|
||||
.. |uarr2| unicode:: U+021C8 .. UPWARDS PAIRED ARROWS
|
||||
.. |Uarrocir| unicode:: U+02949 .. UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
|
||||
.. |udarr| unicode:: U+021C5 .. UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
|
||||
.. |udhar| unicode:: U+0296E .. UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
|
||||
.. |ufisht| unicode:: U+0297E .. UP FISH TAIL
|
||||
.. |uHar| unicode:: U+02963 .. UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
|
||||
.. |uharl| unicode:: U+021BF .. UPWARDS HARPOON WITH BARB LEFTWARDS
|
||||
.. |uharr| unicode:: U+021BE .. UPWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
.. |uuarr| unicode:: U+021C8 .. UPWARDS PAIRED ARROWS
|
||||
.. |vArr| unicode:: U+021D5 .. UP DOWN DOUBLE ARROW
|
||||
.. |varr| unicode:: U+02195 .. UP DOWN ARROW
|
||||
.. |xhArr| unicode:: U+027FA .. LONG LEFT RIGHT DOUBLE ARROW
|
||||
.. |xharr| unicode:: U+027F7 .. LONG LEFT RIGHT ARROW
|
||||
.. |xlArr| unicode:: U+027F8 .. LONG LEFTWARDS DOUBLE ARROW
|
||||
.. |xlarr| unicode:: U+027F5 .. LONG LEFTWARDS ARROW
|
||||
.. |xmap| unicode:: U+027FC .. LONG RIGHTWARDS ARROW FROM BAR
|
||||
.. |xrArr| unicode:: U+027F9 .. LONG RIGHTWARDS DOUBLE ARROW
|
||||
.. |xrarr| unicode:: U+027F6 .. LONG RIGHTWARDS ARROW
|
||||
.. |zigrarr| unicode:: U+021DD .. RIGHTWARDS SQUIGGLE ARROW
|
126
docutils/parsers/rst/include/isoamsb.txt
Normal file
126
docutils/parsers/rst/include/isoamsb.txt
Normal file
|
@ -0,0 +1,126 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |ac| unicode:: U+0223E .. INVERTED LAZY S
|
||||
.. |acE| unicode:: U+0223E U+00333 .. INVERTED LAZY S with double underline
|
||||
.. |amalg| unicode:: U+02A3F .. AMALGAMATION OR COPRODUCT
|
||||
.. |barvee| unicode:: U+022BD .. NOR
|
||||
.. |Barwed| unicode:: U+02306 .. PERSPECTIVE
|
||||
.. |barwed| unicode:: U+02305 .. PROJECTIVE
|
||||
.. |bsolb| unicode:: U+029C5 .. SQUARED FALLING DIAGONAL SLASH
|
||||
.. |Cap| unicode:: U+022D2 .. DOUBLE INTERSECTION
|
||||
.. |capand| unicode:: U+02A44 .. INTERSECTION WITH LOGICAL AND
|
||||
.. |capbrcup| unicode:: U+02A49 .. INTERSECTION ABOVE BAR ABOVE UNION
|
||||
.. |capcap| unicode:: U+02A4B .. INTERSECTION BESIDE AND JOINED WITH INTERSECTION
|
||||
.. |capcup| unicode:: U+02A47 .. INTERSECTION ABOVE UNION
|
||||
.. |capdot| unicode:: U+02A40 .. INTERSECTION WITH DOT
|
||||
.. |caps| unicode:: U+02229 U+0FE00 .. INTERSECTION with serifs
|
||||
.. |ccaps| unicode:: U+02A4D .. CLOSED INTERSECTION WITH SERIFS
|
||||
.. |ccups| unicode:: U+02A4C .. CLOSED UNION WITH SERIFS
|
||||
.. |ccupssm| unicode:: U+02A50 .. CLOSED UNION WITH SERIFS AND SMASH PRODUCT
|
||||
.. |coprod| unicode:: U+02210 .. N-ARY COPRODUCT
|
||||
.. |Cup| unicode:: U+022D3 .. DOUBLE UNION
|
||||
.. |cupbrcap| unicode:: U+02A48 .. UNION ABOVE BAR ABOVE INTERSECTION
|
||||
.. |cupcap| unicode:: U+02A46 .. UNION ABOVE INTERSECTION
|
||||
.. |cupcup| unicode:: U+02A4A .. UNION BESIDE AND JOINED WITH UNION
|
||||
.. |cupdot| unicode:: U+0228D .. MULTISET MULTIPLICATION
|
||||
.. |cupor| unicode:: U+02A45 .. UNION WITH LOGICAL OR
|
||||
.. |cups| unicode:: U+0222A U+0FE00 .. UNION with serifs
|
||||
.. |cuvee| unicode:: U+022CE .. CURLY LOGICAL OR
|
||||
.. |cuwed| unicode:: U+022CF .. CURLY LOGICAL AND
|
||||
.. |Dagger| unicode:: U+02021 .. DOUBLE DAGGER
|
||||
.. |dagger| unicode:: U+02020 .. DAGGER
|
||||
.. |diam| unicode:: U+022C4 .. DIAMOND OPERATOR
|
||||
.. |divonx| unicode:: U+022C7 .. DIVISION TIMES
|
||||
.. |eplus| unicode:: U+02A71 .. EQUALS SIGN ABOVE PLUS SIGN
|
||||
.. |hercon| unicode:: U+022B9 .. HERMITIAN CONJUGATE MATRIX
|
||||
.. |intcal| unicode:: U+022BA .. INTERCALATE
|
||||
.. |iprod| unicode:: U+02A3C .. INTERIOR PRODUCT
|
||||
.. |loplus| unicode:: U+02A2D .. PLUS SIGN IN LEFT HALF CIRCLE
|
||||
.. |lotimes| unicode:: U+02A34 .. MULTIPLICATION SIGN IN LEFT HALF CIRCLE
|
||||
.. |lthree| unicode:: U+022CB .. LEFT SEMIDIRECT PRODUCT
|
||||
.. |ltimes| unicode:: U+022C9 .. LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
|
||||
.. |midast| unicode:: U+0002A .. ASTERISK
|
||||
.. |minusb| unicode:: U+0229F .. SQUARED MINUS
|
||||
.. |minusd| unicode:: U+02238 .. DOT MINUS
|
||||
.. |minusdu| unicode:: U+02A2A .. MINUS SIGN WITH DOT BELOW
|
||||
.. |ncap| unicode:: U+02A43 .. INTERSECTION WITH OVERBAR
|
||||
.. |ncup| unicode:: U+02A42 .. UNION WITH OVERBAR
|
||||
.. |oast| unicode:: U+0229B .. CIRCLED ASTERISK OPERATOR
|
||||
.. |ocir| unicode:: U+0229A .. CIRCLED RING OPERATOR
|
||||
.. |odash| unicode:: U+0229D .. CIRCLED DASH
|
||||
.. |odiv| unicode:: U+02A38 .. CIRCLED DIVISION SIGN
|
||||
.. |odot| unicode:: U+02299 .. CIRCLED DOT OPERATOR
|
||||
.. |odsold| unicode:: U+029BC .. CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
|
||||
.. |ofcir| unicode:: U+029BF .. CIRCLED BULLET
|
||||
.. |ogt| unicode:: U+029C1 .. CIRCLED GREATER-THAN
|
||||
.. |ohbar| unicode:: U+029B5 .. CIRCLE WITH HORIZONTAL BAR
|
||||
.. |olcir| unicode:: U+029BE .. CIRCLED WHITE BULLET
|
||||
.. |olt| unicode:: U+029C0 .. CIRCLED LESS-THAN
|
||||
.. |omid| unicode:: U+029B6 .. CIRCLED VERTICAL BAR
|
||||
.. |ominus| unicode:: U+02296 .. CIRCLED MINUS
|
||||
.. |opar| unicode:: U+029B7 .. CIRCLED PARALLEL
|
||||
.. |operp| unicode:: U+029B9 .. CIRCLED PERPENDICULAR
|
||||
.. |oplus| unicode:: U+02295 .. CIRCLED PLUS
|
||||
.. |osol| unicode:: U+02298 .. CIRCLED DIVISION SLASH
|
||||
.. |Otimes| unicode:: U+02A37 .. MULTIPLICATION SIGN IN DOUBLE CIRCLE
|
||||
.. |otimes| unicode:: U+02297 .. CIRCLED TIMES
|
||||
.. |otimesas| unicode:: U+02A36 .. CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
|
||||
.. |ovbar| unicode:: U+0233D .. APL FUNCTIONAL SYMBOL CIRCLE STILE
|
||||
.. |plusacir| unicode:: U+02A23 .. PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
|
||||
.. |plusb| unicode:: U+0229E .. SQUARED PLUS
|
||||
.. |pluscir| unicode:: U+02A22 .. PLUS SIGN WITH SMALL CIRCLE ABOVE
|
||||
.. |plusdo| unicode:: U+02214 .. DOT PLUS
|
||||
.. |plusdu| unicode:: U+02A25 .. PLUS SIGN WITH DOT BELOW
|
||||
.. |pluse| unicode:: U+02A72 .. PLUS SIGN ABOVE EQUALS SIGN
|
||||
.. |plussim| unicode:: U+02A26 .. PLUS SIGN WITH TILDE BELOW
|
||||
.. |plustwo| unicode:: U+02A27 .. PLUS SIGN WITH SUBSCRIPT TWO
|
||||
.. |prod| unicode:: U+0220F .. N-ARY PRODUCT
|
||||
.. |race| unicode:: U+029DA .. LEFT DOUBLE WIGGLY FENCE
|
||||
.. |roplus| unicode:: U+02A2E .. PLUS SIGN IN RIGHT HALF CIRCLE
|
||||
.. |rotimes| unicode:: U+02A35 .. MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
|
||||
.. |rthree| unicode:: U+022CC .. RIGHT SEMIDIRECT PRODUCT
|
||||
.. |rtimes| unicode:: U+022CA .. RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
|
||||
.. |sdot| unicode:: U+022C5 .. DOT OPERATOR
|
||||
.. |sdotb| unicode:: U+022A1 .. SQUARED DOT OPERATOR
|
||||
.. |setmn| unicode:: U+02216 .. SET MINUS
|
||||
.. |simplus| unicode:: U+02A24 .. PLUS SIGN WITH TILDE ABOVE
|
||||
.. |smashp| unicode:: U+02A33 .. SMASH PRODUCT
|
||||
.. |solb| unicode:: U+029C4 .. SQUARED RISING DIAGONAL SLASH
|
||||
.. |sqcap| unicode:: U+02293 .. SQUARE CAP
|
||||
.. |sqcaps| unicode:: U+02293 U+0FE00 .. SQUARE CAP with serifs
|
||||
.. |sqcup| unicode:: U+02294 .. SQUARE CUP
|
||||
.. |sqcups| unicode:: U+02294 U+0FE00 .. SQUARE CUP with serifs
|
||||
.. |ssetmn| unicode:: U+02216 .. SET MINUS
|
||||
.. |sstarf| unicode:: U+022C6 .. STAR OPERATOR
|
||||
.. |subdot| unicode:: U+02ABD .. SUBSET WITH DOT
|
||||
.. |sum| unicode:: U+02211 .. N-ARY SUMMATION
|
||||
.. |supdot| unicode:: U+02ABE .. SUPERSET WITH DOT
|
||||
.. |timesb| unicode:: U+022A0 .. SQUARED TIMES
|
||||
.. |timesbar| unicode:: U+02A31 .. MULTIPLICATION SIGN WITH UNDERBAR
|
||||
.. |timesd| unicode:: U+02A30 .. MULTIPLICATION SIGN WITH DOT ABOVE
|
||||
.. |top| unicode:: U+022A4 .. DOWN TACK
|
||||
.. |tridot| unicode:: U+025EC .. WHITE UP-POINTING TRIANGLE WITH DOT
|
||||
.. |triminus| unicode:: U+02A3A .. MINUS SIGN IN TRIANGLE
|
||||
.. |triplus| unicode:: U+02A39 .. PLUS SIGN IN TRIANGLE
|
||||
.. |trisb| unicode:: U+029CD .. TRIANGLE WITH SERIFS AT BOTTOM
|
||||
.. |tritime| unicode:: U+02A3B .. MULTIPLICATION SIGN IN TRIANGLE
|
||||
.. |uplus| unicode:: U+0228E .. MULTISET UNION
|
||||
.. |veebar| unicode:: U+022BB .. XOR
|
||||
.. |wedbar| unicode:: U+02A5F .. LOGICAL AND WITH UNDERBAR
|
||||
.. |wreath| unicode:: U+02240 .. WREATH PRODUCT
|
||||
.. |xcap| unicode:: U+022C2 .. N-ARY INTERSECTION
|
||||
.. |xcirc| unicode:: U+025EF .. LARGE CIRCLE
|
||||
.. |xcup| unicode:: U+022C3 .. N-ARY UNION
|
||||
.. |xdtri| unicode:: U+025BD .. WHITE DOWN-POINTING TRIANGLE
|
||||
.. |xodot| unicode:: U+02A00 .. N-ARY CIRCLED DOT OPERATOR
|
||||
.. |xoplus| unicode:: U+02A01 .. N-ARY CIRCLED PLUS OPERATOR
|
||||
.. |xotime| unicode:: U+02A02 .. N-ARY CIRCLED TIMES OPERATOR
|
||||
.. |xsqcup| unicode:: U+02A06 .. N-ARY SQUARE UNION OPERATOR
|
||||
.. |xuplus| unicode:: U+02A04 .. N-ARY UNION OPERATOR WITH PLUS
|
||||
.. |xutri| unicode:: U+025B3 .. WHITE UP-POINTING TRIANGLE
|
||||
.. |xvee| unicode:: U+022C1 .. N-ARY LOGICAL OR
|
||||
.. |xwedge| unicode:: U+022C0 .. N-ARY LOGICAL AND
|
29
docutils/parsers/rst/include/isoamsc.txt
Normal file
29
docutils/parsers/rst/include/isoamsc.txt
Normal file
|
@ -0,0 +1,29 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |dlcorn| unicode:: U+0231E .. BOTTOM LEFT CORNER
|
||||
.. |drcorn| unicode:: U+0231F .. BOTTOM RIGHT CORNER
|
||||
.. |gtlPar| unicode:: U+02995 .. DOUBLE LEFT ARC GREATER-THAN BRACKET
|
||||
.. |langd| unicode:: U+02991 .. LEFT ANGLE BRACKET WITH DOT
|
||||
.. |lbrke| unicode:: U+0298B .. LEFT SQUARE BRACKET WITH UNDERBAR
|
||||
.. |lbrksld| unicode:: U+0298F .. LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
|
||||
.. |lbrkslu| unicode:: U+0298D .. LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
|
||||
.. |lceil| unicode:: U+02308 .. LEFT CEILING
|
||||
.. |lfloor| unicode:: U+0230A .. LEFT FLOOR
|
||||
.. |lmoust| unicode:: U+023B0 .. UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
|
||||
.. |lpargt| unicode:: U+029A0 .. SPHERICAL ANGLE OPENING LEFT
|
||||
.. |lparlt| unicode:: U+02993 .. LEFT ARC LESS-THAN BRACKET
|
||||
.. |ltrPar| unicode:: U+02996 .. DOUBLE RIGHT ARC LESS-THAN BRACKET
|
||||
.. |rangd| unicode:: U+02992 .. RIGHT ANGLE BRACKET WITH DOT
|
||||
.. |rbrke| unicode:: U+0298C .. RIGHT SQUARE BRACKET WITH UNDERBAR
|
||||
.. |rbrksld| unicode:: U+0298E .. RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
|
||||
.. |rbrkslu| unicode:: U+02990 .. RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
|
||||
.. |rceil| unicode:: U+02309 .. RIGHT CEILING
|
||||
.. |rfloor| unicode:: U+0230B .. RIGHT FLOOR
|
||||
.. |rmoust| unicode:: U+023B1 .. UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
|
||||
.. |rpargt| unicode:: U+02994 .. RIGHT ARC GREATER-THAN BRACKET
|
||||
.. |ulcorn| unicode:: U+0231C .. TOP LEFT CORNER
|
||||
.. |urcorn| unicode:: U+0231D .. TOP RIGHT CORNER
|
96
docutils/parsers/rst/include/isoamsn.txt
Normal file
96
docutils/parsers/rst/include/isoamsn.txt
Normal file
|
@ -0,0 +1,96 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |gnap| unicode:: U+02A8A .. GREATER-THAN AND NOT APPROXIMATE
|
||||
.. |gnE| unicode:: U+02269 .. GREATER-THAN BUT NOT EQUAL TO
|
||||
.. |gne| unicode:: U+02A88 .. GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
|
||||
.. |gnsim| unicode:: U+022E7 .. GREATER-THAN BUT NOT EQUIVALENT TO
|
||||
.. |gvnE| unicode:: U+02269 U+0FE00 .. GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
|
||||
.. |lnap| unicode:: U+02A89 .. LESS-THAN AND NOT APPROXIMATE
|
||||
.. |lnE| unicode:: U+02268 .. LESS-THAN BUT NOT EQUAL TO
|
||||
.. |lne| unicode:: U+02A87 .. LESS-THAN AND SINGLE-LINE NOT EQUAL TO
|
||||
.. |lnsim| unicode:: U+022E6 .. LESS-THAN BUT NOT EQUIVALENT TO
|
||||
.. |lvnE| unicode:: U+02268 U+0FE00 .. LESS-THAN BUT NOT EQUAL TO - with vertical stroke
|
||||
.. |nap| unicode:: U+02249 .. NOT ALMOST EQUAL TO
|
||||
.. |napE| unicode:: U+02A70 U+00338 .. APPROXIMATELY EQUAL OR EQUAL TO with slash
|
||||
.. |napid| unicode:: U+0224B U+00338 .. TRIPLE TILDE with slash
|
||||
.. |ncong| unicode:: U+02247 .. NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
|
||||
.. |ncongdot| unicode:: U+02A6D U+00338 .. CONGRUENT WITH DOT ABOVE with slash
|
||||
.. |nequiv| unicode:: U+02262 .. NOT IDENTICAL TO
|
||||
.. |ngE| unicode:: U+02267 U+00338 .. GREATER-THAN OVER EQUAL TO with slash
|
||||
.. |nge| unicode:: U+02271 .. NEITHER GREATER-THAN NOR EQUAL TO
|
||||
.. |nges| unicode:: U+02A7E U+00338 .. GREATER-THAN OR SLANTED EQUAL TO with slash
|
||||
.. |nGg| unicode:: U+022D9 U+00338 .. VERY MUCH GREATER-THAN with slash
|
||||
.. |ngsim| unicode:: U+02275 .. NEITHER GREATER-THAN NOR EQUIVALENT TO
|
||||
.. |nGt| unicode:: U+0226B U+020D2 .. MUCH GREATER THAN with vertical line
|
||||
.. |ngt| unicode:: U+0226F .. NOT GREATER-THAN
|
||||
.. |nGtv| unicode:: U+0226B U+00338 .. MUCH GREATER THAN with slash
|
||||
.. |nlE| unicode:: U+02266 U+00338 .. LESS-THAN OVER EQUAL TO with slash
|
||||
.. |nle| unicode:: U+02270 .. NEITHER LESS-THAN NOR EQUAL TO
|
||||
.. |nles| unicode:: U+02A7D U+00338 .. LESS-THAN OR SLANTED EQUAL TO with slash
|
||||
.. |nLl| unicode:: U+022D8 U+00338 .. VERY MUCH LESS-THAN with slash
|
||||
.. |nlsim| unicode:: U+02274 .. NEITHER LESS-THAN NOR EQUIVALENT TO
|
||||
.. |nLt| unicode:: U+0226A U+020D2 .. MUCH LESS THAN with vertical line
|
||||
.. |nlt| unicode:: U+0226E .. NOT LESS-THAN
|
||||
.. |nltri| unicode:: U+022EA .. NOT NORMAL SUBGROUP OF
|
||||
.. |nltrie| unicode:: U+022EC .. NOT NORMAL SUBGROUP OF OR EQUAL TO
|
||||
.. |nLtv| unicode:: U+0226A U+00338 .. MUCH LESS THAN with slash
|
||||
.. |nmid| unicode:: U+02224 .. DOES NOT DIVIDE
|
||||
.. |npar| unicode:: U+02226 .. NOT PARALLEL TO
|
||||
.. |npr| unicode:: U+02280 .. DOES NOT PRECEDE
|
||||
.. |nprcue| unicode:: U+022E0 .. DOES NOT PRECEDE OR EQUAL
|
||||
.. |npre| unicode:: U+02AAF U+00338 .. PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
|
||||
.. |nrtri| unicode:: U+022EB .. DOES NOT CONTAIN AS NORMAL SUBGROUP
|
||||
.. |nrtrie| unicode:: U+022ED .. DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
|
||||
.. |nsc| unicode:: U+02281 .. DOES NOT SUCCEED
|
||||
.. |nsccue| unicode:: U+022E1 .. DOES NOT SUCCEED OR EQUAL
|
||||
.. |nsce| unicode:: U+02AB0 U+00338 .. SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
|
||||
.. |nsim| unicode:: U+02241 .. NOT TILDE
|
||||
.. |nsime| unicode:: U+02244 .. NOT ASYMPTOTICALLY EQUAL TO
|
||||
.. |nsmid| unicode:: U+02224 .. DOES NOT DIVIDE
|
||||
.. |nspar| unicode:: U+02226 .. NOT PARALLEL TO
|
||||
.. |nsqsube| unicode:: U+022E2 .. NOT SQUARE IMAGE OF OR EQUAL TO
|
||||
.. |nsqsupe| unicode:: U+022E3 .. NOT SQUARE ORIGINAL OF OR EQUAL TO
|
||||
.. |nsub| unicode:: U+02284 .. NOT A SUBSET OF
|
||||
.. |nsubE| unicode:: U+02AC5 U+00338 .. SUBSET OF ABOVE EQUALS SIGN with slash
|
||||
.. |nsube| unicode:: U+02288 .. NEITHER A SUBSET OF NOR EQUAL TO
|
||||
.. |nsup| unicode:: U+02285 .. NOT A SUPERSET OF
|
||||
.. |nsupE| unicode:: U+02AC6 U+00338 .. SUPERSET OF ABOVE EQUALS SIGN with slash
|
||||
.. |nsupe| unicode:: U+02289 .. NEITHER A SUPERSET OF NOR EQUAL TO
|
||||
.. |ntgl| unicode:: U+02279 .. NEITHER GREATER-THAN NOR LESS-THAN
|
||||
.. |ntlg| unicode:: U+02278 .. NEITHER LESS-THAN NOR GREATER-THAN
|
||||
.. |nvap| unicode:: U+0224D U+020D2 .. EQUIVALENT TO with vertical line
|
||||
.. |nVDash| unicode:: U+022AF .. NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
|
||||
.. |nVdash| unicode:: U+022AE .. DOES NOT FORCE
|
||||
.. |nvDash| unicode:: U+022AD .. NOT TRUE
|
||||
.. |nvdash| unicode:: U+022AC .. DOES NOT PROVE
|
||||
.. |nvge| unicode:: U+02265 U+020D2 .. GREATER-THAN OR EQUAL TO with vertical line
|
||||
.. |nvgt| unicode:: U+0003E U+020D2 .. GREATER-THAN SIGN with vertical line
|
||||
.. |nvle| unicode:: U+02264 U+020D2 .. LESS-THAN OR EQUAL TO with vertical line
|
||||
.. |nvlt| unicode:: U+0003C U+020D2 .. LESS-THAN SIGN with vertical line
|
||||
.. |nvltrie| unicode:: U+022B4 U+020D2 .. NORMAL SUBGROUP OF OR EQUAL TO with vertical line
|
||||
.. |nvrtrie| unicode:: U+022B5 U+020D2 .. CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
|
||||
.. |nvsim| unicode:: U+0223C U+020D2 .. TILDE OPERATOR with vertical line
|
||||
.. |parsim| unicode:: U+02AF3 .. PARALLEL WITH TILDE OPERATOR
|
||||
.. |prnap| unicode:: U+02AB9 .. PRECEDES ABOVE NOT ALMOST EQUAL TO
|
||||
.. |prnE| unicode:: U+02AB5 .. PRECEDES ABOVE NOT EQUAL TO
|
||||
.. |prnsim| unicode:: U+022E8 .. PRECEDES BUT NOT EQUIVALENT TO
|
||||
.. |rnmid| unicode:: U+02AEE .. DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
|
||||
.. |scnap| unicode:: U+02ABA .. SUCCEEDS ABOVE NOT ALMOST EQUAL TO
|
||||
.. |scnE| unicode:: U+02AB6 .. SUCCEEDS ABOVE NOT EQUAL TO
|
||||
.. |scnsim| unicode:: U+022E9 .. SUCCEEDS BUT NOT EQUIVALENT TO
|
||||
.. |simne| unicode:: U+02246 .. APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
|
||||
.. |solbar| unicode:: U+0233F .. APL FUNCTIONAL SYMBOL SLASH BAR
|
||||
.. |subnE| unicode:: U+02ACB .. SUBSET OF ABOVE NOT EQUAL TO
|
||||
.. |subne| unicode:: U+0228A .. SUBSET OF WITH NOT EQUAL TO
|
||||
.. |supnE| unicode:: U+02ACC .. SUPERSET OF ABOVE NOT EQUAL TO
|
||||
.. |supne| unicode:: U+0228B .. SUPERSET OF WITH NOT EQUAL TO
|
||||
.. |vnsub| unicode:: U+02282 U+020D2 .. SUBSET OF with vertical line
|
||||
.. |vnsup| unicode:: U+02283 U+020D2 .. SUPERSET OF with vertical line
|
||||
.. |vsubnE| unicode:: U+02ACB U+0FE00 .. SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
|
||||
.. |vsubne| unicode:: U+0228A U+0FE00 .. SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
|
||||
.. |vsupnE| unicode:: U+02ACC U+0FE00 .. SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
|
||||
.. |vsupne| unicode:: U+0228B U+0FE00 .. SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
|
62
docutils/parsers/rst/include/isoamso.txt
Normal file
62
docutils/parsers/rst/include/isoamso.txt
Normal file
|
@ -0,0 +1,62 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |ang| unicode:: U+02220 .. ANGLE
|
||||
.. |ange| unicode:: U+029A4 .. ANGLE WITH UNDERBAR
|
||||
.. |angmsd| unicode:: U+02221 .. MEASURED ANGLE
|
||||
.. |angmsdaa| unicode:: U+029A8 .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
|
||||
.. |angmsdab| unicode:: U+029A9 .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
|
||||
.. |angmsdac| unicode:: U+029AA .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
|
||||
.. |angmsdad| unicode:: U+029AB .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
|
||||
.. |angmsdae| unicode:: U+029AC .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
|
||||
.. |angmsdaf| unicode:: U+029AD .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
|
||||
.. |angmsdag| unicode:: U+029AE .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
|
||||
.. |angmsdah| unicode:: U+029AF .. MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
|
||||
.. |angrtvb| unicode:: U+022BE .. RIGHT ANGLE WITH ARC
|
||||
.. |angrtvbd| unicode:: U+0299D .. MEASURED RIGHT ANGLE WITH DOT
|
||||
.. |bbrk| unicode:: U+023B5 .. BOTTOM SQUARE BRACKET
|
||||
.. |bbrktbrk| unicode:: U+023B6 .. BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
|
||||
.. |bemptyv| unicode:: U+029B0 .. REVERSED EMPTY SET
|
||||
.. |beth| unicode:: U+02136 .. BET SYMBOL
|
||||
.. |boxbox| unicode:: U+029C9 .. TWO JOINED SQUARES
|
||||
.. |bprime| unicode:: U+02035 .. REVERSED PRIME
|
||||
.. |bsemi| unicode:: U+0204F .. REVERSED SEMICOLON
|
||||
.. |cemptyv| unicode:: U+029B2 .. EMPTY SET WITH SMALL CIRCLE ABOVE
|
||||
.. |cirE| unicode:: U+029C3 .. CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
|
||||
.. |cirscir| unicode:: U+029C2 .. CIRCLE WITH SMALL CIRCLE TO THE RIGHT
|
||||
.. |comp| unicode:: U+02201 .. COMPLEMENT
|
||||
.. |daleth| unicode:: U+02138 .. DALET SYMBOL
|
||||
.. |demptyv| unicode:: U+029B1 .. EMPTY SET WITH OVERBAR
|
||||
.. |ell| unicode:: U+02113 .. SCRIPT SMALL L
|
||||
.. |empty| unicode:: U+02205 .. EMPTY SET
|
||||
.. |emptyv| unicode:: U+02205 .. EMPTY SET
|
||||
.. |gimel| unicode:: U+02137 .. GIMEL SYMBOL
|
||||
.. |iiota| unicode:: U+02129 .. TURNED GREEK SMALL LETTER IOTA
|
||||
.. |image| unicode:: U+02111 .. BLACK-LETTER CAPITAL I
|
||||
.. |imath| unicode:: U+00131 .. LATIN SMALL LETTER DOTLESS I
|
||||
.. |inodot| unicode:: U+00131 .. LATIN SMALL LETTER DOTLESS I
|
||||
.. |jmath| unicode:: U+0006A .. LATIN SMALL LETTER J
|
||||
.. |jnodot| unicode:: U+0006A .. LATIN SMALL LETTER J
|
||||
.. |laemptyv| unicode:: U+029B4 .. EMPTY SET WITH LEFT ARROW ABOVE
|
||||
.. |lltri| unicode:: U+025FA .. LOWER LEFT TRIANGLE
|
||||
.. |lrtri| unicode:: U+022BF .. RIGHT TRIANGLE
|
||||
.. |mho| unicode:: U+02127 .. INVERTED OHM SIGN
|
||||
.. |nang| unicode:: U+02220 U+020D2 .. ANGLE with vertical line
|
||||
.. |nexist| unicode:: U+02204 .. THERE DOES NOT EXIST
|
||||
.. |oS| unicode:: U+024C8 .. CIRCLED LATIN CAPITAL LETTER S
|
||||
.. |planck| unicode:: U+0210F .. PLANCK CONSTANT OVER TWO PI
|
||||
.. |plankv| unicode:: U+0210F .. PLANCK CONSTANT OVER TWO PI
|
||||
.. |raemptyv| unicode:: U+029B3 .. EMPTY SET WITH RIGHT ARROW ABOVE
|
||||
.. |range| unicode:: U+029A5 .. REVERSED ANGLE WITH UNDERBAR
|
||||
.. |real| unicode:: U+0211C .. BLACK-LETTER CAPITAL R
|
||||
.. |sbsol| unicode:: U+0FE68 .. SMALL REVERSE SOLIDUS
|
||||
.. |tbrk| unicode:: U+023B4 .. TOP SQUARE BRACKET
|
||||
.. |trpezium| unicode:: U+0FFFD .. REPLACEMENT CHARACTER
|
||||
.. |ultri| unicode:: U+025F8 .. UPPER LEFT TRIANGLE
|
||||
.. |urtri| unicode:: U+025F9 .. UPPER RIGHT TRIANGLE
|
||||
.. |vprime| unicode:: U+02032 .. PRIME
|
||||
.. |vzigzag| unicode:: U+0299A .. VERTICAL ZIGZAG LINE
|
||||
.. |weierp| unicode:: U+02118 .. SCRIPT CAPITAL P
|
191
docutils/parsers/rst/include/isoamsr.txt
Normal file
191
docutils/parsers/rst/include/isoamsr.txt
Normal file
|
@ -0,0 +1,191 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |apE| unicode:: U+02A70 .. APPROXIMATELY EQUAL OR EQUAL TO
|
||||
.. |ape| unicode:: U+0224A .. ALMOST EQUAL OR EQUAL TO
|
||||
.. |apid| unicode:: U+0224B .. TRIPLE TILDE
|
||||
.. |asymp| unicode:: U+02248 .. ALMOST EQUAL TO
|
||||
.. |Barv| unicode:: U+02AE7 .. SHORT DOWN TACK WITH OVERBAR
|
||||
.. |bcong| unicode:: U+0224C .. ALL EQUAL TO
|
||||
.. |bepsi| unicode:: U+003F6 .. GREEK REVERSED LUNATE EPSILON SYMBOL
|
||||
.. |bowtie| unicode:: U+022C8 .. BOWTIE
|
||||
.. |bsim| unicode:: U+0223D .. REVERSED TILDE
|
||||
.. |bsime| unicode:: U+022CD .. REVERSED TILDE EQUALS
|
||||
.. |bsolhsub| unicode:: U+0005C U+02282 .. REVERSE SOLIDUS, SUBSET OF
|
||||
.. |bump| unicode:: U+0224E .. GEOMETRICALLY EQUIVALENT TO
|
||||
.. |bumpE| unicode:: U+02AAE .. EQUALS SIGN WITH BUMPY ABOVE
|
||||
.. |bumpe| unicode:: U+0224F .. DIFFERENCE BETWEEN
|
||||
.. |cire| unicode:: U+02257 .. RING EQUAL TO
|
||||
.. |Colon| unicode:: U+02237 .. PROPORTION
|
||||
.. |Colone| unicode:: U+02A74 .. DOUBLE COLON EQUAL
|
||||
.. |colone| unicode:: U+02254 .. COLON EQUALS
|
||||
.. |congdot| unicode:: U+02A6D .. CONGRUENT WITH DOT ABOVE
|
||||
.. |csub| unicode:: U+02ACF .. CLOSED SUBSET
|
||||
.. |csube| unicode:: U+02AD1 .. CLOSED SUBSET OR EQUAL TO
|
||||
.. |csup| unicode:: U+02AD0 .. CLOSED SUPERSET
|
||||
.. |csupe| unicode:: U+02AD2 .. CLOSED SUPERSET OR EQUAL TO
|
||||
.. |cuepr| unicode:: U+022DE .. EQUAL TO OR PRECEDES
|
||||
.. |cuesc| unicode:: U+022DF .. EQUAL TO OR SUCCEEDS
|
||||
.. |cupre| unicode:: U+0227C .. PRECEDES OR EQUAL TO
|
||||
.. |Dashv| unicode:: U+02AE4 .. VERTICAL BAR DOUBLE LEFT TURNSTILE
|
||||
.. |dashv| unicode:: U+022A3 .. LEFT TACK
|
||||
.. |easter| unicode:: U+02A6E .. EQUALS WITH ASTERISK
|
||||
.. |ecir| unicode:: U+02256 .. RING IN EQUAL TO
|
||||
.. |ecolon| unicode:: U+02255 .. EQUALS COLON
|
||||
.. |eDDot| unicode:: U+02A77 .. EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
|
||||
.. |eDot| unicode:: U+02251 .. GEOMETRICALLY EQUAL TO
|
||||
.. |efDot| unicode:: U+02252 .. APPROXIMATELY EQUAL TO OR THE IMAGE OF
|
||||
.. |eg| unicode:: U+02A9A .. DOUBLE-LINE EQUAL TO OR GREATER-THAN
|
||||
.. |egs| unicode:: U+02A96 .. SLANTED EQUAL TO OR GREATER-THAN
|
||||
.. |egsdot| unicode:: U+02A98 .. SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
|
||||
.. |el| unicode:: U+02A99 .. DOUBLE-LINE EQUAL TO OR LESS-THAN
|
||||
.. |els| unicode:: U+02A95 .. SLANTED EQUAL TO OR LESS-THAN
|
||||
.. |elsdot| unicode:: U+02A97 .. SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
|
||||
.. |equest| unicode:: U+0225F .. QUESTIONED EQUAL TO
|
||||
.. |equivDD| unicode:: U+02A78 .. EQUIVALENT WITH FOUR DOTS ABOVE
|
||||
.. |erDot| unicode:: U+02253 .. IMAGE OF OR APPROXIMATELY EQUAL TO
|
||||
.. |esdot| unicode:: U+02250 .. APPROACHES THE LIMIT
|
||||
.. |Esim| unicode:: U+02A73 .. EQUALS SIGN ABOVE TILDE OPERATOR
|
||||
.. |esim| unicode:: U+02242 .. MINUS TILDE
|
||||
.. |fork| unicode:: U+022D4 .. PITCHFORK
|
||||
.. |forkv| unicode:: U+02AD9 .. ELEMENT OF OPENING DOWNWARDS
|
||||
.. |frown| unicode:: U+02322 .. FROWN
|
||||
.. |gap| unicode:: U+02A86 .. GREATER-THAN OR APPROXIMATE
|
||||
.. |gE| unicode:: U+02267 .. GREATER-THAN OVER EQUAL TO
|
||||
.. |gEl| unicode:: U+02A8C .. GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
|
||||
.. |gel| unicode:: U+022DB .. GREATER-THAN EQUAL TO OR LESS-THAN
|
||||
.. |ges| unicode:: U+02A7E .. GREATER-THAN OR SLANTED EQUAL TO
|
||||
.. |gescc| unicode:: U+02AA9 .. GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
|
||||
.. |gesdot| unicode:: U+02A80 .. GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
|
||||
.. |gesdoto| unicode:: U+02A82 .. GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
|
||||
.. |gesdotol| unicode:: U+02A84 .. GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
|
||||
.. |gesl| unicode:: U+022DB U+0FE00 .. GREATER-THAN slanted EQUAL TO OR LESS-THAN
|
||||
.. |gesles| unicode:: U+02A94 .. GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
|
||||
.. |Gg| unicode:: U+022D9 .. VERY MUCH GREATER-THAN
|
||||
.. |gl| unicode:: U+02277 .. GREATER-THAN OR LESS-THAN
|
||||
.. |gla| unicode:: U+02AA5 .. GREATER-THAN BESIDE LESS-THAN
|
||||
.. |glE| unicode:: U+02A92 .. GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
|
||||
.. |glj| unicode:: U+02AA4 .. GREATER-THAN OVERLAPPING LESS-THAN
|
||||
.. |gsdot| unicode:: U+022D7 .. GREATER-THAN WITH DOT
|
||||
.. |gsim| unicode:: U+02273 .. GREATER-THAN OR EQUIVALENT TO
|
||||
.. |gsime| unicode:: U+02A8E .. GREATER-THAN ABOVE SIMILAR OR EQUAL
|
||||
.. |gsiml| unicode:: U+02A90 .. GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
|
||||
.. |Gt| unicode:: U+0226B .. MUCH GREATER-THAN
|
||||
.. |gtcc| unicode:: U+02AA7 .. GREATER-THAN CLOSED BY CURVE
|
||||
.. |gtcir| unicode:: U+02A7A .. GREATER-THAN WITH CIRCLE INSIDE
|
||||
.. |gtdot| unicode:: U+022D7 .. GREATER-THAN WITH DOT
|
||||
.. |gtquest| unicode:: U+02A7C .. GREATER-THAN WITH QUESTION MARK ABOVE
|
||||
.. |gtrarr| unicode:: U+02978 .. GREATER-THAN ABOVE RIGHTWARDS ARROW
|
||||
.. |homtht| unicode:: U+0223B .. HOMOTHETIC
|
||||
.. |lap| unicode:: U+02A85 .. LESS-THAN OR APPROXIMATE
|
||||
.. |lat| unicode:: U+02AAB .. LARGER THAN
|
||||
.. |late| unicode:: U+02AAD .. LARGER THAN OR EQUAL TO
|
||||
.. |lates| unicode:: U+02AAD U+0FE00 .. LARGER THAN OR slanted EQUAL
|
||||
.. |ldot| unicode:: U+022D6 .. LESS-THAN WITH DOT
|
||||
.. |lE| unicode:: U+02266 .. LESS-THAN OVER EQUAL TO
|
||||
.. |lEg| unicode:: U+02A8B .. LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
|
||||
.. |leg| unicode:: U+022DA .. LESS-THAN EQUAL TO OR GREATER-THAN
|
||||
.. |les| unicode:: U+02A7D .. LESS-THAN OR SLANTED EQUAL TO
|
||||
.. |lescc| unicode:: U+02AA8 .. LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
|
||||
.. |lesdot| unicode:: U+02A7F .. LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
|
||||
.. |lesdoto| unicode:: U+02A81 .. LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
|
||||
.. |lesdotor| unicode:: U+02A83 .. LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
|
||||
.. |lesg| unicode:: U+022DA U+0FE00 .. LESS-THAN slanted EQUAL TO OR GREATER-THAN
|
||||
.. |lesges| unicode:: U+02A93 .. LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
|
||||
.. |lg| unicode:: U+02276 .. LESS-THAN OR GREATER-THAN
|
||||
.. |lgE| unicode:: U+02A91 .. LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
|
||||
.. |Ll| unicode:: U+022D8 .. VERY MUCH LESS-THAN
|
||||
.. |lsim| unicode:: U+02272 .. LESS-THAN OR EQUIVALENT TO
|
||||
.. |lsime| unicode:: U+02A8D .. LESS-THAN ABOVE SIMILAR OR EQUAL
|
||||
.. |lsimg| unicode:: U+02A8F .. LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
|
||||
.. |Lt| unicode:: U+0226A .. MUCH LESS-THAN
|
||||
.. |ltcc| unicode:: U+02AA6 .. LESS-THAN CLOSED BY CURVE
|
||||
.. |ltcir| unicode:: U+02A79 .. LESS-THAN WITH CIRCLE INSIDE
|
||||
.. |ltdot| unicode:: U+022D6 .. LESS-THAN WITH DOT
|
||||
.. |ltlarr| unicode:: U+02976 .. LESS-THAN ABOVE LEFTWARDS ARROW
|
||||
.. |ltquest| unicode:: U+02A7B .. LESS-THAN WITH QUESTION MARK ABOVE
|
||||
.. |ltrie| unicode:: U+022B4 .. NORMAL SUBGROUP OF OR EQUAL TO
|
||||
.. |mcomma| unicode:: U+02A29 .. MINUS SIGN WITH COMMA ABOVE
|
||||
.. |mDDot| unicode:: U+0223A .. GEOMETRIC PROPORTION
|
||||
.. |mid| unicode:: U+02223 .. DIVIDES
|
||||
.. |mlcp| unicode:: U+02ADB .. TRANSVERSAL INTERSECTION
|
||||
.. |models| unicode:: U+022A7 .. MODELS
|
||||
.. |mstpos| unicode:: U+0223E .. INVERTED LAZY S
|
||||
.. |Pr| unicode:: U+02ABB .. DOUBLE PRECEDES
|
||||
.. |pr| unicode:: U+0227A .. PRECEDES
|
||||
.. |prap| unicode:: U+02AB7 .. PRECEDES ABOVE ALMOST EQUAL TO
|
||||
.. |prcue| unicode:: U+0227C .. PRECEDES OR EQUAL TO
|
||||
.. |prE| unicode:: U+02AB3 .. PRECEDES ABOVE EQUALS SIGN
|
||||
.. |pre| unicode:: U+02AAF .. PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
|
||||
.. |prsim| unicode:: U+0227E .. PRECEDES OR EQUIVALENT TO
|
||||
.. |prurel| unicode:: U+022B0 .. PRECEDES UNDER RELATION
|
||||
.. |ratio| unicode:: U+02236 .. RATIO
|
||||
.. |rtrie| unicode:: U+022B5 .. CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
|
||||
.. |rtriltri| unicode:: U+029CE .. RIGHT TRIANGLE ABOVE LEFT TRIANGLE
|
||||
.. |samalg| unicode:: U+02210 .. N-ARY COPRODUCT
|
||||
.. |Sc| unicode:: U+02ABC .. DOUBLE SUCCEEDS
|
||||
.. |sc| unicode:: U+0227B .. SUCCEEDS
|
||||
.. |scap| unicode:: U+02AB8 .. SUCCEEDS ABOVE ALMOST EQUAL TO
|
||||
.. |sccue| unicode:: U+0227D .. SUCCEEDS OR EQUAL TO
|
||||
.. |scE| unicode:: U+02AB4 .. SUCCEEDS ABOVE EQUALS SIGN
|
||||
.. |sce| unicode:: U+02AB0 .. SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
|
||||
.. |scsim| unicode:: U+0227F .. SUCCEEDS OR EQUIVALENT TO
|
||||
.. |sdote| unicode:: U+02A66 .. EQUALS SIGN WITH DOT BELOW
|
||||
.. |sfrown| unicode:: U+02322 .. FROWN
|
||||
.. |simg| unicode:: U+02A9E .. SIMILAR OR GREATER-THAN
|
||||
.. |simgE| unicode:: U+02AA0 .. SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
|
||||
.. |siml| unicode:: U+02A9D .. SIMILAR OR LESS-THAN
|
||||
.. |simlE| unicode:: U+02A9F .. SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
|
||||
.. |smid| unicode:: U+02223 .. DIVIDES
|
||||
.. |smile| unicode:: U+02323 .. SMILE
|
||||
.. |smt| unicode:: U+02AAA .. SMALLER THAN
|
||||
.. |smte| unicode:: U+02AAC .. SMALLER THAN OR EQUAL TO
|
||||
.. |smtes| unicode:: U+02AAC U+0FE00 .. SMALLER THAN OR slanted EQUAL
|
||||
.. |spar| unicode:: U+02225 .. PARALLEL TO
|
||||
.. |sqsub| unicode:: U+0228F .. SQUARE IMAGE OF
|
||||
.. |sqsube| unicode:: U+02291 .. SQUARE IMAGE OF OR EQUAL TO
|
||||
.. |sqsup| unicode:: U+02290 .. SQUARE ORIGINAL OF
|
||||
.. |sqsupe| unicode:: U+02292 .. SQUARE ORIGINAL OF OR EQUAL TO
|
||||
.. |ssmile| unicode:: U+02323 .. SMILE
|
||||
.. |Sub| unicode:: U+022D0 .. DOUBLE SUBSET
|
||||
.. |subE| unicode:: U+02AC5 .. SUBSET OF ABOVE EQUALS SIGN
|
||||
.. |subedot| unicode:: U+02AC3 .. SUBSET OF OR EQUAL TO WITH DOT ABOVE
|
||||
.. |submult| unicode:: U+02AC1 .. SUBSET WITH MULTIPLICATION SIGN BELOW
|
||||
.. |subplus| unicode:: U+02ABF .. SUBSET WITH PLUS SIGN BELOW
|
||||
.. |subrarr| unicode:: U+02979 .. SUBSET ABOVE RIGHTWARDS ARROW
|
||||
.. |subsim| unicode:: U+02AC7 .. SUBSET OF ABOVE TILDE OPERATOR
|
||||
.. |subsub| unicode:: U+02AD5 .. SUBSET ABOVE SUBSET
|
||||
.. |subsup| unicode:: U+02AD3 .. SUBSET ABOVE SUPERSET
|
||||
.. |Sup| unicode:: U+022D1 .. DOUBLE SUPERSET
|
||||
.. |supdsub| unicode:: U+02AD8 .. SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
|
||||
.. |supE| unicode:: U+02AC6 .. SUPERSET OF ABOVE EQUALS SIGN
|
||||
.. |supedot| unicode:: U+02AC4 .. SUPERSET OF OR EQUAL TO WITH DOT ABOVE
|
||||
.. |suphsol| unicode:: U+02283 U+0002F .. SUPERSET OF, SOLIDUS
|
||||
.. |suphsub| unicode:: U+02AD7 .. SUPERSET BESIDE SUBSET
|
||||
.. |suplarr| unicode:: U+0297B .. SUPERSET ABOVE LEFTWARDS ARROW
|
||||
.. |supmult| unicode:: U+02AC2 .. SUPERSET WITH MULTIPLICATION SIGN BELOW
|
||||
.. |supplus| unicode:: U+02AC0 .. SUPERSET WITH PLUS SIGN BELOW
|
||||
.. |supsim| unicode:: U+02AC8 .. SUPERSET OF ABOVE TILDE OPERATOR
|
||||
.. |supsub| unicode:: U+02AD4 .. SUPERSET ABOVE SUBSET
|
||||
.. |supsup| unicode:: U+02AD6 .. SUPERSET ABOVE SUPERSET
|
||||
.. |thkap| unicode:: U+02248 .. ALMOST EQUAL TO
|
||||
.. |thksim| unicode:: U+0223C .. TILDE OPERATOR
|
||||
.. |topfork| unicode:: U+02ADA .. PITCHFORK WITH TEE TOP
|
||||
.. |trie| unicode:: U+0225C .. DELTA EQUAL TO
|
||||
.. |twixt| unicode:: U+0226C .. BETWEEN
|
||||
.. |Vbar| unicode:: U+02AEB .. DOUBLE UP TACK
|
||||
.. |vBar| unicode:: U+02AE8 .. SHORT UP TACK WITH UNDERBAR
|
||||
.. |vBarv| unicode:: U+02AE9 .. SHORT UP TACK ABOVE SHORT DOWN TACK
|
||||
.. |VDash| unicode:: U+022AB .. DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
|
||||
.. |Vdash| unicode:: U+022A9 .. FORCES
|
||||
.. |vDash| unicode:: U+022A8 .. TRUE
|
||||
.. |vdash| unicode:: U+022A2 .. RIGHT TACK
|
||||
.. |Vdashl| unicode:: U+02AE6 .. LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
|
||||
.. |veebar| unicode:: U+022BB .. XOR
|
||||
.. |vltri| unicode:: U+022B2 .. NORMAL SUBGROUP OF
|
||||
.. |vprop| unicode:: U+0221D .. PROPORTIONAL TO
|
||||
.. |vrtri| unicode:: U+022B3 .. CONTAINS AS NORMAL SUBGROUP
|
||||
.. |Vvdash| unicode:: U+022AA .. TRIPLE VERTICAL BAR RIGHT TURNSTILE
|
46
docutils/parsers/rst/include/isobox.txt
Normal file
46
docutils/parsers/rst/include/isobox.txt
Normal file
|
@ -0,0 +1,46 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |boxDL| unicode:: U+02557 .. BOX DRAWINGS DOUBLE DOWN AND LEFT
|
||||
.. |boxDl| unicode:: U+02556 .. BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
|
||||
.. |boxdL| unicode:: U+02555 .. BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
|
||||
.. |boxdl| unicode:: U+02510 .. BOX DRAWINGS LIGHT DOWN AND LEFT
|
||||
.. |boxDR| unicode:: U+02554 .. BOX DRAWINGS DOUBLE DOWN AND RIGHT
|
||||
.. |boxDr| unicode:: U+02553 .. BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
|
||||
.. |boxdR| unicode:: U+02552 .. BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
|
||||
.. |boxdr| unicode:: U+0250C .. BOX DRAWINGS LIGHT DOWN AND RIGHT
|
||||
.. |boxH| unicode:: U+02550 .. BOX DRAWINGS DOUBLE HORIZONTAL
|
||||
.. |boxh| unicode:: U+02500 .. BOX DRAWINGS LIGHT HORIZONTAL
|
||||
.. |boxHD| unicode:: U+02566 .. BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
|
||||
.. |boxHd| unicode:: U+02564 .. BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
|
||||
.. |boxhD| unicode:: U+02565 .. BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
|
||||
.. |boxhd| unicode:: U+0252C .. BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
|
||||
.. |boxHU| unicode:: U+02569 .. BOX DRAWINGS DOUBLE UP AND HORIZONTAL
|
||||
.. |boxHu| unicode:: U+02567 .. BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
|
||||
.. |boxhU| unicode:: U+02568 .. BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
|
||||
.. |boxhu| unicode:: U+02534 .. BOX DRAWINGS LIGHT UP AND HORIZONTAL
|
||||
.. |boxUL| unicode:: U+0255D .. BOX DRAWINGS DOUBLE UP AND LEFT
|
||||
.. |boxUl| unicode:: U+0255C .. BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
|
||||
.. |boxuL| unicode:: U+0255B .. BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
|
||||
.. |boxul| unicode:: U+02518 .. BOX DRAWINGS LIGHT UP AND LEFT
|
||||
.. |boxUR| unicode:: U+0255A .. BOX DRAWINGS DOUBLE UP AND RIGHT
|
||||
.. |boxUr| unicode:: U+02559 .. BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
|
||||
.. |boxuR| unicode:: U+02558 .. BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
|
||||
.. |boxur| unicode:: U+02514 .. BOX DRAWINGS LIGHT UP AND RIGHT
|
||||
.. |boxV| unicode:: U+02551 .. BOX DRAWINGS DOUBLE VERTICAL
|
||||
.. |boxv| unicode:: U+02502 .. BOX DRAWINGS LIGHT VERTICAL
|
||||
.. |boxVH| unicode:: U+0256C .. BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
|
||||
.. |boxVh| unicode:: U+0256B .. BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
|
||||
.. |boxvH| unicode:: U+0256A .. BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
|
||||
.. |boxvh| unicode:: U+0253C .. BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
|
||||
.. |boxVL| unicode:: U+02563 .. BOX DRAWINGS DOUBLE VERTICAL AND LEFT
|
||||
.. |boxVl| unicode:: U+02562 .. BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
|
||||
.. |boxvL| unicode:: U+02561 .. BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
|
||||
.. |boxvl| unicode:: U+02524 .. BOX DRAWINGS LIGHT VERTICAL AND LEFT
|
||||
.. |boxVR| unicode:: U+02560 .. BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
|
||||
.. |boxVr| unicode:: U+0255F .. BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
|
||||
.. |boxvR| unicode:: U+0255E .. BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
|
||||
.. |boxvr| unicode:: U+0251C .. BOX DRAWINGS LIGHT VERTICAL AND RIGHT
|
73
docutils/parsers/rst/include/isocyr1.txt
Normal file
73
docutils/parsers/rst/include/isocyr1.txt
Normal file
|
@ -0,0 +1,73 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Acy| unicode:: U+00410 .. CYRILLIC CAPITAL LETTER A
|
||||
.. |acy| unicode:: U+00430 .. CYRILLIC SMALL LETTER A
|
||||
.. |Bcy| unicode:: U+00411 .. CYRILLIC CAPITAL LETTER BE
|
||||
.. |bcy| unicode:: U+00431 .. CYRILLIC SMALL LETTER BE
|
||||
.. |CHcy| unicode:: U+00427 .. CYRILLIC CAPITAL LETTER CHE
|
||||
.. |chcy| unicode:: U+00447 .. CYRILLIC SMALL LETTER CHE
|
||||
.. |Dcy| unicode:: U+00414 .. CYRILLIC CAPITAL LETTER DE
|
||||
.. |dcy| unicode:: U+00434 .. CYRILLIC SMALL LETTER DE
|
||||
.. |Ecy| unicode:: U+0042D .. CYRILLIC CAPITAL LETTER E
|
||||
.. |ecy| unicode:: U+0044D .. CYRILLIC SMALL LETTER E
|
||||
.. |Fcy| unicode:: U+00424 .. CYRILLIC CAPITAL LETTER EF
|
||||
.. |fcy| unicode:: U+00444 .. CYRILLIC SMALL LETTER EF
|
||||
.. |Gcy| unicode:: U+00413 .. CYRILLIC CAPITAL LETTER GHE
|
||||
.. |gcy| unicode:: U+00433 .. CYRILLIC SMALL LETTER GHE
|
||||
.. |HARDcy| unicode:: U+0042A .. CYRILLIC CAPITAL LETTER HARD SIGN
|
||||
.. |hardcy| unicode:: U+0044A .. CYRILLIC SMALL LETTER HARD SIGN
|
||||
.. |Icy| unicode:: U+00418 .. CYRILLIC CAPITAL LETTER I
|
||||
.. |icy| unicode:: U+00438 .. CYRILLIC SMALL LETTER I
|
||||
.. |IEcy| unicode:: U+00415 .. CYRILLIC CAPITAL LETTER IE
|
||||
.. |iecy| unicode:: U+00435 .. CYRILLIC SMALL LETTER IE
|
||||
.. |IOcy| unicode:: U+00401 .. CYRILLIC CAPITAL LETTER IO
|
||||
.. |iocy| unicode:: U+00451 .. CYRILLIC SMALL LETTER IO
|
||||
.. |Jcy| unicode:: U+00419 .. CYRILLIC CAPITAL LETTER SHORT I
|
||||
.. |jcy| unicode:: U+00439 .. CYRILLIC SMALL LETTER SHORT I
|
||||
.. |Kcy| unicode:: U+0041A .. CYRILLIC CAPITAL LETTER KA
|
||||
.. |kcy| unicode:: U+0043A .. CYRILLIC SMALL LETTER KA
|
||||
.. |KHcy| unicode:: U+00425 .. CYRILLIC CAPITAL LETTER HA
|
||||
.. |khcy| unicode:: U+00445 .. CYRILLIC SMALL LETTER HA
|
||||
.. |Lcy| unicode:: U+0041B .. CYRILLIC CAPITAL LETTER EL
|
||||
.. |lcy| unicode:: U+0043B .. CYRILLIC SMALL LETTER EL
|
||||
.. |Mcy| unicode:: U+0041C .. CYRILLIC CAPITAL LETTER EM
|
||||
.. |mcy| unicode:: U+0043C .. CYRILLIC SMALL LETTER EM
|
||||
.. |Ncy| unicode:: U+0041D .. CYRILLIC CAPITAL LETTER EN
|
||||
.. |ncy| unicode:: U+0043D .. CYRILLIC SMALL LETTER EN
|
||||
.. |numero| unicode:: U+02116 .. NUMERO SIGN
|
||||
.. |Ocy| unicode:: U+0041E .. CYRILLIC CAPITAL LETTER O
|
||||
.. |ocy| unicode:: U+0043E .. CYRILLIC SMALL LETTER O
|
||||
.. |Pcy| unicode:: U+0041F .. CYRILLIC CAPITAL LETTER PE
|
||||
.. |pcy| unicode:: U+0043F .. CYRILLIC SMALL LETTER PE
|
||||
.. |Rcy| unicode:: U+00420 .. CYRILLIC CAPITAL LETTER ER
|
||||
.. |rcy| unicode:: U+00440 .. CYRILLIC SMALL LETTER ER
|
||||
.. |Scy| unicode:: U+00421 .. CYRILLIC CAPITAL LETTER ES
|
||||
.. |scy| unicode:: U+00441 .. CYRILLIC SMALL LETTER ES
|
||||
.. |SHCHcy| unicode:: U+00429 .. CYRILLIC CAPITAL LETTER SHCHA
|
||||
.. |shchcy| unicode:: U+00449 .. CYRILLIC SMALL LETTER SHCHA
|
||||
.. |SHcy| unicode:: U+00428 .. CYRILLIC CAPITAL LETTER SHA
|
||||
.. |shcy| unicode:: U+00448 .. CYRILLIC SMALL LETTER SHA
|
||||
.. |SOFTcy| unicode:: U+0042C .. CYRILLIC CAPITAL LETTER SOFT SIGN
|
||||
.. |softcy| unicode:: U+0044C .. CYRILLIC SMALL LETTER SOFT SIGN
|
||||
.. |Tcy| unicode:: U+00422 .. CYRILLIC CAPITAL LETTER TE
|
||||
.. |tcy| unicode:: U+00442 .. CYRILLIC SMALL LETTER TE
|
||||
.. |TScy| unicode:: U+00426 .. CYRILLIC CAPITAL LETTER TSE
|
||||
.. |tscy| unicode:: U+00446 .. CYRILLIC SMALL LETTER TSE
|
||||
.. |Ucy| unicode:: U+00423 .. CYRILLIC CAPITAL LETTER U
|
||||
.. |ucy| unicode:: U+00443 .. CYRILLIC SMALL LETTER U
|
||||
.. |Vcy| unicode:: U+00412 .. CYRILLIC CAPITAL LETTER VE
|
||||
.. |vcy| unicode:: U+00432 .. CYRILLIC SMALL LETTER VE
|
||||
.. |YAcy| unicode:: U+0042F .. CYRILLIC CAPITAL LETTER YA
|
||||
.. |yacy| unicode:: U+0044F .. CYRILLIC SMALL LETTER YA
|
||||
.. |Ycy| unicode:: U+0042B .. CYRILLIC CAPITAL LETTER YERU
|
||||
.. |ycy| unicode:: U+0044B .. CYRILLIC SMALL LETTER YERU
|
||||
.. |YUcy| unicode:: U+0042E .. CYRILLIC CAPITAL LETTER YU
|
||||
.. |yucy| unicode:: U+0044E .. CYRILLIC SMALL LETTER YU
|
||||
.. |Zcy| unicode:: U+00417 .. CYRILLIC CAPITAL LETTER ZE
|
||||
.. |zcy| unicode:: U+00437 .. CYRILLIC SMALL LETTER ZE
|
||||
.. |ZHcy| unicode:: U+00416 .. CYRILLIC CAPITAL LETTER ZHE
|
||||
.. |zhcy| unicode:: U+00436 .. CYRILLIC SMALL LETTER ZHE
|
32
docutils/parsers/rst/include/isocyr2.txt
Normal file
32
docutils/parsers/rst/include/isocyr2.txt
Normal file
|
@ -0,0 +1,32 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |DJcy| unicode:: U+00402 .. CYRILLIC CAPITAL LETTER DJE
|
||||
.. |djcy| unicode:: U+00452 .. CYRILLIC SMALL LETTER DJE
|
||||
.. |DScy| unicode:: U+00405 .. CYRILLIC CAPITAL LETTER DZE
|
||||
.. |dscy| unicode:: U+00455 .. CYRILLIC SMALL LETTER DZE
|
||||
.. |DZcy| unicode:: U+0040F .. CYRILLIC CAPITAL LETTER DZHE
|
||||
.. |dzcy| unicode:: U+0045F .. CYRILLIC SMALL LETTER DZHE
|
||||
.. |GJcy| unicode:: U+00403 .. CYRILLIC CAPITAL LETTER GJE
|
||||
.. |gjcy| unicode:: U+00453 .. CYRILLIC SMALL LETTER GJE
|
||||
.. |Iukcy| unicode:: U+00406 .. CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||
.. |iukcy| unicode:: U+00456 .. CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||
.. |Jsercy| unicode:: U+00408 .. CYRILLIC CAPITAL LETTER JE
|
||||
.. |jsercy| unicode:: U+00458 .. CYRILLIC SMALL LETTER JE
|
||||
.. |Jukcy| unicode:: U+00404 .. CYRILLIC CAPITAL LETTER UKRAINIAN IE
|
||||
.. |jukcy| unicode:: U+00454 .. CYRILLIC SMALL LETTER UKRAINIAN IE
|
||||
.. |KJcy| unicode:: U+0040C .. CYRILLIC CAPITAL LETTER KJE
|
||||
.. |kjcy| unicode:: U+0045C .. CYRILLIC SMALL LETTER KJE
|
||||
.. |LJcy| unicode:: U+00409 .. CYRILLIC CAPITAL LETTER LJE
|
||||
.. |ljcy| unicode:: U+00459 .. CYRILLIC SMALL LETTER LJE
|
||||
.. |NJcy| unicode:: U+0040A .. CYRILLIC CAPITAL LETTER NJE
|
||||
.. |njcy| unicode:: U+0045A .. CYRILLIC SMALL LETTER NJE
|
||||
.. |TSHcy| unicode:: U+0040B .. CYRILLIC CAPITAL LETTER TSHE
|
||||
.. |tshcy| unicode:: U+0045B .. CYRILLIC SMALL LETTER TSHE
|
||||
.. |Ubrcy| unicode:: U+0040E .. CYRILLIC CAPITAL LETTER SHORT U
|
||||
.. |ubrcy| unicode:: U+0045E .. CYRILLIC SMALL LETTER SHORT U
|
||||
.. |YIcy| unicode:: U+00407 .. CYRILLIC CAPITAL LETTER YI
|
||||
.. |yicy| unicode:: U+00457 .. CYRILLIC SMALL LETTER YI
|
20
docutils/parsers/rst/include/isodia.txt
Normal file
20
docutils/parsers/rst/include/isodia.txt
Normal file
|
@ -0,0 +1,20 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |acute| unicode:: U+000B4 .. ACUTE ACCENT
|
||||
.. |breve| unicode:: U+002D8 .. BREVE
|
||||
.. |caron| unicode:: U+002C7 .. CARON
|
||||
.. |cedil| unicode:: U+000B8 .. CEDILLA
|
||||
.. |circ| unicode:: U+002C6 .. MODIFIER LETTER CIRCUMFLEX ACCENT
|
||||
.. |dblac| unicode:: U+002DD .. DOUBLE ACUTE ACCENT
|
||||
.. |die| unicode:: U+000A8 .. DIAERESIS
|
||||
.. |dot| unicode:: U+002D9 .. DOT ABOVE
|
||||
.. |grave| unicode:: U+00060 .. GRAVE ACCENT
|
||||
.. |macr| unicode:: U+000AF .. MACRON
|
||||
.. |ogon| unicode:: U+002DB .. OGONEK
|
||||
.. |ring| unicode:: U+002DA .. RING ABOVE
|
||||
.. |tilde| unicode:: U+002DC .. SMALL TILDE
|
||||
.. |uml| unicode:: U+000A8 .. DIAERESIS
|
55
docutils/parsers/rst/include/isogrk1.txt
Normal file
55
docutils/parsers/rst/include/isogrk1.txt
Normal file
|
@ -0,0 +1,55 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Agr| unicode:: U+00391 .. GREEK CAPITAL LETTER ALPHA
|
||||
.. |agr| unicode:: U+003B1 .. GREEK SMALL LETTER ALPHA
|
||||
.. |Bgr| unicode:: U+00392 .. GREEK CAPITAL LETTER BETA
|
||||
.. |bgr| unicode:: U+003B2 .. GREEK SMALL LETTER BETA
|
||||
.. |Dgr| unicode:: U+00394 .. GREEK CAPITAL LETTER DELTA
|
||||
.. |dgr| unicode:: U+003B4 .. GREEK SMALL LETTER DELTA
|
||||
.. |EEgr| unicode:: U+00397 .. GREEK CAPITAL LETTER ETA
|
||||
.. |eegr| unicode:: U+003B7 .. GREEK SMALL LETTER ETA
|
||||
.. |Egr| unicode:: U+00395 .. GREEK CAPITAL LETTER EPSILON
|
||||
.. |egr| unicode:: U+003B5 .. GREEK SMALL LETTER EPSILON
|
||||
.. |Ggr| unicode:: U+00393 .. GREEK CAPITAL LETTER GAMMA
|
||||
.. |ggr| unicode:: U+003B3 .. GREEK SMALL LETTER GAMMA
|
||||
.. |Igr| unicode:: U+00399 .. GREEK CAPITAL LETTER IOTA
|
||||
.. |igr| unicode:: U+003B9 .. GREEK SMALL LETTER IOTA
|
||||
.. |Kgr| unicode:: U+0039A .. GREEK CAPITAL LETTER KAPPA
|
||||
.. |kgr| unicode:: U+003BA .. GREEK SMALL LETTER KAPPA
|
||||
.. |KHgr| unicode:: U+003A7 .. GREEK CAPITAL LETTER CHI
|
||||
.. |khgr| unicode:: U+003C7 .. GREEK SMALL LETTER CHI
|
||||
.. |Lgr| unicode:: U+0039B .. GREEK CAPITAL LETTER LAMDA
|
||||
.. |lgr| unicode:: U+003BB .. GREEK SMALL LETTER LAMDA
|
||||
.. |Mgr| unicode:: U+0039C .. GREEK CAPITAL LETTER MU
|
||||
.. |mgr| unicode:: U+003BC .. GREEK SMALL LETTER MU
|
||||
.. |Ngr| unicode:: U+0039D .. GREEK CAPITAL LETTER NU
|
||||
.. |ngr| unicode:: U+003BD .. GREEK SMALL LETTER NU
|
||||
.. |Ogr| unicode:: U+0039F .. GREEK CAPITAL LETTER OMICRON
|
||||
.. |ogr| unicode:: U+003BF .. GREEK SMALL LETTER OMICRON
|
||||
.. |OHgr| unicode:: U+003A9 .. GREEK CAPITAL LETTER OMEGA
|
||||
.. |ohgr| unicode:: U+003C9 .. GREEK SMALL LETTER OMEGA
|
||||
.. |Pgr| unicode:: U+003A0 .. GREEK CAPITAL LETTER PI
|
||||
.. |pgr| unicode:: U+003C0 .. GREEK SMALL LETTER PI
|
||||
.. |PHgr| unicode:: U+003A6 .. GREEK CAPITAL LETTER PHI
|
||||
.. |phgr| unicode:: U+003C6 .. GREEK SMALL LETTER PHI
|
||||
.. |PSgr| unicode:: U+003A8 .. GREEK CAPITAL LETTER PSI
|
||||
.. |psgr| unicode:: U+003C8 .. GREEK SMALL LETTER PSI
|
||||
.. |Rgr| unicode:: U+003A1 .. GREEK CAPITAL LETTER RHO
|
||||
.. |rgr| unicode:: U+003C1 .. GREEK SMALL LETTER RHO
|
||||
.. |sfgr| unicode:: U+003C2 .. GREEK SMALL LETTER FINAL SIGMA
|
||||
.. |Sgr| unicode:: U+003A3 .. GREEK CAPITAL LETTER SIGMA
|
||||
.. |sgr| unicode:: U+003C3 .. GREEK SMALL LETTER SIGMA
|
||||
.. |Tgr| unicode:: U+003A4 .. GREEK CAPITAL LETTER TAU
|
||||
.. |tgr| unicode:: U+003C4 .. GREEK SMALL LETTER TAU
|
||||
.. |THgr| unicode:: U+00398 .. GREEK CAPITAL LETTER THETA
|
||||
.. |thgr| unicode:: U+003B8 .. GREEK SMALL LETTER THETA
|
||||
.. |Ugr| unicode:: U+003A5 .. GREEK CAPITAL LETTER UPSILON
|
||||
.. |ugr| unicode:: U+003C5 .. GREEK SMALL LETTER UPSILON
|
||||
.. |Xgr| unicode:: U+0039E .. GREEK CAPITAL LETTER XI
|
||||
.. |xgr| unicode:: U+003BE .. GREEK SMALL LETTER XI
|
||||
.. |Zgr| unicode:: U+00396 .. GREEK CAPITAL LETTER ZETA
|
||||
.. |zgr| unicode:: U+003B6 .. GREEK SMALL LETTER ZETA
|
26
docutils/parsers/rst/include/isogrk2.txt
Normal file
26
docutils/parsers/rst/include/isogrk2.txt
Normal file
|
@ -0,0 +1,26 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Aacgr| unicode:: U+00386 .. GREEK CAPITAL LETTER ALPHA WITH TONOS
|
||||
.. |aacgr| unicode:: U+003AC .. GREEK SMALL LETTER ALPHA WITH TONOS
|
||||
.. |Eacgr| unicode:: U+00388 .. GREEK CAPITAL LETTER EPSILON WITH TONOS
|
||||
.. |eacgr| unicode:: U+003AD .. GREEK SMALL LETTER EPSILON WITH TONOS
|
||||
.. |EEacgr| unicode:: U+00389 .. GREEK CAPITAL LETTER ETA WITH TONOS
|
||||
.. |eeacgr| unicode:: U+003AE .. GREEK SMALL LETTER ETA WITH TONOS
|
||||
.. |Iacgr| unicode:: U+0038A .. GREEK CAPITAL LETTER IOTA WITH TONOS
|
||||
.. |iacgr| unicode:: U+003AF .. GREEK SMALL LETTER IOTA WITH TONOS
|
||||
.. |idiagr| unicode:: U+00390 .. GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
|
||||
.. |Idigr| unicode:: U+003AA .. GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
|
||||
.. |idigr| unicode:: U+003CA .. GREEK SMALL LETTER IOTA WITH DIALYTIKA
|
||||
.. |Oacgr| unicode:: U+0038C .. GREEK CAPITAL LETTER OMICRON WITH TONOS
|
||||
.. |oacgr| unicode:: U+003CC .. GREEK SMALL LETTER OMICRON WITH TONOS
|
||||
.. |OHacgr| unicode:: U+0038F .. GREEK CAPITAL LETTER OMEGA WITH TONOS
|
||||
.. |ohacgr| unicode:: U+003CE .. GREEK SMALL LETTER OMEGA WITH TONOS
|
||||
.. |Uacgr| unicode:: U+0038E .. GREEK CAPITAL LETTER UPSILON WITH TONOS
|
||||
.. |uacgr| unicode:: U+003CD .. GREEK SMALL LETTER UPSILON WITH TONOS
|
||||
.. |udiagr| unicode:: U+003B0 .. GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
|
||||
.. |Udigr| unicode:: U+003AB .. GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
|
||||
.. |udigr| unicode:: U+003CB .. GREEK SMALL LETTER UPSILON WITH DIALYTIKA
|
52
docutils/parsers/rst/include/isogrk3.txt
Normal file
52
docutils/parsers/rst/include/isogrk3.txt
Normal file
|
@ -0,0 +1,52 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |alpha| unicode:: U+003B1 .. GREEK SMALL LETTER ALPHA
|
||||
.. |beta| unicode:: U+003B2 .. GREEK SMALL LETTER BETA
|
||||
.. |chi| unicode:: U+003C7 .. GREEK SMALL LETTER CHI
|
||||
.. |Delta| unicode:: U+00394 .. GREEK CAPITAL LETTER DELTA
|
||||
.. |delta| unicode:: U+003B4 .. GREEK SMALL LETTER DELTA
|
||||
.. |epsi| unicode:: U+003F5 .. GREEK LUNATE EPSILON SYMBOL
|
||||
.. |epsis| unicode:: U+003F5 .. GREEK LUNATE EPSILON SYMBOL
|
||||
.. |epsiv| unicode:: U+003B5 .. GREEK SMALL LETTER EPSILON
|
||||
.. |eta| unicode:: U+003B7 .. GREEK SMALL LETTER ETA
|
||||
.. |Gamma| unicode:: U+00393 .. GREEK CAPITAL LETTER GAMMA
|
||||
.. |gamma| unicode:: U+003B3 .. GREEK SMALL LETTER GAMMA
|
||||
.. |Gammad| unicode:: U+003DC .. GREEK LETTER DIGAMMA
|
||||
.. |gammad| unicode:: U+003DD .. GREEK SMALL LETTER DIGAMMA
|
||||
.. |iota| unicode:: U+003B9 .. GREEK SMALL LETTER IOTA
|
||||
.. |kappa| unicode:: U+003BA .. GREEK SMALL LETTER KAPPA
|
||||
.. |kappav| unicode:: U+003F0 .. GREEK KAPPA SYMBOL
|
||||
.. |Lambda| unicode:: U+0039B .. GREEK CAPITAL LETTER LAMDA
|
||||
.. |lambda| unicode:: U+003BB .. GREEK SMALL LETTER LAMDA
|
||||
.. |mu| unicode:: U+003BC .. GREEK SMALL LETTER MU
|
||||
.. |nu| unicode:: U+003BD .. GREEK SMALL LETTER NU
|
||||
.. |Omega| unicode:: U+003A9 .. GREEK CAPITAL LETTER OMEGA
|
||||
.. |omega| unicode:: U+003C9 .. GREEK SMALL LETTER OMEGA
|
||||
.. |Phi| unicode:: U+003A6 .. GREEK CAPITAL LETTER PHI
|
||||
.. |phi| unicode:: U+003D5 .. GREEK PHI SYMBOL
|
||||
.. |phis| unicode:: U+003D5 .. GREEK PHI SYMBOL
|
||||
.. |phiv| unicode:: U+003C6 .. GREEK SMALL LETTER PHI
|
||||
.. |Pi| unicode:: U+003A0 .. GREEK CAPITAL LETTER PI
|
||||
.. |pi| unicode:: U+003C0 .. GREEK SMALL LETTER PI
|
||||
.. |piv| unicode:: U+003D6 .. GREEK PI SYMBOL
|
||||
.. |Psi| unicode:: U+003A8 .. GREEK CAPITAL LETTER PSI
|
||||
.. |psi| unicode:: U+003C8 .. GREEK SMALL LETTER PSI
|
||||
.. |rho| unicode:: U+003C1 .. GREEK SMALL LETTER RHO
|
||||
.. |rhov| unicode:: U+003F1 .. GREEK RHO SYMBOL
|
||||
.. |Sigma| unicode:: U+003A3 .. GREEK CAPITAL LETTER SIGMA
|
||||
.. |sigma| unicode:: U+003C3 .. GREEK SMALL LETTER SIGMA
|
||||
.. |sigmav| unicode:: U+003C2 .. GREEK SMALL LETTER FINAL SIGMA
|
||||
.. |tau| unicode:: U+003C4 .. GREEK SMALL LETTER TAU
|
||||
.. |Theta| unicode:: U+00398 .. GREEK CAPITAL LETTER THETA
|
||||
.. |theta| unicode:: U+003B8 .. GREEK SMALL LETTER THETA
|
||||
.. |thetas| unicode:: U+003B8 .. GREEK SMALL LETTER THETA
|
||||
.. |thetav| unicode:: U+003D1 .. GREEK THETA SYMBOL
|
||||
.. |Upsi| unicode:: U+003D2 .. GREEK UPSILON WITH HOOK SYMBOL
|
||||
.. |upsi| unicode:: U+003C5 .. GREEK SMALL LETTER UPSILON
|
||||
.. |Xi| unicode:: U+0039E .. GREEK CAPITAL LETTER XI
|
||||
.. |xi| unicode:: U+003BE .. GREEK SMALL LETTER XI
|
||||
.. |zeta| unicode:: U+003B6 .. GREEK SMALL LETTER ZETA
|
49
docutils/parsers/rst/include/isogrk4-wide.txt
Normal file
49
docutils/parsers/rst/include/isogrk4-wide.txt
Normal file
|
@ -0,0 +1,49 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |b.alpha| unicode:: U+1D6C2 .. MATHEMATICAL BOLD SMALL ALPHA
|
||||
.. |b.beta| unicode:: U+1D6C3 .. MATHEMATICAL BOLD SMALL BETA
|
||||
.. |b.chi| unicode:: U+1D6D8 .. MATHEMATICAL BOLD SMALL CHI
|
||||
.. |b.Delta| unicode:: U+1D6AB .. MATHEMATICAL BOLD CAPITAL DELTA
|
||||
.. |b.delta| unicode:: U+1D6C5 .. MATHEMATICAL BOLD SMALL DELTA
|
||||
.. |b.epsi| unicode:: U+1D6C6 .. MATHEMATICAL BOLD SMALL EPSILON
|
||||
.. |b.epsiv| unicode:: U+1D6DC .. MATHEMATICAL BOLD EPSILON SYMBOL
|
||||
.. |b.eta| unicode:: U+1D6C8 .. MATHEMATICAL BOLD SMALL ETA
|
||||
.. |b.Gamma| unicode:: U+1D6AA .. MATHEMATICAL BOLD CAPITAL GAMMA
|
||||
.. |b.gamma| unicode:: U+1D6C4 .. MATHEMATICAL BOLD SMALL GAMMA
|
||||
.. |b.Gammad| unicode:: U+003DC .. GREEK LETTER DIGAMMA
|
||||
.. |b.gammad| unicode:: U+003DD .. GREEK SMALL LETTER DIGAMMA
|
||||
.. |b.iota| unicode:: U+1D6CA .. MATHEMATICAL BOLD SMALL IOTA
|
||||
.. |b.kappa| unicode:: U+1D6CB .. MATHEMATICAL BOLD SMALL KAPPA
|
||||
.. |b.kappav| unicode:: U+1D6DE .. MATHEMATICAL BOLD KAPPA SYMBOL
|
||||
.. |b.Lambda| unicode:: U+1D6B2 .. MATHEMATICAL BOLD CAPITAL LAMDA
|
||||
.. |b.lambda| unicode:: U+1D6CC .. MATHEMATICAL BOLD SMALL LAMDA
|
||||
.. |b.mu| unicode:: U+1D6CD .. MATHEMATICAL BOLD SMALL MU
|
||||
.. |b.nu| unicode:: U+1D6CE .. MATHEMATICAL BOLD SMALL NU
|
||||
.. |b.Omega| unicode:: U+1D6C0 .. MATHEMATICAL BOLD CAPITAL OMEGA
|
||||
.. |b.omega| unicode:: U+1D6DA .. MATHEMATICAL BOLD SMALL OMEGA
|
||||
.. |b.Phi| unicode:: U+1D6BD .. MATHEMATICAL BOLD CAPITAL PHI
|
||||
.. |b.phi| unicode:: U+1D6D7 .. MATHEMATICAL BOLD SMALL PHI
|
||||
.. |b.phiv| unicode:: U+1D6DF .. MATHEMATICAL BOLD PHI SYMBOL
|
||||
.. |b.Pi| unicode:: U+1D6B7 .. MATHEMATICAL BOLD CAPITAL PI
|
||||
.. |b.pi| unicode:: U+1D6D1 .. MATHEMATICAL BOLD SMALL PI
|
||||
.. |b.piv| unicode:: U+1D6E1 .. MATHEMATICAL BOLD PI SYMBOL
|
||||
.. |b.Psi| unicode:: U+1D6BF .. MATHEMATICAL BOLD CAPITAL PSI
|
||||
.. |b.psi| unicode:: U+1D6D9 .. MATHEMATICAL BOLD SMALL PSI
|
||||
.. |b.rho| unicode:: U+1D6D2 .. MATHEMATICAL BOLD SMALL RHO
|
||||
.. |b.rhov| unicode:: U+1D6E0 .. MATHEMATICAL BOLD RHO SYMBOL
|
||||
.. |b.Sigma| unicode:: U+1D6BA .. MATHEMATICAL BOLD CAPITAL SIGMA
|
||||
.. |b.sigma| unicode:: U+1D6D4 .. MATHEMATICAL BOLD SMALL SIGMA
|
||||
.. |b.sigmav| unicode:: U+1D6D3 .. MATHEMATICAL BOLD SMALL FINAL SIGMA
|
||||
.. |b.tau| unicode:: U+1D6D5 .. MATHEMATICAL BOLD SMALL TAU
|
||||
.. |b.Theta| unicode:: U+1D6AF .. MATHEMATICAL BOLD CAPITAL THETA
|
||||
.. |b.thetas| unicode:: U+1D6C9 .. MATHEMATICAL BOLD SMALL THETA
|
||||
.. |b.thetav| unicode:: U+1D6DD .. MATHEMATICAL BOLD THETA SYMBOL
|
||||
.. |b.Upsi| unicode:: U+1D6BC .. MATHEMATICAL BOLD CAPITAL UPSILON
|
||||
.. |b.upsi| unicode:: U+1D6D6 .. MATHEMATICAL BOLD SMALL UPSILON
|
||||
.. |b.Xi| unicode:: U+1D6B5 .. MATHEMATICAL BOLD CAPITAL XI
|
||||
.. |b.xi| unicode:: U+1D6CF .. MATHEMATICAL BOLD SMALL XI
|
||||
.. |b.zeta| unicode:: U+1D6C7 .. MATHEMATICAL BOLD SMALL ZETA
|
8
docutils/parsers/rst/include/isogrk4.txt
Normal file
8
docutils/parsers/rst/include/isogrk4.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |b.Gammad| unicode:: U+003DC .. GREEK LETTER DIGAMMA
|
||||
.. |b.gammad| unicode:: U+003DD .. GREEK SMALL LETTER DIGAMMA
|
68
docutils/parsers/rst/include/isolat1.txt
Normal file
68
docutils/parsers/rst/include/isolat1.txt
Normal file
|
@ -0,0 +1,68 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Aacute| unicode:: U+000C1 .. LATIN CAPITAL LETTER A WITH ACUTE
|
||||
.. |aacute| unicode:: U+000E1 .. LATIN SMALL LETTER A WITH ACUTE
|
||||
.. |Acirc| unicode:: U+000C2 .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
.. |acirc| unicode:: U+000E2 .. LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
.. |AElig| unicode:: U+000C6 .. LATIN CAPITAL LETTER AE
|
||||
.. |aelig| unicode:: U+000E6 .. LATIN SMALL LETTER AE
|
||||
.. |Agrave| unicode:: U+000C0 .. LATIN CAPITAL LETTER A WITH GRAVE
|
||||
.. |agrave| unicode:: U+000E0 .. LATIN SMALL LETTER A WITH GRAVE
|
||||
.. |Aring| unicode:: U+000C5 .. LATIN CAPITAL LETTER A WITH RING ABOVE
|
||||
.. |aring| unicode:: U+000E5 .. LATIN SMALL LETTER A WITH RING ABOVE
|
||||
.. |Atilde| unicode:: U+000C3 .. LATIN CAPITAL LETTER A WITH TILDE
|
||||
.. |atilde| unicode:: U+000E3 .. LATIN SMALL LETTER A WITH TILDE
|
||||
.. |Auml| unicode:: U+000C4 .. LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||
.. |auml| unicode:: U+000E4 .. LATIN SMALL LETTER A WITH DIAERESIS
|
||||
.. |Ccedil| unicode:: U+000C7 .. LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
.. |ccedil| unicode:: U+000E7 .. LATIN SMALL LETTER C WITH CEDILLA
|
||||
.. |Eacute| unicode:: U+000C9 .. LATIN CAPITAL LETTER E WITH ACUTE
|
||||
.. |eacute| unicode:: U+000E9 .. LATIN SMALL LETTER E WITH ACUTE
|
||||
.. |Ecirc| unicode:: U+000CA .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
.. |ecirc| unicode:: U+000EA .. LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||||
.. |Egrave| unicode:: U+000C8 .. LATIN CAPITAL LETTER E WITH GRAVE
|
||||
.. |egrave| unicode:: U+000E8 .. LATIN SMALL LETTER E WITH GRAVE
|
||||
.. |ETH| unicode:: U+000D0 .. LATIN CAPITAL LETTER ETH
|
||||
.. |eth| unicode:: U+000F0 .. LATIN SMALL LETTER ETH
|
||||
.. |Euml| unicode:: U+000CB .. LATIN CAPITAL LETTER E WITH DIAERESIS
|
||||
.. |euml| unicode:: U+000EB .. LATIN SMALL LETTER E WITH DIAERESIS
|
||||
.. |Iacute| unicode:: U+000CD .. LATIN CAPITAL LETTER I WITH ACUTE
|
||||
.. |iacute| unicode:: U+000ED .. LATIN SMALL LETTER I WITH ACUTE
|
||||
.. |Icirc| unicode:: U+000CE .. LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
.. |icirc| unicode:: U+000EE .. LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
.. |Igrave| unicode:: U+000CC .. LATIN CAPITAL LETTER I WITH GRAVE
|
||||
.. |igrave| unicode:: U+000EC .. LATIN SMALL LETTER I WITH GRAVE
|
||||
.. |Iuml| unicode:: U+000CF .. LATIN CAPITAL LETTER I WITH DIAERESIS
|
||||
.. |iuml| unicode:: U+000EF .. LATIN SMALL LETTER I WITH DIAERESIS
|
||||
.. |Ntilde| unicode:: U+000D1 .. LATIN CAPITAL LETTER N WITH TILDE
|
||||
.. |ntilde| unicode:: U+000F1 .. LATIN SMALL LETTER N WITH TILDE
|
||||
.. |Oacute| unicode:: U+000D3 .. LATIN CAPITAL LETTER O WITH ACUTE
|
||||
.. |oacute| unicode:: U+000F3 .. LATIN SMALL LETTER O WITH ACUTE
|
||||
.. |Ocirc| unicode:: U+000D4 .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
.. |ocirc| unicode:: U+000F4 .. LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
.. |Ograve| unicode:: U+000D2 .. LATIN CAPITAL LETTER O WITH GRAVE
|
||||
.. |ograve| unicode:: U+000F2 .. LATIN SMALL LETTER O WITH GRAVE
|
||||
.. |Oslash| unicode:: U+000D8 .. LATIN CAPITAL LETTER O WITH STROKE
|
||||
.. |oslash| unicode:: U+000F8 .. LATIN SMALL LETTER O WITH STROKE
|
||||
.. |Otilde| unicode:: U+000D5 .. LATIN CAPITAL LETTER O WITH TILDE
|
||||
.. |otilde| unicode:: U+000F5 .. LATIN SMALL LETTER O WITH TILDE
|
||||
.. |Ouml| unicode:: U+000D6 .. LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
.. |ouml| unicode:: U+000F6 .. LATIN SMALL LETTER O WITH DIAERESIS
|
||||
.. |szlig| unicode:: U+000DF .. LATIN SMALL LETTER SHARP S
|
||||
.. |THORN| unicode:: U+000DE .. LATIN CAPITAL LETTER THORN
|
||||
.. |thorn| unicode:: U+000FE .. LATIN SMALL LETTER THORN
|
||||
.. |Uacute| unicode:: U+000DA .. LATIN CAPITAL LETTER U WITH ACUTE
|
||||
.. |uacute| unicode:: U+000FA .. LATIN SMALL LETTER U WITH ACUTE
|
||||
.. |Ucirc| unicode:: U+000DB .. LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
.. |ucirc| unicode:: U+000FB .. LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
.. |Ugrave| unicode:: U+000D9 .. LATIN CAPITAL LETTER U WITH GRAVE
|
||||
.. |ugrave| unicode:: U+000F9 .. LATIN SMALL LETTER U WITH GRAVE
|
||||
.. |Uuml| unicode:: U+000DC .. LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
.. |uuml| unicode:: U+000FC .. LATIN SMALL LETTER U WITH DIAERESIS
|
||||
.. |Yacute| unicode:: U+000DD .. LATIN CAPITAL LETTER Y WITH ACUTE
|
||||
.. |yacute| unicode:: U+000FD .. LATIN SMALL LETTER Y WITH ACUTE
|
||||
.. |yuml| unicode:: U+000FF .. LATIN SMALL LETTER Y WITH DIAERESIS
|
128
docutils/parsers/rst/include/isolat2.txt
Normal file
128
docutils/parsers/rst/include/isolat2.txt
Normal file
|
@ -0,0 +1,128 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Abreve| unicode:: U+00102 .. LATIN CAPITAL LETTER A WITH BREVE
|
||||
.. |abreve| unicode:: U+00103 .. LATIN SMALL LETTER A WITH BREVE
|
||||
.. |Amacr| unicode:: U+00100 .. LATIN CAPITAL LETTER A WITH MACRON
|
||||
.. |amacr| unicode:: U+00101 .. LATIN SMALL LETTER A WITH MACRON
|
||||
.. |Aogon| unicode:: U+00104 .. LATIN CAPITAL LETTER A WITH OGONEK
|
||||
.. |aogon| unicode:: U+00105 .. LATIN SMALL LETTER A WITH OGONEK
|
||||
.. |Cacute| unicode:: U+00106 .. LATIN CAPITAL LETTER C WITH ACUTE
|
||||
.. |cacute| unicode:: U+00107 .. LATIN SMALL LETTER C WITH ACUTE
|
||||
.. |Ccaron| unicode:: U+0010C .. LATIN CAPITAL LETTER C WITH CARON
|
||||
.. |ccaron| unicode:: U+0010D .. LATIN SMALL LETTER C WITH CARON
|
||||
.. |Ccirc| unicode:: U+00108 .. LATIN CAPITAL LETTER C WITH CIRCUMFLEX
|
||||
.. |ccirc| unicode:: U+00109 .. LATIN SMALL LETTER C WITH CIRCUMFLEX
|
||||
.. |Cdot| unicode:: U+0010A .. LATIN CAPITAL LETTER C WITH DOT ABOVE
|
||||
.. |cdot| unicode:: U+0010B .. LATIN SMALL LETTER C WITH DOT ABOVE
|
||||
.. |Dcaron| unicode:: U+0010E .. LATIN CAPITAL LETTER D WITH CARON
|
||||
.. |dcaron| unicode:: U+0010F .. LATIN SMALL LETTER D WITH CARON
|
||||
.. |Dstrok| unicode:: U+00110 .. LATIN CAPITAL LETTER D WITH STROKE
|
||||
.. |dstrok| unicode:: U+00111 .. LATIN SMALL LETTER D WITH STROKE
|
||||
.. |Ecaron| unicode:: U+0011A .. LATIN CAPITAL LETTER E WITH CARON
|
||||
.. |ecaron| unicode:: U+0011B .. LATIN SMALL LETTER E WITH CARON
|
||||
.. |Edot| unicode:: U+00116 .. LATIN CAPITAL LETTER E WITH DOT ABOVE
|
||||
.. |edot| unicode:: U+00117 .. LATIN SMALL LETTER E WITH DOT ABOVE
|
||||
.. |Emacr| unicode:: U+00112 .. LATIN CAPITAL LETTER E WITH MACRON
|
||||
.. |emacr| unicode:: U+00113 .. LATIN SMALL LETTER E WITH MACRON
|
||||
.. |ENG| unicode:: U+0014A .. LATIN CAPITAL LETTER ENG
|
||||
.. |eng| unicode:: U+0014B .. LATIN SMALL LETTER ENG
|
||||
.. |Eogon| unicode:: U+00118 .. LATIN CAPITAL LETTER E WITH OGONEK
|
||||
.. |eogon| unicode:: U+00119 .. LATIN SMALL LETTER E WITH OGONEK
|
||||
.. |gacute| unicode:: U+001F5 .. LATIN SMALL LETTER G WITH ACUTE
|
||||
.. |Gbreve| unicode:: U+0011E .. LATIN CAPITAL LETTER G WITH BREVE
|
||||
.. |gbreve| unicode:: U+0011F .. LATIN SMALL LETTER G WITH BREVE
|
||||
.. |Gcedil| unicode:: U+00122 .. LATIN CAPITAL LETTER G WITH CEDILLA
|
||||
.. |gcedil| unicode:: U+00123 .. LATIN SMALL LETTER G WITH CEDILLA
|
||||
.. |Gcirc| unicode:: U+0011C .. LATIN CAPITAL LETTER G WITH CIRCUMFLEX
|
||||
.. |gcirc| unicode:: U+0011D .. LATIN SMALL LETTER G WITH CIRCUMFLEX
|
||||
.. |Gdot| unicode:: U+00120 .. LATIN CAPITAL LETTER G WITH DOT ABOVE
|
||||
.. |gdot| unicode:: U+00121 .. LATIN SMALL LETTER G WITH DOT ABOVE
|
||||
.. |Hcirc| unicode:: U+00124 .. LATIN CAPITAL LETTER H WITH CIRCUMFLEX
|
||||
.. |hcirc| unicode:: U+00125 .. LATIN SMALL LETTER H WITH CIRCUMFLEX
|
||||
.. |Hstrok| unicode:: U+00126 .. LATIN CAPITAL LETTER H WITH STROKE
|
||||
.. |hstrok| unicode:: U+00127 .. LATIN SMALL LETTER H WITH STROKE
|
||||
.. |Idot| unicode:: U+00130 .. LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
.. |IJlig| unicode:: U+00132 .. LATIN CAPITAL LIGATURE IJ
|
||||
.. |ijlig| unicode:: U+00133 .. LATIN SMALL LIGATURE IJ
|
||||
.. |Imacr| unicode:: U+0012A .. LATIN CAPITAL LETTER I WITH MACRON
|
||||
.. |imacr| unicode:: U+0012B .. LATIN SMALL LETTER I WITH MACRON
|
||||
.. |inodot| unicode:: U+00131 .. LATIN SMALL LETTER DOTLESS I
|
||||
.. |Iogon| unicode:: U+0012E .. LATIN CAPITAL LETTER I WITH OGONEK
|
||||
.. |iogon| unicode:: U+0012F .. LATIN SMALL LETTER I WITH OGONEK
|
||||
.. |Itilde| unicode:: U+00128 .. LATIN CAPITAL LETTER I WITH TILDE
|
||||
.. |itilde| unicode:: U+00129 .. LATIN SMALL LETTER I WITH TILDE
|
||||
.. |Jcirc| unicode:: U+00134 .. LATIN CAPITAL LETTER J WITH CIRCUMFLEX
|
||||
.. |jcirc| unicode:: U+00135 .. LATIN SMALL LETTER J WITH CIRCUMFLEX
|
||||
.. |Kcedil| unicode:: U+00136 .. LATIN CAPITAL LETTER K WITH CEDILLA
|
||||
.. |kcedil| unicode:: U+00137 .. LATIN SMALL LETTER K WITH CEDILLA
|
||||
.. |kgreen| unicode:: U+00138 .. LATIN SMALL LETTER KRA
|
||||
.. |Lacute| unicode:: U+00139 .. LATIN CAPITAL LETTER L WITH ACUTE
|
||||
.. |lacute| unicode:: U+0013A .. LATIN SMALL LETTER L WITH ACUTE
|
||||
.. |Lcaron| unicode:: U+0013D .. LATIN CAPITAL LETTER L WITH CARON
|
||||
.. |lcaron| unicode:: U+0013E .. LATIN SMALL LETTER L WITH CARON
|
||||
.. |Lcedil| unicode:: U+0013B .. LATIN CAPITAL LETTER L WITH CEDILLA
|
||||
.. |lcedil| unicode:: U+0013C .. LATIN SMALL LETTER L WITH CEDILLA
|
||||
.. |Lmidot| unicode:: U+0013F .. LATIN CAPITAL LETTER L WITH MIDDLE DOT
|
||||
.. |lmidot| unicode:: U+00140 .. LATIN SMALL LETTER L WITH MIDDLE DOT
|
||||
.. |Lstrok| unicode:: U+00141 .. LATIN CAPITAL LETTER L WITH STROKE
|
||||
.. |lstrok| unicode:: U+00142 .. LATIN SMALL LETTER L WITH STROKE
|
||||
.. |Nacute| unicode:: U+00143 .. LATIN CAPITAL LETTER N WITH ACUTE
|
||||
.. |nacute| unicode:: U+00144 .. LATIN SMALL LETTER N WITH ACUTE
|
||||
.. |napos| unicode:: U+00149 .. LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||||
.. |Ncaron| unicode:: U+00147 .. LATIN CAPITAL LETTER N WITH CARON
|
||||
.. |ncaron| unicode:: U+00148 .. LATIN SMALL LETTER N WITH CARON
|
||||
.. |Ncedil| unicode:: U+00145 .. LATIN CAPITAL LETTER N WITH CEDILLA
|
||||
.. |ncedil| unicode:: U+00146 .. LATIN SMALL LETTER N WITH CEDILLA
|
||||
.. |Odblac| unicode:: U+00150 .. LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
|
||||
.. |odblac| unicode:: U+00151 .. LATIN SMALL LETTER O WITH DOUBLE ACUTE
|
||||
.. |OElig| unicode:: U+00152 .. LATIN CAPITAL LIGATURE OE
|
||||
.. |oelig| unicode:: U+00153 .. LATIN SMALL LIGATURE OE
|
||||
.. |Omacr| unicode:: U+0014C .. LATIN CAPITAL LETTER O WITH MACRON
|
||||
.. |omacr| unicode:: U+0014D .. LATIN SMALL LETTER O WITH MACRON
|
||||
.. |Racute| unicode:: U+00154 .. LATIN CAPITAL LETTER R WITH ACUTE
|
||||
.. |racute| unicode:: U+00155 .. LATIN SMALL LETTER R WITH ACUTE
|
||||
.. |Rcaron| unicode:: U+00158 .. LATIN CAPITAL LETTER R WITH CARON
|
||||
.. |rcaron| unicode:: U+00159 .. LATIN SMALL LETTER R WITH CARON
|
||||
.. |Rcedil| unicode:: U+00156 .. LATIN CAPITAL LETTER R WITH CEDILLA
|
||||
.. |rcedil| unicode:: U+00157 .. LATIN SMALL LETTER R WITH CEDILLA
|
||||
.. |Sacute| unicode:: U+0015A .. LATIN CAPITAL LETTER S WITH ACUTE
|
||||
.. |sacute| unicode:: U+0015B .. LATIN SMALL LETTER S WITH ACUTE
|
||||
.. |Scaron| unicode:: U+00160 .. LATIN CAPITAL LETTER S WITH CARON
|
||||
.. |scaron| unicode:: U+00161 .. LATIN SMALL LETTER S WITH CARON
|
||||
.. |Scedil| unicode:: U+0015E .. LATIN CAPITAL LETTER S WITH CEDILLA
|
||||
.. |scedil| unicode:: U+0015F .. LATIN SMALL LETTER S WITH CEDILLA
|
||||
.. |Scirc| unicode:: U+0015C .. LATIN CAPITAL LETTER S WITH CIRCUMFLEX
|
||||
.. |scirc| unicode:: U+0015D .. LATIN SMALL LETTER S WITH CIRCUMFLEX
|
||||
.. |Tcaron| unicode:: U+00164 .. LATIN CAPITAL LETTER T WITH CARON
|
||||
.. |tcaron| unicode:: U+00165 .. LATIN SMALL LETTER T WITH CARON
|
||||
.. |Tcedil| unicode:: U+00162 .. LATIN CAPITAL LETTER T WITH CEDILLA
|
||||
.. |tcedil| unicode:: U+00163 .. LATIN SMALL LETTER T WITH CEDILLA
|
||||
.. |Tstrok| unicode:: U+00166 .. LATIN CAPITAL LETTER T WITH STROKE
|
||||
.. |tstrok| unicode:: U+00167 .. LATIN SMALL LETTER T WITH STROKE
|
||||
.. |Ubreve| unicode:: U+0016C .. LATIN CAPITAL LETTER U WITH BREVE
|
||||
.. |ubreve| unicode:: U+0016D .. LATIN SMALL LETTER U WITH BREVE
|
||||
.. |Udblac| unicode:: U+00170 .. LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
|
||||
.. |udblac| unicode:: U+00171 .. LATIN SMALL LETTER U WITH DOUBLE ACUTE
|
||||
.. |Umacr| unicode:: U+0016A .. LATIN CAPITAL LETTER U WITH MACRON
|
||||
.. |umacr| unicode:: U+0016B .. LATIN SMALL LETTER U WITH MACRON
|
||||
.. |Uogon| unicode:: U+00172 .. LATIN CAPITAL LETTER U WITH OGONEK
|
||||
.. |uogon| unicode:: U+00173 .. LATIN SMALL LETTER U WITH OGONEK
|
||||
.. |Uring| unicode:: U+0016E .. LATIN CAPITAL LETTER U WITH RING ABOVE
|
||||
.. |uring| unicode:: U+0016F .. LATIN SMALL LETTER U WITH RING ABOVE
|
||||
.. |Utilde| unicode:: U+00168 .. LATIN CAPITAL LETTER U WITH TILDE
|
||||
.. |utilde| unicode:: U+00169 .. LATIN SMALL LETTER U WITH TILDE
|
||||
.. |Wcirc| unicode:: U+00174 .. LATIN CAPITAL LETTER W WITH CIRCUMFLEX
|
||||
.. |wcirc| unicode:: U+00175 .. LATIN SMALL LETTER W WITH CIRCUMFLEX
|
||||
.. |Ycirc| unicode:: U+00176 .. LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
|
||||
.. |ycirc| unicode:: U+00177 .. LATIN SMALL LETTER Y WITH CIRCUMFLEX
|
||||
.. |Yuml| unicode:: U+00178 .. LATIN CAPITAL LETTER Y WITH DIAERESIS
|
||||
.. |Zacute| unicode:: U+00179 .. LATIN CAPITAL LETTER Z WITH ACUTE
|
||||
.. |zacute| unicode:: U+0017A .. LATIN SMALL LETTER Z WITH ACUTE
|
||||
.. |Zcaron| unicode:: U+0017D .. LATIN CAPITAL LETTER Z WITH CARON
|
||||
.. |zcaron| unicode:: U+0017E .. LATIN SMALL LETTER Z WITH CARON
|
||||
.. |Zdot| unicode:: U+0017B .. LATIN CAPITAL LETTER Z WITH DOT ABOVE
|
||||
.. |zdot| unicode:: U+0017C .. LATIN SMALL LETTER Z WITH DOT ABOVE
|
58
docutils/parsers/rst/include/isomfrk-wide.txt
Normal file
58
docutils/parsers/rst/include/isomfrk-wide.txt
Normal file
|
@ -0,0 +1,58 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Afr| unicode:: U+1D504 .. MATHEMATICAL FRAKTUR CAPITAL A
|
||||
.. |afr| unicode:: U+1D51E .. MATHEMATICAL FRAKTUR SMALL A
|
||||
.. |Bfr| unicode:: U+1D505 .. MATHEMATICAL FRAKTUR CAPITAL B
|
||||
.. |bfr| unicode:: U+1D51F .. MATHEMATICAL FRAKTUR SMALL B
|
||||
.. |Cfr| unicode:: U+0212D .. BLACK-LETTER CAPITAL C
|
||||
.. |cfr| unicode:: U+1D520 .. MATHEMATICAL FRAKTUR SMALL C
|
||||
.. |Dfr| unicode:: U+1D507 .. MATHEMATICAL FRAKTUR CAPITAL D
|
||||
.. |dfr| unicode:: U+1D521 .. MATHEMATICAL FRAKTUR SMALL D
|
||||
.. |Efr| unicode:: U+1D508 .. MATHEMATICAL FRAKTUR CAPITAL E
|
||||
.. |efr| unicode:: U+1D522 .. MATHEMATICAL FRAKTUR SMALL E
|
||||
.. |Ffr| unicode:: U+1D509 .. MATHEMATICAL FRAKTUR CAPITAL F
|
||||
.. |ffr| unicode:: U+1D523 .. MATHEMATICAL FRAKTUR SMALL F
|
||||
.. |Gfr| unicode:: U+1D50A .. MATHEMATICAL FRAKTUR CAPITAL G
|
||||
.. |gfr| unicode:: U+1D524 .. MATHEMATICAL FRAKTUR SMALL G
|
||||
.. |Hfr| unicode:: U+0210C .. BLACK-LETTER CAPITAL H
|
||||
.. |hfr| unicode:: U+1D525 .. MATHEMATICAL FRAKTUR SMALL H
|
||||
.. |Ifr| unicode:: U+02111 .. BLACK-LETTER CAPITAL I
|
||||
.. |ifr| unicode:: U+1D526 .. MATHEMATICAL FRAKTUR SMALL I
|
||||
.. |Jfr| unicode:: U+1D50D .. MATHEMATICAL FRAKTUR CAPITAL J
|
||||
.. |jfr| unicode:: U+1D527 .. MATHEMATICAL FRAKTUR SMALL J
|
||||
.. |Kfr| unicode:: U+1D50E .. MATHEMATICAL FRAKTUR CAPITAL K
|
||||
.. |kfr| unicode:: U+1D528 .. MATHEMATICAL FRAKTUR SMALL K
|
||||
.. |Lfr| unicode:: U+1D50F .. MATHEMATICAL FRAKTUR CAPITAL L
|
||||
.. |lfr| unicode:: U+1D529 .. MATHEMATICAL FRAKTUR SMALL L
|
||||
.. |Mfr| unicode:: U+1D510 .. MATHEMATICAL FRAKTUR CAPITAL M
|
||||
.. |mfr| unicode:: U+1D52A .. MATHEMATICAL FRAKTUR SMALL M
|
||||
.. |Nfr| unicode:: U+1D511 .. MATHEMATICAL FRAKTUR CAPITAL N
|
||||
.. |nfr| unicode:: U+1D52B .. MATHEMATICAL FRAKTUR SMALL N
|
||||
.. |Ofr| unicode:: U+1D512 .. MATHEMATICAL FRAKTUR CAPITAL O
|
||||
.. |ofr| unicode:: U+1D52C .. MATHEMATICAL FRAKTUR SMALL O
|
||||
.. |Pfr| unicode:: U+1D513 .. MATHEMATICAL FRAKTUR CAPITAL P
|
||||
.. |pfr| unicode:: U+1D52D .. MATHEMATICAL FRAKTUR SMALL P
|
||||
.. |Qfr| unicode:: U+1D514 .. MATHEMATICAL FRAKTUR CAPITAL Q
|
||||
.. |qfr| unicode:: U+1D52E .. MATHEMATICAL FRAKTUR SMALL Q
|
||||
.. |Rfr| unicode:: U+0211C .. BLACK-LETTER CAPITAL R
|
||||
.. |rfr| unicode:: U+1D52F .. MATHEMATICAL FRAKTUR SMALL R
|
||||
.. |Sfr| unicode:: U+1D516 .. MATHEMATICAL FRAKTUR CAPITAL S
|
||||
.. |sfr| unicode:: U+1D530 .. MATHEMATICAL FRAKTUR SMALL S
|
||||
.. |Tfr| unicode:: U+1D517 .. MATHEMATICAL FRAKTUR CAPITAL T
|
||||
.. |tfr| unicode:: U+1D531 .. MATHEMATICAL FRAKTUR SMALL T
|
||||
.. |Ufr| unicode:: U+1D518 .. MATHEMATICAL FRAKTUR CAPITAL U
|
||||
.. |ufr| unicode:: U+1D532 .. MATHEMATICAL FRAKTUR SMALL U
|
||||
.. |Vfr| unicode:: U+1D519 .. MATHEMATICAL FRAKTUR CAPITAL V
|
||||
.. |vfr| unicode:: U+1D533 .. MATHEMATICAL FRAKTUR SMALL V
|
||||
.. |Wfr| unicode:: U+1D51A .. MATHEMATICAL FRAKTUR CAPITAL W
|
||||
.. |wfr| unicode:: U+1D534 .. MATHEMATICAL FRAKTUR SMALL W
|
||||
.. |Xfr| unicode:: U+1D51B .. MATHEMATICAL FRAKTUR CAPITAL X
|
||||
.. |xfr| unicode:: U+1D535 .. MATHEMATICAL FRAKTUR SMALL X
|
||||
.. |Yfr| unicode:: U+1D51C .. MATHEMATICAL FRAKTUR CAPITAL Y
|
||||
.. |yfr| unicode:: U+1D536 .. MATHEMATICAL FRAKTUR SMALL Y
|
||||
.. |Zfr| unicode:: U+02128 .. BLACK-LETTER CAPITAL Z
|
||||
.. |zfr| unicode:: U+1D537 .. MATHEMATICAL FRAKTUR SMALL Z
|
11
docutils/parsers/rst/include/isomfrk.txt
Normal file
11
docutils/parsers/rst/include/isomfrk.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Cfr| unicode:: U+0212D .. BLACK-LETTER CAPITAL C
|
||||
.. |Hfr| unicode:: U+0210C .. BLACK-LETTER CAPITAL H
|
||||
.. |Ifr| unicode:: U+02111 .. BLACK-LETTER CAPITAL I
|
||||
.. |Rfr| unicode:: U+0211C .. BLACK-LETTER CAPITAL R
|
||||
.. |Zfr| unicode:: U+02128 .. BLACK-LETTER CAPITAL Z
|
32
docutils/parsers/rst/include/isomopf-wide.txt
Normal file
32
docutils/parsers/rst/include/isomopf-wide.txt
Normal file
|
@ -0,0 +1,32 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Aopf| unicode:: U+1D538 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL A
|
||||
.. |Bopf| unicode:: U+1D539 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL B
|
||||
.. |Copf| unicode:: U+02102 .. DOUBLE-STRUCK CAPITAL C
|
||||
.. |Dopf| unicode:: U+1D53B .. MATHEMATICAL DOUBLE-STRUCK CAPITAL D
|
||||
.. |Eopf| unicode:: U+1D53C .. MATHEMATICAL DOUBLE-STRUCK CAPITAL E
|
||||
.. |Fopf| unicode:: U+1D53D .. MATHEMATICAL DOUBLE-STRUCK CAPITAL F
|
||||
.. |Gopf| unicode:: U+1D53E .. MATHEMATICAL DOUBLE-STRUCK CAPITAL G
|
||||
.. |Hopf| unicode:: U+0210D .. DOUBLE-STRUCK CAPITAL H
|
||||
.. |Iopf| unicode:: U+1D540 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL I
|
||||
.. |Jopf| unicode:: U+1D541 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL J
|
||||
.. |Kopf| unicode:: U+1D542 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL K
|
||||
.. |Lopf| unicode:: U+1D543 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL L
|
||||
.. |Mopf| unicode:: U+1D544 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL M
|
||||
.. |Nopf| unicode:: U+02115 .. DOUBLE-STRUCK CAPITAL N
|
||||
.. |Oopf| unicode:: U+1D546 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL O
|
||||
.. |Popf| unicode:: U+02119 .. DOUBLE-STRUCK CAPITAL P
|
||||
.. |Qopf| unicode:: U+0211A .. DOUBLE-STRUCK CAPITAL Q
|
||||
.. |Ropf| unicode:: U+0211D .. DOUBLE-STRUCK CAPITAL R
|
||||
.. |Sopf| unicode:: U+1D54A .. MATHEMATICAL DOUBLE-STRUCK CAPITAL S
|
||||
.. |Topf| unicode:: U+1D54B .. MATHEMATICAL DOUBLE-STRUCK CAPITAL T
|
||||
.. |Uopf| unicode:: U+1D54C .. MATHEMATICAL DOUBLE-STRUCK CAPITAL U
|
||||
.. |Vopf| unicode:: U+1D54D .. MATHEMATICAL DOUBLE-STRUCK CAPITAL V
|
||||
.. |Wopf| unicode:: U+1D54E .. MATHEMATICAL DOUBLE-STRUCK CAPITAL W
|
||||
.. |Xopf| unicode:: U+1D54F .. MATHEMATICAL DOUBLE-STRUCK CAPITAL X
|
||||
.. |Yopf| unicode:: U+1D550 .. MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
|
||||
.. |Zopf| unicode:: U+02124 .. DOUBLE-STRUCK CAPITAL Z
|
13
docutils/parsers/rst/include/isomopf.txt
Normal file
13
docutils/parsers/rst/include/isomopf.txt
Normal file
|
@ -0,0 +1,13 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Copf| unicode:: U+02102 .. DOUBLE-STRUCK CAPITAL C
|
||||
.. |Hopf| unicode:: U+0210D .. DOUBLE-STRUCK CAPITAL H
|
||||
.. |Nopf| unicode:: U+02115 .. DOUBLE-STRUCK CAPITAL N
|
||||
.. |Popf| unicode:: U+02119 .. DOUBLE-STRUCK CAPITAL P
|
||||
.. |Qopf| unicode:: U+0211A .. DOUBLE-STRUCK CAPITAL Q
|
||||
.. |Ropf| unicode:: U+0211D .. DOUBLE-STRUCK CAPITAL R
|
||||
.. |Zopf| unicode:: U+02124 .. DOUBLE-STRUCK CAPITAL Z
|
58
docutils/parsers/rst/include/isomscr-wide.txt
Normal file
58
docutils/parsers/rst/include/isomscr-wide.txt
Normal file
|
@ -0,0 +1,58 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Ascr| unicode:: U+1D49C .. MATHEMATICAL SCRIPT CAPITAL A
|
||||
.. |ascr| unicode:: U+1D4B6 .. MATHEMATICAL SCRIPT SMALL A
|
||||
.. |Bscr| unicode:: U+0212C .. SCRIPT CAPITAL B
|
||||
.. |bscr| unicode:: U+1D4B7 .. MATHEMATICAL SCRIPT SMALL B
|
||||
.. |Cscr| unicode:: U+1D49E .. MATHEMATICAL SCRIPT CAPITAL C
|
||||
.. |cscr| unicode:: U+1D4B8 .. MATHEMATICAL SCRIPT SMALL C
|
||||
.. |Dscr| unicode:: U+1D49F .. MATHEMATICAL SCRIPT CAPITAL D
|
||||
.. |dscr| unicode:: U+1D4B9 .. MATHEMATICAL SCRIPT SMALL D
|
||||
.. |Escr| unicode:: U+02130 .. SCRIPT CAPITAL E
|
||||
.. |escr| unicode:: U+0212F .. SCRIPT SMALL E
|
||||
.. |Fscr| unicode:: U+02131 .. SCRIPT CAPITAL F
|
||||
.. |fscr| unicode:: U+1D4BB .. MATHEMATICAL SCRIPT SMALL F
|
||||
.. |Gscr| unicode:: U+1D4A2 .. MATHEMATICAL SCRIPT CAPITAL G
|
||||
.. |gscr| unicode:: U+0210A .. SCRIPT SMALL G
|
||||
.. |Hscr| unicode:: U+0210B .. SCRIPT CAPITAL H
|
||||
.. |hscr| unicode:: U+1D4BD .. MATHEMATICAL SCRIPT SMALL H
|
||||
.. |Iscr| unicode:: U+02110 .. SCRIPT CAPITAL I
|
||||
.. |iscr| unicode:: U+1D4BE .. MATHEMATICAL SCRIPT SMALL I
|
||||
.. |Jscr| unicode:: U+1D4A5 .. MATHEMATICAL SCRIPT CAPITAL J
|
||||
.. |jscr| unicode:: U+1D4BF .. MATHEMATICAL SCRIPT SMALL J
|
||||
.. |Kscr| unicode:: U+1D4A6 .. MATHEMATICAL SCRIPT CAPITAL K
|
||||
.. |kscr| unicode:: U+1D4C0 .. MATHEMATICAL SCRIPT SMALL K
|
||||
.. |Lscr| unicode:: U+02112 .. SCRIPT CAPITAL L
|
||||
.. |lscr| unicode:: U+1D4C1 .. MATHEMATICAL SCRIPT SMALL L
|
||||
.. |Mscr| unicode:: U+02133 .. SCRIPT CAPITAL M
|
||||
.. |mscr| unicode:: U+1D4C2 .. MATHEMATICAL SCRIPT SMALL M
|
||||
.. |Nscr| unicode:: U+1D4A9 .. MATHEMATICAL SCRIPT CAPITAL N
|
||||
.. |nscr| unicode:: U+1D4C3 .. MATHEMATICAL SCRIPT SMALL N
|
||||
.. |Oscr| unicode:: U+1D4AA .. MATHEMATICAL SCRIPT CAPITAL O
|
||||
.. |oscr| unicode:: U+02134 .. SCRIPT SMALL O
|
||||
.. |Pscr| unicode:: U+1D4AB .. MATHEMATICAL SCRIPT CAPITAL P
|
||||
.. |pscr| unicode:: U+1D4C5 .. MATHEMATICAL SCRIPT SMALL P
|
||||
.. |Qscr| unicode:: U+1D4AC .. MATHEMATICAL SCRIPT CAPITAL Q
|
||||
.. |qscr| unicode:: U+1D4C6 .. MATHEMATICAL SCRIPT SMALL Q
|
||||
.. |Rscr| unicode:: U+0211B .. SCRIPT CAPITAL R
|
||||
.. |rscr| unicode:: U+1D4C7 .. MATHEMATICAL SCRIPT SMALL R
|
||||
.. |Sscr| unicode:: U+1D4AE .. MATHEMATICAL SCRIPT CAPITAL S
|
||||
.. |sscr| unicode:: U+1D4C8 .. MATHEMATICAL SCRIPT SMALL S
|
||||
.. |Tscr| unicode:: U+1D4AF .. MATHEMATICAL SCRIPT CAPITAL T
|
||||
.. |tscr| unicode:: U+1D4C9 .. MATHEMATICAL SCRIPT SMALL T
|
||||
.. |Uscr| unicode:: U+1D4B0 .. MATHEMATICAL SCRIPT CAPITAL U
|
||||
.. |uscr| unicode:: U+1D4CA .. MATHEMATICAL SCRIPT SMALL U
|
||||
.. |Vscr| unicode:: U+1D4B1 .. MATHEMATICAL SCRIPT CAPITAL V
|
||||
.. |vscr| unicode:: U+1D4CB .. MATHEMATICAL SCRIPT SMALL V
|
||||
.. |Wscr| unicode:: U+1D4B2 .. MATHEMATICAL SCRIPT CAPITAL W
|
||||
.. |wscr| unicode:: U+1D4CC .. MATHEMATICAL SCRIPT SMALL W
|
||||
.. |Xscr| unicode:: U+1D4B3 .. MATHEMATICAL SCRIPT CAPITAL X
|
||||
.. |xscr| unicode:: U+1D4CD .. MATHEMATICAL SCRIPT SMALL X
|
||||
.. |Yscr| unicode:: U+1D4B4 .. MATHEMATICAL SCRIPT CAPITAL Y
|
||||
.. |yscr| unicode:: U+1D4CE .. MATHEMATICAL SCRIPT SMALL Y
|
||||
.. |Zscr| unicode:: U+1D4B5 .. MATHEMATICAL SCRIPT CAPITAL Z
|
||||
.. |zscr| unicode:: U+1D4CF .. MATHEMATICAL SCRIPT SMALL Z
|
17
docutils/parsers/rst/include/isomscr.txt
Normal file
17
docutils/parsers/rst/include/isomscr.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Bscr| unicode:: U+0212C .. SCRIPT CAPITAL B
|
||||
.. |Escr| unicode:: U+02130 .. SCRIPT CAPITAL E
|
||||
.. |escr| unicode:: U+0212F .. SCRIPT SMALL E
|
||||
.. |Fscr| unicode:: U+02131 .. SCRIPT CAPITAL F
|
||||
.. |gscr| unicode:: U+0210A .. SCRIPT SMALL G
|
||||
.. |Hscr| unicode:: U+0210B .. SCRIPT CAPITAL H
|
||||
.. |Iscr| unicode:: U+02110 .. SCRIPT CAPITAL I
|
||||
.. |Lscr| unicode:: U+02112 .. SCRIPT CAPITAL L
|
||||
.. |Mscr| unicode:: U+02133 .. SCRIPT CAPITAL M
|
||||
.. |oscr| unicode:: U+02134 .. SCRIPT SMALL O
|
||||
.. |Rscr| unicode:: U+0211B .. SCRIPT CAPITAL R
|
82
docutils/parsers/rst/include/isonum.txt
Normal file
82
docutils/parsers/rst/include/isonum.txt
Normal file
|
@ -0,0 +1,82 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |amp| unicode:: U+00026 .. AMPERSAND
|
||||
.. |apos| unicode:: U+00027 .. APOSTROPHE
|
||||
.. |ast| unicode:: U+0002A .. ASTERISK
|
||||
.. |brvbar| unicode:: U+000A6 .. BROKEN BAR
|
||||
.. |bsol| unicode:: U+0005C .. REVERSE SOLIDUS
|
||||
.. |cent| unicode:: U+000A2 .. CENT SIGN
|
||||
.. |colon| unicode:: U+0003A .. COLON
|
||||
.. |comma| unicode:: U+0002C .. COMMA
|
||||
.. |commat| unicode:: U+00040 .. COMMERCIAL AT
|
||||
.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN
|
||||
.. |curren| unicode:: U+000A4 .. CURRENCY SIGN
|
||||
.. |darr| unicode:: U+02193 .. DOWNWARDS ARROW
|
||||
.. |deg| unicode:: U+000B0 .. DEGREE SIGN
|
||||
.. |divide| unicode:: U+000F7 .. DIVISION SIGN
|
||||
.. |dollar| unicode:: U+00024 .. DOLLAR SIGN
|
||||
.. |equals| unicode:: U+0003D .. EQUALS SIGN
|
||||
.. |excl| unicode:: U+00021 .. EXCLAMATION MARK
|
||||
.. |frac12| unicode:: U+000BD .. VULGAR FRACTION ONE HALF
|
||||
.. |frac14| unicode:: U+000BC .. VULGAR FRACTION ONE QUARTER
|
||||
.. |frac18| unicode:: U+0215B .. VULGAR FRACTION ONE EIGHTH
|
||||
.. |frac34| unicode:: U+000BE .. VULGAR FRACTION THREE QUARTERS
|
||||
.. |frac38| unicode:: U+0215C .. VULGAR FRACTION THREE EIGHTHS
|
||||
.. |frac58| unicode:: U+0215D .. VULGAR FRACTION FIVE EIGHTHS
|
||||
.. |frac78| unicode:: U+0215E .. VULGAR FRACTION SEVEN EIGHTHS
|
||||
.. |gt| unicode:: U+0003E .. GREATER-THAN SIGN
|
||||
.. |half| unicode:: U+000BD .. VULGAR FRACTION ONE HALF
|
||||
.. |horbar| unicode:: U+02015 .. HORIZONTAL BAR
|
||||
.. |hyphen| unicode:: U+02010 .. HYPHEN
|
||||
.. |iexcl| unicode:: U+000A1 .. INVERTED EXCLAMATION MARK
|
||||
.. |iquest| unicode:: U+000BF .. INVERTED QUESTION MARK
|
||||
.. |laquo| unicode:: U+000AB .. LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
.. |larr| unicode:: U+02190 .. LEFTWARDS ARROW
|
||||
.. |lcub| unicode:: U+0007B .. LEFT CURLY BRACKET
|
||||
.. |ldquo| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARK
|
||||
.. |lowbar| unicode:: U+0005F .. LOW LINE
|
||||
.. |lpar| unicode:: U+00028 .. LEFT PARENTHESIS
|
||||
.. |lsqb| unicode:: U+0005B .. LEFT SQUARE BRACKET
|
||||
.. |lsquo| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARK
|
||||
.. |lt| unicode:: U+0003C .. LESS-THAN SIGN
|
||||
.. |micro| unicode:: U+000B5 .. MICRO SIGN
|
||||
.. |middot| unicode:: U+000B7 .. MIDDLE DOT
|
||||
.. |nbsp| unicode:: U+000A0 .. NO-BREAK SPACE
|
||||
.. |not| unicode:: U+000AC .. NOT SIGN
|
||||
.. |num| unicode:: U+00023 .. NUMBER SIGN
|
||||
.. |ohm| unicode:: U+02126 .. OHM SIGN
|
||||
.. |ordf| unicode:: U+000AA .. FEMININE ORDINAL INDICATOR
|
||||
.. |ordm| unicode:: U+000BA .. MASCULINE ORDINAL INDICATOR
|
||||
.. |para| unicode:: U+000B6 .. PILCROW SIGN
|
||||
.. |percnt| unicode:: U+00025 .. PERCENT SIGN
|
||||
.. |period| unicode:: U+0002E .. FULL STOP
|
||||
.. |plus| unicode:: U+0002B .. PLUS SIGN
|
||||
.. |plusmn| unicode:: U+000B1 .. PLUS-MINUS SIGN
|
||||
.. |pound| unicode:: U+000A3 .. POUND SIGN
|
||||
.. |quest| unicode:: U+0003F .. QUESTION MARK
|
||||
.. |quot| unicode:: U+00022 .. QUOTATION MARK
|
||||
.. |raquo| unicode:: U+000BB .. RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
.. |rarr| unicode:: U+02192 .. RIGHTWARDS ARROW
|
||||
.. |rcub| unicode:: U+0007D .. RIGHT CURLY BRACKET
|
||||
.. |rdquo| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARK
|
||||
.. |reg| unicode:: U+000AE .. REGISTERED SIGN
|
||||
.. |rpar| unicode:: U+00029 .. RIGHT PARENTHESIS
|
||||
.. |rsqb| unicode:: U+0005D .. RIGHT SQUARE BRACKET
|
||||
.. |rsquo| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARK
|
||||
.. |sect| unicode:: U+000A7 .. SECTION SIGN
|
||||
.. |semi| unicode:: U+0003B .. SEMICOLON
|
||||
.. |shy| unicode:: U+000AD .. SOFT HYPHEN
|
||||
.. |sol| unicode:: U+0002F .. SOLIDUS
|
||||
.. |sung| unicode:: U+0266A .. EIGHTH NOTE
|
||||
.. |sup1| unicode:: U+000B9 .. SUPERSCRIPT ONE
|
||||
.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWO
|
||||
.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREE
|
||||
.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGN
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
.. |uarr| unicode:: U+02191 .. UPWARDS ARROW
|
||||
.. |verbar| unicode:: U+0007C .. VERTICAL LINE
|
||||
.. |yen| unicode:: U+000A5 .. YEN SIGN
|
90
docutils/parsers/rst/include/isopub.txt
Normal file
90
docutils/parsers/rst/include/isopub.txt
Normal file
|
@ -0,0 +1,90 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |blank| unicode:: U+02423 .. OPEN BOX
|
||||
.. |blk12| unicode:: U+02592 .. MEDIUM SHADE
|
||||
.. |blk14| unicode:: U+02591 .. LIGHT SHADE
|
||||
.. |blk34| unicode:: U+02593 .. DARK SHADE
|
||||
.. |block| unicode:: U+02588 .. FULL BLOCK
|
||||
.. |bull| unicode:: U+02022 .. BULLET
|
||||
.. |caret| unicode:: U+02041 .. CARET INSERTION POINT
|
||||
.. |check| unicode:: U+02713 .. CHECK MARK
|
||||
.. |cir| unicode:: U+025CB .. WHITE CIRCLE
|
||||
.. |clubs| unicode:: U+02663 .. BLACK CLUB SUIT
|
||||
.. |copysr| unicode:: U+02117 .. SOUND RECORDING COPYRIGHT
|
||||
.. |cross| unicode:: U+02717 .. BALLOT X
|
||||
.. |Dagger| unicode:: U+02021 .. DOUBLE DAGGER
|
||||
.. |dagger| unicode:: U+02020 .. DAGGER
|
||||
.. |dash| unicode:: U+02010 .. HYPHEN
|
||||
.. |diams| unicode:: U+02666 .. BLACK DIAMOND SUIT
|
||||
.. |dlcrop| unicode:: U+0230D .. BOTTOM LEFT CROP
|
||||
.. |drcrop| unicode:: U+0230C .. BOTTOM RIGHT CROP
|
||||
.. |dtri| unicode:: U+025BF .. WHITE DOWN-POINTING SMALL TRIANGLE
|
||||
.. |dtrif| unicode:: U+025BE .. BLACK DOWN-POINTING SMALL TRIANGLE
|
||||
.. |emsp| unicode:: U+02003 .. EM SPACE
|
||||
.. |emsp13| unicode:: U+02004 .. THREE-PER-EM SPACE
|
||||
.. |emsp14| unicode:: U+02005 .. FOUR-PER-EM SPACE
|
||||
.. |ensp| unicode:: U+02002 .. EN SPACE
|
||||
.. |female| unicode:: U+02640 .. FEMALE SIGN
|
||||
.. |ffilig| unicode:: U+0FB03 .. LATIN SMALL LIGATURE FFI
|
||||
.. |fflig| unicode:: U+0FB00 .. LATIN SMALL LIGATURE FF
|
||||
.. |ffllig| unicode:: U+0FB04 .. LATIN SMALL LIGATURE FFL
|
||||
.. |filig| unicode:: U+0FB01 .. LATIN SMALL LIGATURE FI
|
||||
.. |flat| unicode:: U+0266D .. MUSIC FLAT SIGN
|
||||
.. |fllig| unicode:: U+0FB02 .. LATIN SMALL LIGATURE FL
|
||||
.. |frac13| unicode:: U+02153 .. VULGAR FRACTION ONE THIRD
|
||||
.. |frac15| unicode:: U+02155 .. VULGAR FRACTION ONE FIFTH
|
||||
.. |frac16| unicode:: U+02159 .. VULGAR FRACTION ONE SIXTH
|
||||
.. |frac23| unicode:: U+02154 .. VULGAR FRACTION TWO THIRDS
|
||||
.. |frac25| unicode:: U+02156 .. VULGAR FRACTION TWO FIFTHS
|
||||
.. |frac35| unicode:: U+02157 .. VULGAR FRACTION THREE FIFTHS
|
||||
.. |frac45| unicode:: U+02158 .. VULGAR FRACTION FOUR FIFTHS
|
||||
.. |frac56| unicode:: U+0215A .. VULGAR FRACTION FIVE SIXTHS
|
||||
.. |hairsp| unicode:: U+0200A .. HAIR SPACE
|
||||
.. |hearts| unicode:: U+02665 .. BLACK HEART SUIT
|
||||
.. |hellip| unicode:: U+02026 .. HORIZONTAL ELLIPSIS
|
||||
.. |hybull| unicode:: U+02043 .. HYPHEN BULLET
|
||||
.. |incare| unicode:: U+02105 .. CARE OF
|
||||
.. |ldquor| unicode:: U+0201E .. DOUBLE LOW-9 QUOTATION MARK
|
||||
.. |lhblk| unicode:: U+02584 .. LOWER HALF BLOCK
|
||||
.. |loz| unicode:: U+025CA .. LOZENGE
|
||||
.. |lozf| unicode:: U+029EB .. BLACK LOZENGE
|
||||
.. |lsquor| unicode:: U+0201A .. SINGLE LOW-9 QUOTATION MARK
|
||||
.. |ltri| unicode:: U+025C3 .. WHITE LEFT-POINTING SMALL TRIANGLE
|
||||
.. |ltrif| unicode:: U+025C2 .. BLACK LEFT-POINTING SMALL TRIANGLE
|
||||
.. |male| unicode:: U+02642 .. MALE SIGN
|
||||
.. |malt| unicode:: U+02720 .. MALTESE CROSS
|
||||
.. |marker| unicode:: U+025AE .. BLACK VERTICAL RECTANGLE
|
||||
.. |mdash| unicode:: U+02014 .. EM DASH
|
||||
.. |mldr| unicode:: U+02026 .. HORIZONTAL ELLIPSIS
|
||||
.. |natur| unicode:: U+0266E .. MUSIC NATURAL SIGN
|
||||
.. |ndash| unicode:: U+02013 .. EN DASH
|
||||
.. |nldr| unicode:: U+02025 .. TWO DOT LEADER
|
||||
.. |numsp| unicode:: U+02007 .. FIGURE SPACE
|
||||
.. |phone| unicode:: U+0260E .. BLACK TELEPHONE
|
||||
.. |puncsp| unicode:: U+02008 .. PUNCTUATION SPACE
|
||||
.. |rdquor| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARK
|
||||
.. |rect| unicode:: U+025AD .. WHITE RECTANGLE
|
||||
.. |rsquor| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARK
|
||||
.. |rtri| unicode:: U+025B9 .. WHITE RIGHT-POINTING SMALL TRIANGLE
|
||||
.. |rtrif| unicode:: U+025B8 .. BLACK RIGHT-POINTING SMALL TRIANGLE
|
||||
.. |rx| unicode:: U+0211E .. PRESCRIPTION TAKE
|
||||
.. |sext| unicode:: U+02736 .. SIX POINTED BLACK STAR
|
||||
.. |sharp| unicode:: U+0266F .. MUSIC SHARP SIGN
|
||||
.. |spades| unicode:: U+02660 .. BLACK SPADE SUIT
|
||||
.. |squ| unicode:: U+025A1 .. WHITE SQUARE
|
||||
.. |squf| unicode:: U+025AA .. BLACK SMALL SQUARE
|
||||
.. |star| unicode:: U+02606 .. WHITE STAR
|
||||
.. |starf| unicode:: U+02605 .. BLACK STAR
|
||||
.. |target| unicode:: U+02316 .. POSITION INDICATOR
|
||||
.. |telrec| unicode:: U+02315 .. TELEPHONE RECORDER
|
||||
.. |thinsp| unicode:: U+02009 .. THIN SPACE
|
||||
.. |uhblk| unicode:: U+02580 .. UPPER HALF BLOCK
|
||||
.. |ulcrop| unicode:: U+0230F .. TOP LEFT CROP
|
||||
.. |urcrop| unicode:: U+0230E .. TOP RIGHT CROP
|
||||
.. |utri| unicode:: U+025B5 .. WHITE UP-POINTING SMALL TRIANGLE
|
||||
.. |utrif| unicode:: U+025B4 .. BLACK UP-POINTING SMALL TRIANGLE
|
||||
.. |vellip| unicode:: U+022EE .. VERTICAL ELLIPSIS
|
168
docutils/parsers/rst/include/isotech.txt
Normal file
168
docutils/parsers/rst/include/isotech.txt
Normal file
|
@ -0,0 +1,168 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |acd| unicode:: U+0223F .. SINE WAVE
|
||||
.. |aleph| unicode:: U+02135 .. ALEF SYMBOL
|
||||
.. |And| unicode:: U+02A53 .. DOUBLE LOGICAL AND
|
||||
.. |and| unicode:: U+02227 .. LOGICAL AND
|
||||
.. |andand| unicode:: U+02A55 .. TWO INTERSECTING LOGICAL AND
|
||||
.. |andd| unicode:: U+02A5C .. LOGICAL AND WITH HORIZONTAL DASH
|
||||
.. |andslope| unicode:: U+02A58 .. SLOPING LARGE AND
|
||||
.. |andv| unicode:: U+02A5A .. LOGICAL AND WITH MIDDLE STEM
|
||||
.. |ang90| unicode:: U+0221F .. RIGHT ANGLE
|
||||
.. |angrt| unicode:: U+0221F .. RIGHT ANGLE
|
||||
.. |angsph| unicode:: U+02222 .. SPHERICAL ANGLE
|
||||
.. |angst| unicode:: U+0212B .. ANGSTROM SIGN
|
||||
.. |ap| unicode:: U+02248 .. ALMOST EQUAL TO
|
||||
.. |apacir| unicode:: U+02A6F .. ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
|
||||
.. |awconint| unicode:: U+02233 .. ANTICLOCKWISE CONTOUR INTEGRAL
|
||||
.. |awint| unicode:: U+02A11 .. ANTICLOCKWISE INTEGRATION
|
||||
.. |becaus| unicode:: U+02235 .. BECAUSE
|
||||
.. |bernou| unicode:: U+0212C .. SCRIPT CAPITAL B
|
||||
.. |bne| unicode:: U+0003D U+020E5 .. EQUALS SIGN with reverse slash
|
||||
.. |bnequiv| unicode:: U+02261 U+020E5 .. IDENTICAL TO with reverse slash
|
||||
.. |bNot| unicode:: U+02AED .. REVERSED DOUBLE STROKE NOT SIGN
|
||||
.. |bnot| unicode:: U+02310 .. REVERSED NOT SIGN
|
||||
.. |bottom| unicode:: U+022A5 .. UP TACK
|
||||
.. |cap| unicode:: U+02229 .. INTERSECTION
|
||||
.. |Cconint| unicode:: U+02230 .. VOLUME INTEGRAL
|
||||
.. |cirfnint| unicode:: U+02A10 .. CIRCULATION FUNCTION
|
||||
.. |compfn| unicode:: U+02218 .. RING OPERATOR
|
||||
.. |cong| unicode:: U+02245 .. APPROXIMATELY EQUAL TO
|
||||
.. |Conint| unicode:: U+0222F .. SURFACE INTEGRAL
|
||||
.. |conint| unicode:: U+0222E .. CONTOUR INTEGRAL
|
||||
.. |ctdot| unicode:: U+022EF .. MIDLINE HORIZONTAL ELLIPSIS
|
||||
.. |cup| unicode:: U+0222A .. UNION
|
||||
.. |cwconint| unicode:: U+02232 .. CLOCKWISE CONTOUR INTEGRAL
|
||||
.. |cwint| unicode:: U+02231 .. CLOCKWISE INTEGRAL
|
||||
.. |cylcty| unicode:: U+0232D .. CYLINDRICITY
|
||||
.. |disin| unicode:: U+022F2 .. ELEMENT OF WITH LONG HORIZONTAL STROKE
|
||||
.. |Dot| unicode:: U+000A8 .. DIAERESIS
|
||||
.. |DotDot| unicode:: U+020DC .. COMBINING FOUR DOTS ABOVE
|
||||
.. |dsol| unicode:: U+029F6 .. SOLIDUS WITH OVERBAR
|
||||
.. |dtdot| unicode:: U+022F1 .. DOWN RIGHT DIAGONAL ELLIPSIS
|
||||
.. |dwangle| unicode:: U+029A6 .. OBLIQUE ANGLE OPENING UP
|
||||
.. |elinters| unicode:: U+0FFFD .. REPLACEMENT CHARACTER
|
||||
.. |epar| unicode:: U+022D5 .. EQUAL AND PARALLEL TO
|
||||
.. |eparsl| unicode:: U+029E3 .. EQUALS SIGN AND SLANTED PARALLEL
|
||||
.. |equiv| unicode:: U+02261 .. IDENTICAL TO
|
||||
.. |eqvparsl| unicode:: U+029E5 .. IDENTICAL TO AND SLANTED PARALLEL
|
||||
.. |exist| unicode:: U+02203 .. THERE EXISTS
|
||||
.. |fltns| unicode:: U+025B1 .. WHITE PARALLELOGRAM
|
||||
.. |fnof| unicode:: U+00192 .. LATIN SMALL LETTER F WITH HOOK
|
||||
.. |forall| unicode:: U+02200 .. FOR ALL
|
||||
.. |fpartint| unicode:: U+02A0D .. FINITE PART INTEGRAL
|
||||
.. |ge| unicode:: U+02265 .. GREATER-THAN OR EQUAL TO
|
||||
.. |hamilt| unicode:: U+0210B .. SCRIPT CAPITAL H
|
||||
.. |iff| unicode:: U+021D4 .. LEFT RIGHT DOUBLE ARROW
|
||||
.. |iinfin| unicode:: U+029DC .. INCOMPLETE INFINITY
|
||||
.. |imped| unicode:: U+001B5 .. LATIN CAPITAL LETTER Z WITH STROKE
|
||||
.. |infin| unicode:: U+0221E .. INFINITY
|
||||
.. |infintie| unicode:: U+029DD .. TIE OVER INFINITY
|
||||
.. |Int| unicode:: U+0222C .. DOUBLE INTEGRAL
|
||||
.. |int| unicode:: U+0222B .. INTEGRAL
|
||||
.. |intlarhk| unicode:: U+02A17 .. INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
|
||||
.. |isin| unicode:: U+02208 .. ELEMENT OF
|
||||
.. |isindot| unicode:: U+022F5 .. ELEMENT OF WITH DOT ABOVE
|
||||
.. |isinE| unicode:: U+022F9 .. ELEMENT OF WITH TWO HORIZONTAL STROKES
|
||||
.. |isins| unicode:: U+022F4 .. SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
|
||||
.. |isinsv| unicode:: U+022F3 .. ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
|
||||
.. |isinv| unicode:: U+02208 .. ELEMENT OF
|
||||
.. |lagran| unicode:: U+02112 .. SCRIPT CAPITAL L
|
||||
.. |Lang| unicode:: U+0300A .. LEFT DOUBLE ANGLE BRACKET
|
||||
.. |lang| unicode:: U+02329 .. LEFT-POINTING ANGLE BRACKET
|
||||
.. |lArr| unicode:: U+021D0 .. LEFTWARDS DOUBLE ARROW
|
||||
.. |lbbrk| unicode:: U+03014 .. LEFT TORTOISE SHELL BRACKET
|
||||
.. |le| unicode:: U+02264 .. LESS-THAN OR EQUAL TO
|
||||
.. |loang| unicode:: U+03018 .. LEFT WHITE TORTOISE SHELL BRACKET
|
||||
.. |lobrk| unicode:: U+0301A .. LEFT WHITE SQUARE BRACKET
|
||||
.. |lopar| unicode:: U+02985 .. LEFT WHITE PARENTHESIS
|
||||
.. |lowast| unicode:: U+02217 .. ASTERISK OPERATOR
|
||||
.. |minus| unicode:: U+02212 .. MINUS SIGN
|
||||
.. |mnplus| unicode:: U+02213 .. MINUS-OR-PLUS SIGN
|
||||
.. |nabla| unicode:: U+02207 .. NABLA
|
||||
.. |ne| unicode:: U+02260 .. NOT EQUAL TO
|
||||
.. |nedot| unicode:: U+02250 U+00338 .. APPROACHES THE LIMIT with slash
|
||||
.. |nhpar| unicode:: U+02AF2 .. PARALLEL WITH HORIZONTAL STROKE
|
||||
.. |ni| unicode:: U+0220B .. CONTAINS AS MEMBER
|
||||
.. |nis| unicode:: U+022FC .. SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
|
||||
.. |nisd| unicode:: U+022FA .. CONTAINS WITH LONG HORIZONTAL STROKE
|
||||
.. |niv| unicode:: U+0220B .. CONTAINS AS MEMBER
|
||||
.. |Not| unicode:: U+02AEC .. DOUBLE STROKE NOT SIGN
|
||||
.. |notin| unicode:: U+02209 .. NOT AN ELEMENT OF
|
||||
.. |notindot| unicode:: U+022F5 U+00338 .. ELEMENT OF WITH DOT ABOVE with slash
|
||||
.. |notinE| unicode:: U+022F9 U+00338 .. ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
|
||||
.. |notinva| unicode:: U+02209 .. NOT AN ELEMENT OF
|
||||
.. |notinvb| unicode:: U+022F7 .. SMALL ELEMENT OF WITH OVERBAR
|
||||
.. |notinvc| unicode:: U+022F6 .. ELEMENT OF WITH OVERBAR
|
||||
.. |notni| unicode:: U+0220C .. DOES NOT CONTAIN AS MEMBER
|
||||
.. |notniva| unicode:: U+0220C .. DOES NOT CONTAIN AS MEMBER
|
||||
.. |notnivb| unicode:: U+022FE .. SMALL CONTAINS WITH OVERBAR
|
||||
.. |notnivc| unicode:: U+022FD .. CONTAINS WITH OVERBAR
|
||||
.. |nparsl| unicode:: U+02AFD U+020E5 .. DOUBLE SOLIDUS OPERATOR with reverse slash
|
||||
.. |npart| unicode:: U+02202 U+00338 .. PARTIAL DIFFERENTIAL with slash
|
||||
.. |npolint| unicode:: U+02A14 .. LINE INTEGRATION NOT INCLUDING THE POLE
|
||||
.. |nvinfin| unicode:: U+029DE .. INFINITY NEGATED WITH VERTICAL BAR
|
||||
.. |olcross| unicode:: U+029BB .. CIRCLE WITH SUPERIMPOSED X
|
||||
.. |Or| unicode:: U+02A54 .. DOUBLE LOGICAL OR
|
||||
.. |or| unicode:: U+02228 .. LOGICAL OR
|
||||
.. |ord| unicode:: U+02A5D .. LOGICAL OR WITH HORIZONTAL DASH
|
||||
.. |order| unicode:: U+02134 .. SCRIPT SMALL O
|
||||
.. |oror| unicode:: U+02A56 .. TWO INTERSECTING LOGICAL OR
|
||||
.. |orslope| unicode:: U+02A57 .. SLOPING LARGE OR
|
||||
.. |orv| unicode:: U+02A5B .. LOGICAL OR WITH MIDDLE STEM
|
||||
.. |par| unicode:: U+02225 .. PARALLEL TO
|
||||
.. |parsl| unicode:: U+02AFD .. DOUBLE SOLIDUS OPERATOR
|
||||
.. |part| unicode:: U+02202 .. PARTIAL DIFFERENTIAL
|
||||
.. |permil| unicode:: U+02030 .. PER MILLE SIGN
|
||||
.. |perp| unicode:: U+022A5 .. UP TACK
|
||||
.. |pertenk| unicode:: U+02031 .. PER TEN THOUSAND SIGN
|
||||
.. |phmmat| unicode:: U+02133 .. SCRIPT CAPITAL M
|
||||
.. |pointint| unicode:: U+02A15 .. INTEGRAL AROUND A POINT OPERATOR
|
||||
.. |Prime| unicode:: U+02033 .. DOUBLE PRIME
|
||||
.. |prime| unicode:: U+02032 .. PRIME
|
||||
.. |profalar| unicode:: U+0232E .. ALL AROUND-PROFILE
|
||||
.. |profline| unicode:: U+02312 .. ARC
|
||||
.. |profsurf| unicode:: U+02313 .. SEGMENT
|
||||
.. |prop| unicode:: U+0221D .. PROPORTIONAL TO
|
||||
.. |qint| unicode:: U+02A0C .. QUADRUPLE INTEGRAL OPERATOR
|
||||
.. |qprime| unicode:: U+02057 .. QUADRUPLE PRIME
|
||||
.. |quatint| unicode:: U+02A16 .. QUATERNION INTEGRAL OPERATOR
|
||||
.. |radic| unicode:: U+0221A .. SQUARE ROOT
|
||||
.. |Rang| unicode:: U+0300B .. RIGHT DOUBLE ANGLE BRACKET
|
||||
.. |rang| unicode:: U+0232A .. RIGHT-POINTING ANGLE BRACKET
|
||||
.. |rArr| unicode:: U+021D2 .. RIGHTWARDS DOUBLE ARROW
|
||||
.. |rbbrk| unicode:: U+03015 .. RIGHT TORTOISE SHELL BRACKET
|
||||
.. |roang| unicode:: U+03019 .. RIGHT WHITE TORTOISE SHELL BRACKET
|
||||
.. |robrk| unicode:: U+0301B .. RIGHT WHITE SQUARE BRACKET
|
||||
.. |ropar| unicode:: U+02986 .. RIGHT WHITE PARENTHESIS
|
||||
.. |rppolint| unicode:: U+02A12 .. LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
|
||||
.. |scpolint| unicode:: U+02A13 .. LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
|
||||
.. |sim| unicode:: U+0223C .. TILDE OPERATOR
|
||||
.. |simdot| unicode:: U+02A6A .. TILDE OPERATOR WITH DOT ABOVE
|
||||
.. |sime| unicode:: U+02243 .. ASYMPTOTICALLY EQUAL TO
|
||||
.. |smeparsl| unicode:: U+029E4 .. EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
|
||||
.. |square| unicode:: U+025A1 .. WHITE SQUARE
|
||||
.. |squarf| unicode:: U+025AA .. BLACK SMALL SQUARE
|
||||
.. |strns| unicode:: U+000AF .. MACRON
|
||||
.. |sub| unicode:: U+02282 .. SUBSET OF
|
||||
.. |sube| unicode:: U+02286 .. SUBSET OF OR EQUAL TO
|
||||
.. |sup| unicode:: U+02283 .. SUPERSET OF
|
||||
.. |supe| unicode:: U+02287 .. SUPERSET OF OR EQUAL TO
|
||||
.. |tdot| unicode:: U+020DB .. COMBINING THREE DOTS ABOVE
|
||||
.. |there4| unicode:: U+02234 .. THEREFORE
|
||||
.. |tint| unicode:: U+0222D .. TRIPLE INTEGRAL
|
||||
.. |top| unicode:: U+022A4 .. DOWN TACK
|
||||
.. |topbot| unicode:: U+02336 .. APL FUNCTIONAL SYMBOL I-BEAM
|
||||
.. |topcir| unicode:: U+02AF1 .. DOWN TACK WITH CIRCLE BELOW
|
||||
.. |tprime| unicode:: U+02034 .. TRIPLE PRIME
|
||||
.. |utdot| unicode:: U+022F0 .. UP RIGHT DIAGONAL ELLIPSIS
|
||||
.. |uwangle| unicode:: U+029A7 .. OBLIQUE ANGLE OPENING DOWN
|
||||
.. |vangrt| unicode:: U+0299C .. RIGHT ANGLE VARIANT WITH SQUARE
|
||||
.. |veeeq| unicode:: U+0225A .. EQUIANGULAR TO
|
||||
.. |Verbar| unicode:: U+02016 .. DOUBLE VERTICAL LINE
|
||||
.. |wedgeq| unicode:: U+02259 .. ESTIMATES
|
||||
.. |xnis| unicode:: U+022FB .. CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
|
554
docutils/parsers/rst/include/mmlalias.txt
Normal file
554
docutils/parsers/rst/include/mmlalias.txt
Normal file
|
@ -0,0 +1,554 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |angle| unicode:: U+02220 .. ANGLE
|
||||
.. |ApplyFunction| unicode:: U+02061 .. FUNCTION APPLICATION
|
||||
.. |approx| unicode:: U+02248 .. ALMOST EQUAL TO
|
||||
.. |approxeq| unicode:: U+0224A .. ALMOST EQUAL OR EQUAL TO
|
||||
.. |Assign| unicode:: U+02254 .. COLON EQUALS
|
||||
.. |backcong| unicode:: U+0224C .. ALL EQUAL TO
|
||||
.. |backepsilon| unicode:: U+003F6 .. GREEK REVERSED LUNATE EPSILON SYMBOL
|
||||
.. |backprime| unicode:: U+02035 .. REVERSED PRIME
|
||||
.. |backsim| unicode:: U+0223D .. REVERSED TILDE
|
||||
.. |backsimeq| unicode:: U+022CD .. REVERSED TILDE EQUALS
|
||||
.. |Backslash| unicode:: U+02216 .. SET MINUS
|
||||
.. |barwedge| unicode:: U+02305 .. PROJECTIVE
|
||||
.. |Because| unicode:: U+02235 .. BECAUSE
|
||||
.. |because| unicode:: U+02235 .. BECAUSE
|
||||
.. |Bernoullis| unicode:: U+0212C .. SCRIPT CAPITAL B
|
||||
.. |between| unicode:: U+0226C .. BETWEEN
|
||||
.. |bigcap| unicode:: U+022C2 .. N-ARY INTERSECTION
|
||||
.. |bigcirc| unicode:: U+025EF .. LARGE CIRCLE
|
||||
.. |bigcup| unicode:: U+022C3 .. N-ARY UNION
|
||||
.. |bigodot| unicode:: U+02A00 .. N-ARY CIRCLED DOT OPERATOR
|
||||
.. |bigoplus| unicode:: U+02A01 .. N-ARY CIRCLED PLUS OPERATOR
|
||||
.. |bigotimes| unicode:: U+02A02 .. N-ARY CIRCLED TIMES OPERATOR
|
||||
.. |bigsqcup| unicode:: U+02A06 .. N-ARY SQUARE UNION OPERATOR
|
||||
.. |bigstar| unicode:: U+02605 .. BLACK STAR
|
||||
.. |bigtriangledown| unicode:: U+025BD .. WHITE DOWN-POINTING TRIANGLE
|
||||
.. |bigtriangleup| unicode:: U+025B3 .. WHITE UP-POINTING TRIANGLE
|
||||
.. |biguplus| unicode:: U+02A04 .. N-ARY UNION OPERATOR WITH PLUS
|
||||
.. |bigvee| unicode:: U+022C1 .. N-ARY LOGICAL OR
|
||||
.. |bigwedge| unicode:: U+022C0 .. N-ARY LOGICAL AND
|
||||
.. |bkarow| unicode:: U+0290D .. RIGHTWARDS DOUBLE DASH ARROW
|
||||
.. |blacklozenge| unicode:: U+029EB .. BLACK LOZENGE
|
||||
.. |blacksquare| unicode:: U+025AA .. BLACK SMALL SQUARE
|
||||
.. |blacktriangle| unicode:: U+025B4 .. BLACK UP-POINTING SMALL TRIANGLE
|
||||
.. |blacktriangledown| unicode:: U+025BE .. BLACK DOWN-POINTING SMALL TRIANGLE
|
||||
.. |blacktriangleleft| unicode:: U+025C2 .. BLACK LEFT-POINTING SMALL TRIANGLE
|
||||
.. |blacktriangleright| unicode:: U+025B8 .. BLACK RIGHT-POINTING SMALL TRIANGLE
|
||||
.. |bot| unicode:: U+022A5 .. UP TACK
|
||||
.. |boxminus| unicode:: U+0229F .. SQUARED MINUS
|
||||
.. |boxplus| unicode:: U+0229E .. SQUARED PLUS
|
||||
.. |boxtimes| unicode:: U+022A0 .. SQUARED TIMES
|
||||
.. |Breve| unicode:: U+002D8 .. BREVE
|
||||
.. |bullet| unicode:: U+02022 .. BULLET
|
||||
.. |Bumpeq| unicode:: U+0224E .. GEOMETRICALLY EQUIVALENT TO
|
||||
.. |bumpeq| unicode:: U+0224F .. DIFFERENCE BETWEEN
|
||||
.. |CapitalDifferentialD| unicode:: U+02145 .. DOUBLE-STRUCK ITALIC CAPITAL D
|
||||
.. |Cayleys| unicode:: U+0212D .. BLACK-LETTER CAPITAL C
|
||||
.. |Cedilla| unicode:: U+000B8 .. CEDILLA
|
||||
.. |CenterDot| unicode:: U+000B7 .. MIDDLE DOT
|
||||
.. |centerdot| unicode:: U+000B7 .. MIDDLE DOT
|
||||
.. |checkmark| unicode:: U+02713 .. CHECK MARK
|
||||
.. |circeq| unicode:: U+02257 .. RING EQUAL TO
|
||||
.. |circlearrowleft| unicode:: U+021BA .. ANTICLOCKWISE OPEN CIRCLE ARROW
|
||||
.. |circlearrowright| unicode:: U+021BB .. CLOCKWISE OPEN CIRCLE ARROW
|
||||
.. |circledast| unicode:: U+0229B .. CIRCLED ASTERISK OPERATOR
|
||||
.. |circledcirc| unicode:: U+0229A .. CIRCLED RING OPERATOR
|
||||
.. |circleddash| unicode:: U+0229D .. CIRCLED DASH
|
||||
.. |CircleDot| unicode:: U+02299 .. CIRCLED DOT OPERATOR
|
||||
.. |circledR| unicode:: U+000AE .. REGISTERED SIGN
|
||||
.. |circledS| unicode:: U+024C8 .. CIRCLED LATIN CAPITAL LETTER S
|
||||
.. |CircleMinus| unicode:: U+02296 .. CIRCLED MINUS
|
||||
.. |CirclePlus| unicode:: U+02295 .. CIRCLED PLUS
|
||||
.. |CircleTimes| unicode:: U+02297 .. CIRCLED TIMES
|
||||
.. |ClockwiseContourIntegral| unicode:: U+02232 .. CLOCKWISE CONTOUR INTEGRAL
|
||||
.. |CloseCurlyDoubleQuote| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARK
|
||||
.. |CloseCurlyQuote| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARK
|
||||
.. |clubsuit| unicode:: U+02663 .. BLACK CLUB SUIT
|
||||
.. |coloneq| unicode:: U+02254 .. COLON EQUALS
|
||||
.. |complement| unicode:: U+02201 .. COMPLEMENT
|
||||
.. |complexes| unicode:: U+02102 .. DOUBLE-STRUCK CAPITAL C
|
||||
.. |Congruent| unicode:: U+02261 .. IDENTICAL TO
|
||||
.. |ContourIntegral| unicode:: U+0222E .. CONTOUR INTEGRAL
|
||||
.. |Coproduct| unicode:: U+02210 .. N-ARY COPRODUCT
|
||||
.. |CounterClockwiseContourIntegral| unicode:: U+02233 .. ANTICLOCKWISE CONTOUR INTEGRAL
|
||||
.. |CupCap| unicode:: U+0224D .. EQUIVALENT TO
|
||||
.. |curlyeqprec| unicode:: U+022DE .. EQUAL TO OR PRECEDES
|
||||
.. |curlyeqsucc| unicode:: U+022DF .. EQUAL TO OR SUCCEEDS
|
||||
.. |curlyvee| unicode:: U+022CE .. CURLY LOGICAL OR
|
||||
.. |curlywedge| unicode:: U+022CF .. CURLY LOGICAL AND
|
||||
.. |curvearrowleft| unicode:: U+021B6 .. ANTICLOCKWISE TOP SEMICIRCLE ARROW
|
||||
.. |curvearrowright| unicode:: U+021B7 .. CLOCKWISE TOP SEMICIRCLE ARROW
|
||||
.. |dbkarow| unicode:: U+0290F .. RIGHTWARDS TRIPLE DASH ARROW
|
||||
.. |ddagger| unicode:: U+02021 .. DOUBLE DAGGER
|
||||
.. |ddotseq| unicode:: U+02A77 .. EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
|
||||
.. |Del| unicode:: U+02207 .. NABLA
|
||||
.. |DiacriticalAcute| unicode:: U+000B4 .. ACUTE ACCENT
|
||||
.. |DiacriticalDot| unicode:: U+002D9 .. DOT ABOVE
|
||||
.. |DiacriticalDoubleAcute| unicode:: U+002DD .. DOUBLE ACUTE ACCENT
|
||||
.. |DiacriticalGrave| unicode:: U+00060 .. GRAVE ACCENT
|
||||
.. |DiacriticalTilde| unicode:: U+002DC .. SMALL TILDE
|
||||
.. |Diamond| unicode:: U+022C4 .. DIAMOND OPERATOR
|
||||
.. |diamond| unicode:: U+022C4 .. DIAMOND OPERATOR
|
||||
.. |diamondsuit| unicode:: U+02666 .. BLACK DIAMOND SUIT
|
||||
.. |DifferentialD| unicode:: U+02146 .. DOUBLE-STRUCK ITALIC SMALL D
|
||||
.. |digamma| unicode:: U+003DD .. GREEK SMALL LETTER DIGAMMA
|
||||
.. |div| unicode:: U+000F7 .. DIVISION SIGN
|
||||
.. |divideontimes| unicode:: U+022C7 .. DIVISION TIMES
|
||||
.. |doteq| unicode:: U+02250 .. APPROACHES THE LIMIT
|
||||
.. |doteqdot| unicode:: U+02251 .. GEOMETRICALLY EQUAL TO
|
||||
.. |DotEqual| unicode:: U+02250 .. APPROACHES THE LIMIT
|
||||
.. |dotminus| unicode:: U+02238 .. DOT MINUS
|
||||
.. |dotplus| unicode:: U+02214 .. DOT PLUS
|
||||
.. |dotsquare| unicode:: U+022A1 .. SQUARED DOT OPERATOR
|
||||
.. |doublebarwedge| unicode:: U+02306 .. PERSPECTIVE
|
||||
.. |DoubleContourIntegral| unicode:: U+0222F .. SURFACE INTEGRAL
|
||||
.. |DoubleDot| unicode:: U+000A8 .. DIAERESIS
|
||||
.. |DoubleDownArrow| unicode:: U+021D3 .. DOWNWARDS DOUBLE ARROW
|
||||
.. |DoubleLeftArrow| unicode:: U+021D0 .. LEFTWARDS DOUBLE ARROW
|
||||
.. |DoubleLeftRightArrow| unicode:: U+021D4 .. LEFT RIGHT DOUBLE ARROW
|
||||
.. |DoubleLeftTee| unicode:: U+02AE4 .. VERTICAL BAR DOUBLE LEFT TURNSTILE
|
||||
.. |DoubleLongLeftArrow| unicode:: U+027F8 .. LONG LEFTWARDS DOUBLE ARROW
|
||||
.. |DoubleLongLeftRightArrow| unicode:: U+027FA .. LONG LEFT RIGHT DOUBLE ARROW
|
||||
.. |DoubleLongRightArrow| unicode:: U+027F9 .. LONG RIGHTWARDS DOUBLE ARROW
|
||||
.. |DoubleRightArrow| unicode:: U+021D2 .. RIGHTWARDS DOUBLE ARROW
|
||||
.. |DoubleRightTee| unicode:: U+022A8 .. TRUE
|
||||
.. |DoubleUpArrow| unicode:: U+021D1 .. UPWARDS DOUBLE ARROW
|
||||
.. |DoubleUpDownArrow| unicode:: U+021D5 .. UP DOWN DOUBLE ARROW
|
||||
.. |DoubleVerticalBar| unicode:: U+02225 .. PARALLEL TO
|
||||
.. |DownArrow| unicode:: U+02193 .. DOWNWARDS ARROW
|
||||
.. |Downarrow| unicode:: U+021D3 .. DOWNWARDS DOUBLE ARROW
|
||||
.. |downarrow| unicode:: U+02193 .. DOWNWARDS ARROW
|
||||
.. |DownArrowUpArrow| unicode:: U+021F5 .. DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
|
||||
.. |downdownarrows| unicode:: U+021CA .. DOWNWARDS PAIRED ARROWS
|
||||
.. |downharpoonleft| unicode:: U+021C3 .. DOWNWARDS HARPOON WITH BARB LEFTWARDS
|
||||
.. |downharpoonright| unicode:: U+021C2 .. DOWNWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
.. |DownLeftVector| unicode:: U+021BD .. LEFTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
.. |DownRightVector| unicode:: U+021C1 .. RIGHTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
.. |DownTee| unicode:: U+022A4 .. DOWN TACK
|
||||
.. |DownTeeArrow| unicode:: U+021A7 .. DOWNWARDS ARROW FROM BAR
|
||||
.. |drbkarow| unicode:: U+02910 .. RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
|
||||
.. |Element| unicode:: U+02208 .. ELEMENT OF
|
||||
.. |emptyset| unicode:: U+02205 .. EMPTY SET
|
||||
.. |eqcirc| unicode:: U+02256 .. RING IN EQUAL TO
|
||||
.. |eqcolon| unicode:: U+02255 .. EQUALS COLON
|
||||
.. |eqsim| unicode:: U+02242 .. MINUS TILDE
|
||||
.. |eqslantgtr| unicode:: U+02A96 .. SLANTED EQUAL TO OR GREATER-THAN
|
||||
.. |eqslantless| unicode:: U+02A95 .. SLANTED EQUAL TO OR LESS-THAN
|
||||
.. |EqualTilde| unicode:: U+02242 .. MINUS TILDE
|
||||
.. |Equilibrium| unicode:: U+021CC .. RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
|
||||
.. |Exists| unicode:: U+02203 .. THERE EXISTS
|
||||
.. |expectation| unicode:: U+02130 .. SCRIPT CAPITAL E
|
||||
.. |ExponentialE| unicode:: U+02147 .. DOUBLE-STRUCK ITALIC SMALL E
|
||||
.. |exponentiale| unicode:: U+02147 .. DOUBLE-STRUCK ITALIC SMALL E
|
||||
.. |fallingdotseq| unicode:: U+02252 .. APPROXIMATELY EQUAL TO OR THE IMAGE OF
|
||||
.. |ForAll| unicode:: U+02200 .. FOR ALL
|
||||
.. |Fouriertrf| unicode:: U+02131 .. SCRIPT CAPITAL F
|
||||
.. |geq| unicode:: U+02265 .. GREATER-THAN OR EQUAL TO
|
||||
.. |geqq| unicode:: U+02267 .. GREATER-THAN OVER EQUAL TO
|
||||
.. |geqslant| unicode:: U+02A7E .. GREATER-THAN OR SLANTED EQUAL TO
|
||||
.. |gg| unicode:: U+0226B .. MUCH GREATER-THAN
|
||||
.. |ggg| unicode:: U+022D9 .. VERY MUCH GREATER-THAN
|
||||
.. |gnapprox| unicode:: U+02A8A .. GREATER-THAN AND NOT APPROXIMATE
|
||||
.. |gneq| unicode:: U+02A88 .. GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
|
||||
.. |gneqq| unicode:: U+02269 .. GREATER-THAN BUT NOT EQUAL TO
|
||||
.. |GreaterEqual| unicode:: U+02265 .. GREATER-THAN OR EQUAL TO
|
||||
.. |GreaterEqualLess| unicode:: U+022DB .. GREATER-THAN EQUAL TO OR LESS-THAN
|
||||
.. |GreaterFullEqual| unicode:: U+02267 .. GREATER-THAN OVER EQUAL TO
|
||||
.. |GreaterLess| unicode:: U+02277 .. GREATER-THAN OR LESS-THAN
|
||||
.. |GreaterSlantEqual| unicode:: U+02A7E .. GREATER-THAN OR SLANTED EQUAL TO
|
||||
.. |GreaterTilde| unicode:: U+02273 .. GREATER-THAN OR EQUIVALENT TO
|
||||
.. |gtrapprox| unicode:: U+02A86 .. GREATER-THAN OR APPROXIMATE
|
||||
.. |gtrdot| unicode:: U+022D7 .. GREATER-THAN WITH DOT
|
||||
.. |gtreqless| unicode:: U+022DB .. GREATER-THAN EQUAL TO OR LESS-THAN
|
||||
.. |gtreqqless| unicode:: U+02A8C .. GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
|
||||
.. |gtrless| unicode:: U+02277 .. GREATER-THAN OR LESS-THAN
|
||||
.. |gtrsim| unicode:: U+02273 .. GREATER-THAN OR EQUIVALENT TO
|
||||
.. |gvertneqq| unicode:: U+02269 U+0FE00 .. GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
|
||||
.. |Hacek| unicode:: U+002C7 .. CARON
|
||||
.. |hbar| unicode:: U+0210F .. PLANCK CONSTANT OVER TWO PI
|
||||
.. |heartsuit| unicode:: U+02665 .. BLACK HEART SUIT
|
||||
.. |HilbertSpace| unicode:: U+0210B .. SCRIPT CAPITAL H
|
||||
.. |hksearow| unicode:: U+02925 .. SOUTH EAST ARROW WITH HOOK
|
||||
.. |hkswarow| unicode:: U+02926 .. SOUTH WEST ARROW WITH HOOK
|
||||
.. |hookleftarrow| unicode:: U+021A9 .. LEFTWARDS ARROW WITH HOOK
|
||||
.. |hookrightarrow| unicode:: U+021AA .. RIGHTWARDS ARROW WITH HOOK
|
||||
.. |hslash| unicode:: U+0210F .. PLANCK CONSTANT OVER TWO PI
|
||||
.. |HumpDownHump| unicode:: U+0224E .. GEOMETRICALLY EQUIVALENT TO
|
||||
.. |HumpEqual| unicode:: U+0224F .. DIFFERENCE BETWEEN
|
||||
.. |iiiint| unicode:: U+02A0C .. QUADRUPLE INTEGRAL OPERATOR
|
||||
.. |iiint| unicode:: U+0222D .. TRIPLE INTEGRAL
|
||||
.. |Im| unicode:: U+02111 .. BLACK-LETTER CAPITAL I
|
||||
.. |ImaginaryI| unicode:: U+02148 .. DOUBLE-STRUCK ITALIC SMALL I
|
||||
.. |imagline| unicode:: U+02110 .. SCRIPT CAPITAL I
|
||||
.. |imagpart| unicode:: U+02111 .. BLACK-LETTER CAPITAL I
|
||||
.. |Implies| unicode:: U+021D2 .. RIGHTWARDS DOUBLE ARROW
|
||||
.. |in| unicode:: U+02208 .. ELEMENT OF
|
||||
.. |integers| unicode:: U+02124 .. DOUBLE-STRUCK CAPITAL Z
|
||||
.. |Integral| unicode:: U+0222B .. INTEGRAL
|
||||
.. |intercal| unicode:: U+022BA .. INTERCALATE
|
||||
.. |Intersection| unicode:: U+022C2 .. N-ARY INTERSECTION
|
||||
.. |intprod| unicode:: U+02A3C .. INTERIOR PRODUCT
|
||||
.. |InvisibleComma| unicode:: U+02063 .. INVISIBLE SEPARATOR
|
||||
.. |InvisibleTimes| unicode:: U+02062 .. INVISIBLE TIMES
|
||||
.. |langle| unicode:: U+02329 .. LEFT-POINTING ANGLE BRACKET
|
||||
.. |Laplacetrf| unicode:: U+02112 .. SCRIPT CAPITAL L
|
||||
.. |lbrace| unicode:: U+0007B .. LEFT CURLY BRACKET
|
||||
.. |lbrack| unicode:: U+0005B .. LEFT SQUARE BRACKET
|
||||
.. |LeftAngleBracket| unicode:: U+02329 .. LEFT-POINTING ANGLE BRACKET
|
||||
.. |LeftArrow| unicode:: U+02190 .. LEFTWARDS ARROW
|
||||
.. |Leftarrow| unicode:: U+021D0 .. LEFTWARDS DOUBLE ARROW
|
||||
.. |leftarrow| unicode:: U+02190 .. LEFTWARDS ARROW
|
||||
.. |LeftArrowBar| unicode:: U+021E4 .. LEFTWARDS ARROW TO BAR
|
||||
.. |LeftArrowRightArrow| unicode:: U+021C6 .. LEFTWARDS ARROW OVER RIGHTWARDS ARROW
|
||||
.. |leftarrowtail| unicode:: U+021A2 .. LEFTWARDS ARROW WITH TAIL
|
||||
.. |LeftCeiling| unicode:: U+02308 .. LEFT CEILING
|
||||
.. |LeftDoubleBracket| unicode:: U+0301A .. LEFT WHITE SQUARE BRACKET
|
||||
.. |LeftDownVector| unicode:: U+021C3 .. DOWNWARDS HARPOON WITH BARB LEFTWARDS
|
||||
.. |LeftFloor| unicode:: U+0230A .. LEFT FLOOR
|
||||
.. |leftharpoondown| unicode:: U+021BD .. LEFTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
.. |leftharpoonup| unicode:: U+021BC .. LEFTWARDS HARPOON WITH BARB UPWARDS
|
||||
.. |leftleftarrows| unicode:: U+021C7 .. LEFTWARDS PAIRED ARROWS
|
||||
.. |LeftRightArrow| unicode:: U+02194 .. LEFT RIGHT ARROW
|
||||
.. |Leftrightarrow| unicode:: U+021D4 .. LEFT RIGHT DOUBLE ARROW
|
||||
.. |leftrightarrow| unicode:: U+02194 .. LEFT RIGHT ARROW
|
||||
.. |leftrightarrows| unicode:: U+021C6 .. LEFTWARDS ARROW OVER RIGHTWARDS ARROW
|
||||
.. |leftrightharpoons| unicode:: U+021CB .. LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
|
||||
.. |leftrightsquigarrow| unicode:: U+021AD .. LEFT RIGHT WAVE ARROW
|
||||
.. |LeftTee| unicode:: U+022A3 .. LEFT TACK
|
||||
.. |LeftTeeArrow| unicode:: U+021A4 .. LEFTWARDS ARROW FROM BAR
|
||||
.. |leftthreetimes| unicode:: U+022CB .. LEFT SEMIDIRECT PRODUCT
|
||||
.. |LeftTriangle| unicode:: U+022B2 .. NORMAL SUBGROUP OF
|
||||
.. |LeftTriangleEqual| unicode:: U+022B4 .. NORMAL SUBGROUP OF OR EQUAL TO
|
||||
.. |LeftUpVector| unicode:: U+021BF .. UPWARDS HARPOON WITH BARB LEFTWARDS
|
||||
.. |LeftVector| unicode:: U+021BC .. LEFTWARDS HARPOON WITH BARB UPWARDS
|
||||
.. |leq| unicode:: U+02264 .. LESS-THAN OR EQUAL TO
|
||||
.. |leqq| unicode:: U+02266 .. LESS-THAN OVER EQUAL TO
|
||||
.. |leqslant| unicode:: U+02A7D .. LESS-THAN OR SLANTED EQUAL TO
|
||||
.. |lessapprox| unicode:: U+02A85 .. LESS-THAN OR APPROXIMATE
|
||||
.. |lessdot| unicode:: U+022D6 .. LESS-THAN WITH DOT
|
||||
.. |lesseqgtr| unicode:: U+022DA .. LESS-THAN EQUAL TO OR GREATER-THAN
|
||||
.. |lesseqqgtr| unicode:: U+02A8B .. LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
|
||||
.. |LessEqualGreater| unicode:: U+022DA .. LESS-THAN EQUAL TO OR GREATER-THAN
|
||||
.. |LessFullEqual| unicode:: U+02266 .. LESS-THAN OVER EQUAL TO
|
||||
.. |LessGreater| unicode:: U+02276 .. LESS-THAN OR GREATER-THAN
|
||||
.. |lessgtr| unicode:: U+02276 .. LESS-THAN OR GREATER-THAN
|
||||
.. |lesssim| unicode:: U+02272 .. LESS-THAN OR EQUIVALENT TO
|
||||
.. |LessSlantEqual| unicode:: U+02A7D .. LESS-THAN OR SLANTED EQUAL TO
|
||||
.. |LessTilde| unicode:: U+02272 .. LESS-THAN OR EQUIVALENT TO
|
||||
.. |ll| unicode:: U+0226A .. MUCH LESS-THAN
|
||||
.. |llcorner| unicode:: U+0231E .. BOTTOM LEFT CORNER
|
||||
.. |Lleftarrow| unicode:: U+021DA .. LEFTWARDS TRIPLE ARROW
|
||||
.. |lmoustache| unicode:: U+023B0 .. UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
|
||||
.. |lnapprox| unicode:: U+02A89 .. LESS-THAN AND NOT APPROXIMATE
|
||||
.. |lneq| unicode:: U+02A87 .. LESS-THAN AND SINGLE-LINE NOT EQUAL TO
|
||||
.. |lneqq| unicode:: U+02268 .. LESS-THAN BUT NOT EQUAL TO
|
||||
.. |LongLeftArrow| unicode:: U+027F5 .. LONG LEFTWARDS ARROW
|
||||
.. |Longleftarrow| unicode:: U+027F8 .. LONG LEFTWARDS DOUBLE ARROW
|
||||
.. |longleftarrow| unicode:: U+027F5 .. LONG LEFTWARDS ARROW
|
||||
.. |LongLeftRightArrow| unicode:: U+027F7 .. LONG LEFT RIGHT ARROW
|
||||
.. |Longleftrightarrow| unicode:: U+027FA .. LONG LEFT RIGHT DOUBLE ARROW
|
||||
.. |longleftrightarrow| unicode:: U+027F7 .. LONG LEFT RIGHT ARROW
|
||||
.. |longmapsto| unicode:: U+027FC .. LONG RIGHTWARDS ARROW FROM BAR
|
||||
.. |LongRightArrow| unicode:: U+027F6 .. LONG RIGHTWARDS ARROW
|
||||
.. |Longrightarrow| unicode:: U+027F9 .. LONG RIGHTWARDS DOUBLE ARROW
|
||||
.. |longrightarrow| unicode:: U+027F6 .. LONG RIGHTWARDS ARROW
|
||||
.. |looparrowleft| unicode:: U+021AB .. LEFTWARDS ARROW WITH LOOP
|
||||
.. |looparrowright| unicode:: U+021AC .. RIGHTWARDS ARROW WITH LOOP
|
||||
.. |LowerLeftArrow| unicode:: U+02199 .. SOUTH WEST ARROW
|
||||
.. |LowerRightArrow| unicode:: U+02198 .. SOUTH EAST ARROW
|
||||
.. |lozenge| unicode:: U+025CA .. LOZENGE
|
||||
.. |lrcorner| unicode:: U+0231F .. BOTTOM RIGHT CORNER
|
||||
.. |Lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS
|
||||
.. |lvertneqq| unicode:: U+02268 U+0FE00 .. LESS-THAN BUT NOT EQUAL TO - with vertical stroke
|
||||
.. |maltese| unicode:: U+02720 .. MALTESE CROSS
|
||||
.. |mapsto| unicode:: U+021A6 .. RIGHTWARDS ARROW FROM BAR
|
||||
.. |measuredangle| unicode:: U+02221 .. MEASURED ANGLE
|
||||
.. |Mellintrf| unicode:: U+02133 .. SCRIPT CAPITAL M
|
||||
.. |MinusPlus| unicode:: U+02213 .. MINUS-OR-PLUS SIGN
|
||||
.. |mp| unicode:: U+02213 .. MINUS-OR-PLUS SIGN
|
||||
.. |multimap| unicode:: U+022B8 .. MULTIMAP
|
||||
.. |napprox| unicode:: U+02249 .. NOT ALMOST EQUAL TO
|
||||
.. |natural| unicode:: U+0266E .. MUSIC NATURAL SIGN
|
||||
.. |naturals| unicode:: U+02115 .. DOUBLE-STRUCK CAPITAL N
|
||||
.. |nearrow| unicode:: U+02197 .. NORTH EAST ARROW
|
||||
.. |NegativeMediumSpace| unicode:: U+0200B .. ZERO WIDTH SPACE
|
||||
.. |NegativeThickSpace| unicode:: U+0200B .. ZERO WIDTH SPACE
|
||||
.. |NegativeThinSpace| unicode:: U+0200B .. ZERO WIDTH SPACE
|
||||
.. |NegativeVeryThinSpace| unicode:: U+0200B .. ZERO WIDTH SPACE
|
||||
.. |NestedGreaterGreater| unicode:: U+0226B .. MUCH GREATER-THAN
|
||||
.. |NestedLessLess| unicode:: U+0226A .. MUCH LESS-THAN
|
||||
.. |nexists| unicode:: U+02204 .. THERE DOES NOT EXIST
|
||||
.. |ngeq| unicode:: U+02271 .. NEITHER GREATER-THAN NOR EQUAL TO
|
||||
.. |ngeqq| unicode:: U+02267 U+00338 .. GREATER-THAN OVER EQUAL TO with slash
|
||||
.. |ngeqslant| unicode:: U+02A7E U+00338 .. GREATER-THAN OR SLANTED EQUAL TO with slash
|
||||
.. |ngtr| unicode:: U+0226F .. NOT GREATER-THAN
|
||||
.. |nLeftarrow| unicode:: U+021CD .. LEFTWARDS DOUBLE ARROW WITH STROKE
|
||||
.. |nleftarrow| unicode:: U+0219A .. LEFTWARDS ARROW WITH STROKE
|
||||
.. |nLeftrightarrow| unicode:: U+021CE .. LEFT RIGHT DOUBLE ARROW WITH STROKE
|
||||
.. |nleftrightarrow| unicode:: U+021AE .. LEFT RIGHT ARROW WITH STROKE
|
||||
.. |nleq| unicode:: U+02270 .. NEITHER LESS-THAN NOR EQUAL TO
|
||||
.. |nleqq| unicode:: U+02266 U+00338 .. LESS-THAN OVER EQUAL TO with slash
|
||||
.. |nleqslant| unicode:: U+02A7D U+00338 .. LESS-THAN OR SLANTED EQUAL TO with slash
|
||||
.. |nless| unicode:: U+0226E .. NOT LESS-THAN
|
||||
.. |NonBreakingSpace| unicode:: U+000A0 .. NO-BREAK SPACE
|
||||
.. |NotCongruent| unicode:: U+02262 .. NOT IDENTICAL TO
|
||||
.. |NotDoubleVerticalBar| unicode:: U+02226 .. NOT PARALLEL TO
|
||||
.. |NotElement| unicode:: U+02209 .. NOT AN ELEMENT OF
|
||||
.. |NotEqual| unicode:: U+02260 .. NOT EQUAL TO
|
||||
.. |NotEqualTilde| unicode:: U+02242 U+00338 .. MINUS TILDE with slash
|
||||
.. |NotExists| unicode:: U+02204 .. THERE DOES NOT EXIST
|
||||
.. |NotGreater| unicode:: U+0226F .. NOT GREATER-THAN
|
||||
.. |NotGreaterEqual| unicode:: U+02271 .. NEITHER GREATER-THAN NOR EQUAL TO
|
||||
.. |NotGreaterFullEqual| unicode:: U+02266 U+00338 .. LESS-THAN OVER EQUAL TO with slash
|
||||
.. |NotGreaterGreater| unicode:: U+0226B U+00338 .. MUCH GREATER THAN with slash
|
||||
.. |NotGreaterLess| unicode:: U+02279 .. NEITHER GREATER-THAN NOR LESS-THAN
|
||||
.. |NotGreaterSlantEqual| unicode:: U+02A7E U+00338 .. GREATER-THAN OR SLANTED EQUAL TO with slash
|
||||
.. |NotGreaterTilde| unicode:: U+02275 .. NEITHER GREATER-THAN NOR EQUIVALENT TO
|
||||
.. |NotHumpDownHump| unicode:: U+0224E U+00338 .. GEOMETRICALLY EQUIVALENT TO with slash
|
||||
.. |NotLeftTriangle| unicode:: U+022EA .. NOT NORMAL SUBGROUP OF
|
||||
.. |NotLeftTriangleEqual| unicode:: U+022EC .. NOT NORMAL SUBGROUP OF OR EQUAL TO
|
||||
.. |NotLess| unicode:: U+0226E .. NOT LESS-THAN
|
||||
.. |NotLessEqual| unicode:: U+02270 .. NEITHER LESS-THAN NOR EQUAL TO
|
||||
.. |NotLessGreater| unicode:: U+02278 .. NEITHER LESS-THAN NOR GREATER-THAN
|
||||
.. |NotLessLess| unicode:: U+0226A U+00338 .. MUCH LESS THAN with slash
|
||||
.. |NotLessSlantEqual| unicode:: U+02A7D U+00338 .. LESS-THAN OR SLANTED EQUAL TO with slash
|
||||
.. |NotLessTilde| unicode:: U+02274 .. NEITHER LESS-THAN NOR EQUIVALENT TO
|
||||
.. |NotPrecedes| unicode:: U+02280 .. DOES NOT PRECEDE
|
||||
.. |NotPrecedesEqual| unicode:: U+02AAF U+00338 .. PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
|
||||
.. |NotPrecedesSlantEqual| unicode:: U+022E0 .. DOES NOT PRECEDE OR EQUAL
|
||||
.. |NotReverseElement| unicode:: U+0220C .. DOES NOT CONTAIN AS MEMBER
|
||||
.. |NotRightTriangle| unicode:: U+022EB .. DOES NOT CONTAIN AS NORMAL SUBGROUP
|
||||
.. |NotRightTriangleEqual| unicode:: U+022ED .. DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
|
||||
.. |NotSquareSubsetEqual| unicode:: U+022E2 .. NOT SQUARE IMAGE OF OR EQUAL TO
|
||||
.. |NotSquareSupersetEqual| unicode:: U+022E3 .. NOT SQUARE ORIGINAL OF OR EQUAL TO
|
||||
.. |NotSubset| unicode:: U+02282 U+020D2 .. SUBSET OF with vertical line
|
||||
.. |NotSubsetEqual| unicode:: U+02288 .. NEITHER A SUBSET OF NOR EQUAL TO
|
||||
.. |NotSucceeds| unicode:: U+02281 .. DOES NOT SUCCEED
|
||||
.. |NotSucceedsEqual| unicode:: U+02AB0 U+00338 .. SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
|
||||
.. |NotSucceedsSlantEqual| unicode:: U+022E1 .. DOES NOT SUCCEED OR EQUAL
|
||||
.. |NotSuperset| unicode:: U+02283 U+020D2 .. SUPERSET OF with vertical line
|
||||
.. |NotSupersetEqual| unicode:: U+02289 .. NEITHER A SUPERSET OF NOR EQUAL TO
|
||||
.. |NotTilde| unicode:: U+02241 .. NOT TILDE
|
||||
.. |NotTildeEqual| unicode:: U+02244 .. NOT ASYMPTOTICALLY EQUAL TO
|
||||
.. |NotTildeFullEqual| unicode:: U+02247 .. NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
|
||||
.. |NotTildeTilde| unicode:: U+02249 .. NOT ALMOST EQUAL TO
|
||||
.. |NotVerticalBar| unicode:: U+02224 .. DOES NOT DIVIDE
|
||||
.. |nparallel| unicode:: U+02226 .. NOT PARALLEL TO
|
||||
.. |nprec| unicode:: U+02280 .. DOES NOT PRECEDE
|
||||
.. |npreceq| unicode:: U+02AAF U+00338 .. PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
|
||||
.. |nRightarrow| unicode:: U+021CF .. RIGHTWARDS DOUBLE ARROW WITH STROKE
|
||||
.. |nrightarrow| unicode:: U+0219B .. RIGHTWARDS ARROW WITH STROKE
|
||||
.. |nshortmid| unicode:: U+02224 .. DOES NOT DIVIDE
|
||||
.. |nshortparallel| unicode:: U+02226 .. NOT PARALLEL TO
|
||||
.. |nsimeq| unicode:: U+02244 .. NOT ASYMPTOTICALLY EQUAL TO
|
||||
.. |nsubset| unicode:: U+02282 U+020D2 .. SUBSET OF with vertical line
|
||||
.. |nsubseteq| unicode:: U+02288 .. NEITHER A SUBSET OF NOR EQUAL TO
|
||||
.. |nsubseteqq| unicode:: U+02AC5 U+00338 .. SUBSET OF ABOVE EQUALS SIGN with slash
|
||||
.. |nsucc| unicode:: U+02281 .. DOES NOT SUCCEED
|
||||
.. |nsucceq| unicode:: U+02AB0 U+00338 .. SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
|
||||
.. |nsupset| unicode:: U+02283 U+020D2 .. SUPERSET OF with vertical line
|
||||
.. |nsupseteq| unicode:: U+02289 .. NEITHER A SUPERSET OF NOR EQUAL TO
|
||||
.. |nsupseteqq| unicode:: U+02AC6 U+00338 .. SUPERSET OF ABOVE EQUALS SIGN with slash
|
||||
.. |ntriangleleft| unicode:: U+022EA .. NOT NORMAL SUBGROUP OF
|
||||
.. |ntrianglelefteq| unicode:: U+022EC .. NOT NORMAL SUBGROUP OF OR EQUAL TO
|
||||
.. |ntriangleright| unicode:: U+022EB .. DOES NOT CONTAIN AS NORMAL SUBGROUP
|
||||
.. |ntrianglerighteq| unicode:: U+022ED .. DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
|
||||
.. |nwarrow| unicode:: U+02196 .. NORTH WEST ARROW
|
||||
.. |oint| unicode:: U+0222E .. CONTOUR INTEGRAL
|
||||
.. |OpenCurlyDoubleQuote| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARK
|
||||
.. |OpenCurlyQuote| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARK
|
||||
.. |orderof| unicode:: U+02134 .. SCRIPT SMALL O
|
||||
.. |parallel| unicode:: U+02225 .. PARALLEL TO
|
||||
.. |PartialD| unicode:: U+02202 .. PARTIAL DIFFERENTIAL
|
||||
.. |pitchfork| unicode:: U+022D4 .. PITCHFORK
|
||||
.. |PlusMinus| unicode:: U+000B1 .. PLUS-MINUS SIGN
|
||||
.. |pm| unicode:: U+000B1 .. PLUS-MINUS SIGN
|
||||
.. |Poincareplane| unicode:: U+0210C .. BLACK-LETTER CAPITAL H
|
||||
.. |prec| unicode:: U+0227A .. PRECEDES
|
||||
.. |precapprox| unicode:: U+02AB7 .. PRECEDES ABOVE ALMOST EQUAL TO
|
||||
.. |preccurlyeq| unicode:: U+0227C .. PRECEDES OR EQUAL TO
|
||||
.. |Precedes| unicode:: U+0227A .. PRECEDES
|
||||
.. |PrecedesEqual| unicode:: U+02AAF .. PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
|
||||
.. |PrecedesSlantEqual| unicode:: U+0227C .. PRECEDES OR EQUAL TO
|
||||
.. |PrecedesTilde| unicode:: U+0227E .. PRECEDES OR EQUIVALENT TO
|
||||
.. |preceq| unicode:: U+02AAF .. PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
|
||||
.. |precnapprox| unicode:: U+02AB9 .. PRECEDES ABOVE NOT ALMOST EQUAL TO
|
||||
.. |precneqq| unicode:: U+02AB5 .. PRECEDES ABOVE NOT EQUAL TO
|
||||
.. |precnsim| unicode:: U+022E8 .. PRECEDES BUT NOT EQUIVALENT TO
|
||||
.. |precsim| unicode:: U+0227E .. PRECEDES OR EQUIVALENT TO
|
||||
.. |primes| unicode:: U+02119 .. DOUBLE-STRUCK CAPITAL P
|
||||
.. |Proportion| unicode:: U+02237 .. PROPORTION
|
||||
.. |Proportional| unicode:: U+0221D .. PROPORTIONAL TO
|
||||
.. |propto| unicode:: U+0221D .. PROPORTIONAL TO
|
||||
.. |quaternions| unicode:: U+0210D .. DOUBLE-STRUCK CAPITAL H
|
||||
.. |questeq| unicode:: U+0225F .. QUESTIONED EQUAL TO
|
||||
.. |rangle| unicode:: U+0232A .. RIGHT-POINTING ANGLE BRACKET
|
||||
.. |rationals| unicode:: U+0211A .. DOUBLE-STRUCK CAPITAL Q
|
||||
.. |rbrace| unicode:: U+0007D .. RIGHT CURLY BRACKET
|
||||
.. |rbrack| unicode:: U+0005D .. RIGHT SQUARE BRACKET
|
||||
.. |Re| unicode:: U+0211C .. BLACK-LETTER CAPITAL R
|
||||
.. |realine| unicode:: U+0211B .. SCRIPT CAPITAL R
|
||||
.. |realpart| unicode:: U+0211C .. BLACK-LETTER CAPITAL R
|
||||
.. |reals| unicode:: U+0211D .. DOUBLE-STRUCK CAPITAL R
|
||||
.. |ReverseElement| unicode:: U+0220B .. CONTAINS AS MEMBER
|
||||
.. |ReverseEquilibrium| unicode:: U+021CB .. LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
|
||||
.. |ReverseUpEquilibrium| unicode:: U+0296F .. DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
|
||||
.. |RightAngleBracket| unicode:: U+0232A .. RIGHT-POINTING ANGLE BRACKET
|
||||
.. |RightArrow| unicode:: U+02192 .. RIGHTWARDS ARROW
|
||||
.. |Rightarrow| unicode:: U+021D2 .. RIGHTWARDS DOUBLE ARROW
|
||||
.. |rightarrow| unicode:: U+02192 .. RIGHTWARDS ARROW
|
||||
.. |RightArrowBar| unicode:: U+021E5 .. RIGHTWARDS ARROW TO BAR
|
||||
.. |RightArrowLeftArrow| unicode:: U+021C4 .. RIGHTWARDS ARROW OVER LEFTWARDS ARROW
|
||||
.. |rightarrowtail| unicode:: U+021A3 .. RIGHTWARDS ARROW WITH TAIL
|
||||
.. |RightCeiling| unicode:: U+02309 .. RIGHT CEILING
|
||||
.. |RightDoubleBracket| unicode:: U+0301B .. RIGHT WHITE SQUARE BRACKET
|
||||
.. |RightDownVector| unicode:: U+021C2 .. DOWNWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
.. |RightFloor| unicode:: U+0230B .. RIGHT FLOOR
|
||||
.. |rightharpoondown| unicode:: U+021C1 .. RIGHTWARDS HARPOON WITH BARB DOWNWARDS
|
||||
.. |rightharpoonup| unicode:: U+021C0 .. RIGHTWARDS HARPOON WITH BARB UPWARDS
|
||||
.. |rightleftarrows| unicode:: U+021C4 .. RIGHTWARDS ARROW OVER LEFTWARDS ARROW
|
||||
.. |rightleftharpoons| unicode:: U+021CC .. RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
|
||||
.. |rightrightarrows| unicode:: U+021C9 .. RIGHTWARDS PAIRED ARROWS
|
||||
.. |rightsquigarrow| unicode:: U+0219D .. RIGHTWARDS WAVE ARROW
|
||||
.. |RightTee| unicode:: U+022A2 .. RIGHT TACK
|
||||
.. |RightTeeArrow| unicode:: U+021A6 .. RIGHTWARDS ARROW FROM BAR
|
||||
.. |rightthreetimes| unicode:: U+022CC .. RIGHT SEMIDIRECT PRODUCT
|
||||
.. |RightTriangle| unicode:: U+022B3 .. CONTAINS AS NORMAL SUBGROUP
|
||||
.. |RightTriangleEqual| unicode:: U+022B5 .. CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
|
||||
.. |RightUpVector| unicode:: U+021BE .. UPWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
.. |RightVector| unicode:: U+021C0 .. RIGHTWARDS HARPOON WITH BARB UPWARDS
|
||||
.. |risingdotseq| unicode:: U+02253 .. IMAGE OF OR APPROXIMATELY EQUAL TO
|
||||
.. |rmoustache| unicode:: U+023B1 .. UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
|
||||
.. |Rrightarrow| unicode:: U+021DB .. RIGHTWARDS TRIPLE ARROW
|
||||
.. |Rsh| unicode:: U+021B1 .. UPWARDS ARROW WITH TIP RIGHTWARDS
|
||||
.. |searrow| unicode:: U+02198 .. SOUTH EAST ARROW
|
||||
.. |setminus| unicode:: U+02216 .. SET MINUS
|
||||
.. |ShortDownArrow| unicode:: U+02193 .. DOWNWARDS ARROW
|
||||
.. |ShortLeftArrow| unicode:: U+02190 .. LEFTWARDS ARROW
|
||||
.. |shortmid| unicode:: U+02223 .. DIVIDES
|
||||
.. |shortparallel| unicode:: U+02225 .. PARALLEL TO
|
||||
.. |ShortRightArrow| unicode:: U+02192 .. RIGHTWARDS ARROW
|
||||
.. |ShortUpArrow| unicode:: U+02191 .. UPWARDS ARROW
|
||||
.. |simeq| unicode:: U+02243 .. ASYMPTOTICALLY EQUAL TO
|
||||
.. |SmallCircle| unicode:: U+02218 .. RING OPERATOR
|
||||
.. |smallsetminus| unicode:: U+02216 .. SET MINUS
|
||||
.. |spadesuit| unicode:: U+02660 .. BLACK SPADE SUIT
|
||||
.. |Sqrt| unicode:: U+0221A .. SQUARE ROOT
|
||||
.. |sqsubset| unicode:: U+0228F .. SQUARE IMAGE OF
|
||||
.. |sqsubseteq| unicode:: U+02291 .. SQUARE IMAGE OF OR EQUAL TO
|
||||
.. |sqsupset| unicode:: U+02290 .. SQUARE ORIGINAL OF
|
||||
.. |sqsupseteq| unicode:: U+02292 .. SQUARE ORIGINAL OF OR EQUAL TO
|
||||
.. |Square| unicode:: U+025A1 .. WHITE SQUARE
|
||||
.. |SquareIntersection| unicode:: U+02293 .. SQUARE CAP
|
||||
.. |SquareSubset| unicode:: U+0228F .. SQUARE IMAGE OF
|
||||
.. |SquareSubsetEqual| unicode:: U+02291 .. SQUARE IMAGE OF OR EQUAL TO
|
||||
.. |SquareSuperset| unicode:: U+02290 .. SQUARE ORIGINAL OF
|
||||
.. |SquareSupersetEqual| unicode:: U+02292 .. SQUARE ORIGINAL OF OR EQUAL TO
|
||||
.. |SquareUnion| unicode:: U+02294 .. SQUARE CUP
|
||||
.. |Star| unicode:: U+022C6 .. STAR OPERATOR
|
||||
.. |straightepsilon| unicode:: U+003F5 .. GREEK LUNATE EPSILON SYMBOL
|
||||
.. |straightphi| unicode:: U+003D5 .. GREEK PHI SYMBOL
|
||||
.. |Subset| unicode:: U+022D0 .. DOUBLE SUBSET
|
||||
.. |subset| unicode:: U+02282 .. SUBSET OF
|
||||
.. |subseteq| unicode:: U+02286 .. SUBSET OF OR EQUAL TO
|
||||
.. |subseteqq| unicode:: U+02AC5 .. SUBSET OF ABOVE EQUALS SIGN
|
||||
.. |SubsetEqual| unicode:: U+02286 .. SUBSET OF OR EQUAL TO
|
||||
.. |subsetneq| unicode:: U+0228A .. SUBSET OF WITH NOT EQUAL TO
|
||||
.. |subsetneqq| unicode:: U+02ACB .. SUBSET OF ABOVE NOT EQUAL TO
|
||||
.. |succ| unicode:: U+0227B .. SUCCEEDS
|
||||
.. |succapprox| unicode:: U+02AB8 .. SUCCEEDS ABOVE ALMOST EQUAL TO
|
||||
.. |succcurlyeq| unicode:: U+0227D .. SUCCEEDS OR EQUAL TO
|
||||
.. |Succeeds| unicode:: U+0227B .. SUCCEEDS
|
||||
.. |SucceedsEqual| unicode:: U+02AB0 .. SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
|
||||
.. |SucceedsSlantEqual| unicode:: U+0227D .. SUCCEEDS OR EQUAL TO
|
||||
.. |SucceedsTilde| unicode:: U+0227F .. SUCCEEDS OR EQUIVALENT TO
|
||||
.. |succeq| unicode:: U+02AB0 .. SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
|
||||
.. |succnapprox| unicode:: U+02ABA .. SUCCEEDS ABOVE NOT ALMOST EQUAL TO
|
||||
.. |succneqq| unicode:: U+02AB6 .. SUCCEEDS ABOVE NOT EQUAL TO
|
||||
.. |succnsim| unicode:: U+022E9 .. SUCCEEDS BUT NOT EQUIVALENT TO
|
||||
.. |succsim| unicode:: U+0227F .. SUCCEEDS OR EQUIVALENT TO
|
||||
.. |SuchThat| unicode:: U+0220B .. CONTAINS AS MEMBER
|
||||
.. |Sum| unicode:: U+02211 .. N-ARY SUMMATION
|
||||
.. |Superset| unicode:: U+02283 .. SUPERSET OF
|
||||
.. |SupersetEqual| unicode:: U+02287 .. SUPERSET OF OR EQUAL TO
|
||||
.. |Supset| unicode:: U+022D1 .. DOUBLE SUPERSET
|
||||
.. |supset| unicode:: U+02283 .. SUPERSET OF
|
||||
.. |supseteq| unicode:: U+02287 .. SUPERSET OF OR EQUAL TO
|
||||
.. |supseteqq| unicode:: U+02AC6 .. SUPERSET OF ABOVE EQUALS SIGN
|
||||
.. |supsetneq| unicode:: U+0228B .. SUPERSET OF WITH NOT EQUAL TO
|
||||
.. |supsetneqq| unicode:: U+02ACC .. SUPERSET OF ABOVE NOT EQUAL TO
|
||||
.. |swarrow| unicode:: U+02199 .. SOUTH WEST ARROW
|
||||
.. |Therefore| unicode:: U+02234 .. THEREFORE
|
||||
.. |therefore| unicode:: U+02234 .. THEREFORE
|
||||
.. |thickapprox| unicode:: U+02248 .. ALMOST EQUAL TO
|
||||
.. |thicksim| unicode:: U+0223C .. TILDE OPERATOR
|
||||
.. |ThinSpace| unicode:: U+02009 .. THIN SPACE
|
||||
.. |Tilde| unicode:: U+0223C .. TILDE OPERATOR
|
||||
.. |TildeEqual| unicode:: U+02243 .. ASYMPTOTICALLY EQUAL TO
|
||||
.. |TildeFullEqual| unicode:: U+02245 .. APPROXIMATELY EQUAL TO
|
||||
.. |TildeTilde| unicode:: U+02248 .. ALMOST EQUAL TO
|
||||
.. |toea| unicode:: U+02928 .. NORTH EAST ARROW AND SOUTH EAST ARROW
|
||||
.. |tosa| unicode:: U+02929 .. SOUTH EAST ARROW AND SOUTH WEST ARROW
|
||||
.. |triangle| unicode:: U+025B5 .. WHITE UP-POINTING SMALL TRIANGLE
|
||||
.. |triangledown| unicode:: U+025BF .. WHITE DOWN-POINTING SMALL TRIANGLE
|
||||
.. |triangleleft| unicode:: U+025C3 .. WHITE LEFT-POINTING SMALL TRIANGLE
|
||||
.. |trianglelefteq| unicode:: U+022B4 .. NORMAL SUBGROUP OF OR EQUAL TO
|
||||
.. |triangleq| unicode:: U+0225C .. DELTA EQUAL TO
|
||||
.. |triangleright| unicode:: U+025B9 .. WHITE RIGHT-POINTING SMALL TRIANGLE
|
||||
.. |trianglerighteq| unicode:: U+022B5 .. CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
|
||||
.. |TripleDot| unicode:: U+020DB .. COMBINING THREE DOTS ABOVE
|
||||
.. |twoheadleftarrow| unicode:: U+0219E .. LEFTWARDS TWO HEADED ARROW
|
||||
.. |twoheadrightarrow| unicode:: U+021A0 .. RIGHTWARDS TWO HEADED ARROW
|
||||
.. |ulcorner| unicode:: U+0231C .. TOP LEFT CORNER
|
||||
.. |Union| unicode:: U+022C3 .. N-ARY UNION
|
||||
.. |UnionPlus| unicode:: U+0228E .. MULTISET UNION
|
||||
.. |UpArrow| unicode:: U+02191 .. UPWARDS ARROW
|
||||
.. |Uparrow| unicode:: U+021D1 .. UPWARDS DOUBLE ARROW
|
||||
.. |uparrow| unicode:: U+02191 .. UPWARDS ARROW
|
||||
.. |UpArrowDownArrow| unicode:: U+021C5 .. UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
|
||||
.. |UpDownArrow| unicode:: U+02195 .. UP DOWN ARROW
|
||||
.. |Updownarrow| unicode:: U+021D5 .. UP DOWN DOUBLE ARROW
|
||||
.. |updownarrow| unicode:: U+02195 .. UP DOWN ARROW
|
||||
.. |UpEquilibrium| unicode:: U+0296E .. UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
|
||||
.. |upharpoonleft| unicode:: U+021BF .. UPWARDS HARPOON WITH BARB LEFTWARDS
|
||||
.. |upharpoonright| unicode:: U+021BE .. UPWARDS HARPOON WITH BARB RIGHTWARDS
|
||||
.. |UpperLeftArrow| unicode:: U+02196 .. NORTH WEST ARROW
|
||||
.. |UpperRightArrow| unicode:: U+02197 .. NORTH EAST ARROW
|
||||
.. |upsilon| unicode:: U+003C5 .. GREEK SMALL LETTER UPSILON
|
||||
.. |UpTee| unicode:: U+022A5 .. UP TACK
|
||||
.. |UpTeeArrow| unicode:: U+021A5 .. UPWARDS ARROW FROM BAR
|
||||
.. |upuparrows| unicode:: U+021C8 .. UPWARDS PAIRED ARROWS
|
||||
.. |urcorner| unicode:: U+0231D .. TOP RIGHT CORNER
|
||||
.. |varepsilon| unicode:: U+003B5 .. GREEK SMALL LETTER EPSILON
|
||||
.. |varkappa| unicode:: U+003F0 .. GREEK KAPPA SYMBOL
|
||||
.. |varnothing| unicode:: U+02205 .. EMPTY SET
|
||||
.. |varphi| unicode:: U+003C6 .. GREEK SMALL LETTER PHI
|
||||
.. |varpi| unicode:: U+003D6 .. GREEK PI SYMBOL
|
||||
.. |varpropto| unicode:: U+0221D .. PROPORTIONAL TO
|
||||
.. |varrho| unicode:: U+003F1 .. GREEK RHO SYMBOL
|
||||
.. |varsigma| unicode:: U+003C2 .. GREEK SMALL LETTER FINAL SIGMA
|
||||
.. |varsubsetneq| unicode:: U+0228A U+0FE00 .. SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
|
||||
.. |varsubsetneqq| unicode:: U+02ACB U+0FE00 .. SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
|
||||
.. |varsupsetneq| unicode:: U+0228B U+0FE00 .. SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
|
||||
.. |varsupsetneqq| unicode:: U+02ACC U+0FE00 .. SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
|
||||
.. |vartheta| unicode:: U+003D1 .. GREEK THETA SYMBOL
|
||||
.. |vartriangleleft| unicode:: U+022B2 .. NORMAL SUBGROUP OF
|
||||
.. |vartriangleright| unicode:: U+022B3 .. CONTAINS AS NORMAL SUBGROUP
|
||||
.. |Vee| unicode:: U+022C1 .. N-ARY LOGICAL OR
|
||||
.. |vee| unicode:: U+02228 .. LOGICAL OR
|
||||
.. |Vert| unicode:: U+02016 .. DOUBLE VERTICAL LINE
|
||||
.. |vert| unicode:: U+0007C .. VERTICAL LINE
|
||||
.. |VerticalBar| unicode:: U+02223 .. DIVIDES
|
||||
.. |VerticalTilde| unicode:: U+02240 .. WREATH PRODUCT
|
||||
.. |VeryThinSpace| unicode:: U+0200A .. HAIR SPACE
|
||||
.. |Wedge| unicode:: U+022C0 .. N-ARY LOGICAL AND
|
||||
.. |wedge| unicode:: U+02227 .. LOGICAL AND
|
||||
.. |wp| unicode:: U+02118 .. SCRIPT CAPITAL P
|
||||
.. |wr| unicode:: U+02240 .. WREATH PRODUCT
|
||||
.. |zeetrf| unicode:: U+02128 .. BLACK-LETTER CAPITAL Z
|
113
docutils/parsers/rst/include/mmlextra-wide.txt
Normal file
113
docutils/parsers/rst/include/mmlextra-wide.txt
Normal file
|
@ -0,0 +1,113 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |af| unicode:: U+02061 .. FUNCTION APPLICATION
|
||||
.. |aopf| unicode:: U+1D552 .. MATHEMATICAL DOUBLE-STRUCK SMALL A
|
||||
.. |asympeq| unicode:: U+0224D .. EQUIVALENT TO
|
||||
.. |bopf| unicode:: U+1D553 .. MATHEMATICAL DOUBLE-STRUCK SMALL B
|
||||
.. |copf| unicode:: U+1D554 .. MATHEMATICAL DOUBLE-STRUCK SMALL C
|
||||
.. |Cross| unicode:: U+02A2F .. VECTOR OR CROSS PRODUCT
|
||||
.. |DD| unicode:: U+02145 .. DOUBLE-STRUCK ITALIC CAPITAL D
|
||||
.. |dd| unicode:: U+02146 .. DOUBLE-STRUCK ITALIC SMALL D
|
||||
.. |dopf| unicode:: U+1D555 .. MATHEMATICAL DOUBLE-STRUCK SMALL D
|
||||
.. |DownArrowBar| unicode:: U+02913 .. DOWNWARDS ARROW TO BAR
|
||||
.. |DownBreve| unicode:: U+00311 .. COMBINING INVERTED BREVE
|
||||
.. |DownLeftRightVector| unicode:: U+02950 .. LEFT BARB DOWN RIGHT BARB DOWN HARPOON
|
||||
.. |DownLeftTeeVector| unicode:: U+0295E .. LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
|
||||
.. |DownLeftVectorBar| unicode:: U+02956 .. LEFTWARDS HARPOON WITH BARB DOWN TO BAR
|
||||
.. |DownRightTeeVector| unicode:: U+0295F .. RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
|
||||
.. |DownRightVectorBar| unicode:: U+02957 .. RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
|
||||
.. |ee| unicode:: U+02147 .. DOUBLE-STRUCK ITALIC SMALL E
|
||||
.. |EmptySmallSquare| unicode:: U+025FB .. WHITE MEDIUM SQUARE
|
||||
.. |EmptyVerySmallSquare| unicode:: U+025AB .. WHITE SMALL SQUARE
|
||||
.. |eopf| unicode:: U+1D556 .. MATHEMATICAL DOUBLE-STRUCK SMALL E
|
||||
.. |Equal| unicode:: U+02A75 .. TWO CONSECUTIVE EQUALS SIGNS
|
||||
.. |FilledSmallSquare| unicode:: U+025FC .. BLACK MEDIUM SQUARE
|
||||
.. |FilledVerySmallSquare| unicode:: U+025AA .. BLACK SMALL SQUARE
|
||||
.. |fopf| unicode:: U+1D557 .. MATHEMATICAL DOUBLE-STRUCK SMALL F
|
||||
.. |gopf| unicode:: U+1D558 .. MATHEMATICAL DOUBLE-STRUCK SMALL G
|
||||
.. |GreaterGreater| unicode:: U+02AA2 .. DOUBLE NESTED GREATER-THAN
|
||||
.. |Hat| unicode:: U+0005E .. CIRCUMFLEX ACCENT
|
||||
.. |hopf| unicode:: U+1D559 .. MATHEMATICAL DOUBLE-STRUCK SMALL H
|
||||
.. |HorizontalLine| unicode:: U+02500 .. BOX DRAWINGS LIGHT HORIZONTAL
|
||||
.. |ic| unicode:: U+02063 .. INVISIBLE SEPARATOR
|
||||
.. |ii| unicode:: U+02148 .. DOUBLE-STRUCK ITALIC SMALL I
|
||||
.. |iopf| unicode:: U+1D55A .. MATHEMATICAL DOUBLE-STRUCK SMALL I
|
||||
.. |it| unicode:: U+02062 .. INVISIBLE TIMES
|
||||
.. |jopf| unicode:: U+1D55B .. MATHEMATICAL DOUBLE-STRUCK SMALL J
|
||||
.. |kopf| unicode:: U+1D55C .. MATHEMATICAL DOUBLE-STRUCK SMALL K
|
||||
.. |larrb| unicode:: U+021E4 .. LEFTWARDS ARROW TO BAR
|
||||
.. |LeftDownTeeVector| unicode:: U+02961 .. DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
|
||||
.. |LeftDownVectorBar| unicode:: U+02959 .. DOWNWARDS HARPOON WITH BARB LEFT TO BAR
|
||||
.. |LeftRightVector| unicode:: U+0294E .. LEFT BARB UP RIGHT BARB UP HARPOON
|
||||
.. |LeftTeeVector| unicode:: U+0295A .. LEFTWARDS HARPOON WITH BARB UP FROM BAR
|
||||
.. |LeftTriangleBar| unicode:: U+029CF .. LEFT TRIANGLE BESIDE VERTICAL BAR
|
||||
.. |LeftUpDownVector| unicode:: U+02951 .. UP BARB LEFT DOWN BARB LEFT HARPOON
|
||||
.. |LeftUpTeeVector| unicode:: U+02960 .. UPWARDS HARPOON WITH BARB LEFT FROM BAR
|
||||
.. |LeftUpVectorBar| unicode:: U+02958 .. UPWARDS HARPOON WITH BARB LEFT TO BAR
|
||||
.. |LeftVectorBar| unicode:: U+02952 .. LEFTWARDS HARPOON WITH BARB UP TO BAR
|
||||
.. |LessLess| unicode:: U+02AA1 .. DOUBLE NESTED LESS-THAN
|
||||
.. |lopf| unicode:: U+1D55D .. MATHEMATICAL DOUBLE-STRUCK SMALL L
|
||||
.. |mapstodown| unicode:: U+021A7 .. DOWNWARDS ARROW FROM BAR
|
||||
.. |mapstoleft| unicode:: U+021A4 .. LEFTWARDS ARROW FROM BAR
|
||||
.. |mapstoup| unicode:: U+021A5 .. UPWARDS ARROW FROM BAR
|
||||
.. |MediumSpace| unicode:: U+0205F .. MEDIUM MATHEMATICAL SPACE
|
||||
.. |mopf| unicode:: U+1D55E .. MATHEMATICAL DOUBLE-STRUCK SMALL M
|
||||
.. |nbump| unicode:: U+0224E U+00338 .. GEOMETRICALLY EQUIVALENT TO with slash
|
||||
.. |nbumpe| unicode:: U+0224F U+00338 .. DIFFERENCE BETWEEN with slash
|
||||
.. |nesim| unicode:: U+02242 U+00338 .. MINUS TILDE with slash
|
||||
.. |NewLine| unicode:: U+0000A .. LINE FEED (LF)
|
||||
.. |NoBreak| unicode:: U+02060 .. WORD JOINER
|
||||
.. |nopf| unicode:: U+1D55F .. MATHEMATICAL DOUBLE-STRUCK SMALL N
|
||||
.. |NotCupCap| unicode:: U+0226D .. NOT EQUIVALENT TO
|
||||
.. |NotHumpEqual| unicode:: U+0224F U+00338 .. DIFFERENCE BETWEEN with slash
|
||||
.. |NotLeftTriangleBar| unicode:: U+029CF U+00338 .. LEFT TRIANGLE BESIDE VERTICAL BAR with slash
|
||||
.. |NotNestedGreaterGreater| unicode:: U+02AA2 U+00338 .. DOUBLE NESTED GREATER-THAN with slash
|
||||
.. |NotNestedLessLess| unicode:: U+02AA1 U+00338 .. DOUBLE NESTED LESS-THAN with slash
|
||||
.. |NotRightTriangleBar| unicode:: U+029D0 U+00338 .. VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
|
||||
.. |NotSquareSubset| unicode:: U+0228F U+00338 .. SQUARE IMAGE OF with slash
|
||||
.. |NotSquareSuperset| unicode:: U+02290 U+00338 .. SQUARE ORIGINAL OF with slash
|
||||
.. |NotSucceedsTilde| unicode:: U+0227F U+00338 .. SUCCEEDS OR EQUIVALENT TO with slash
|
||||
.. |oopf| unicode:: U+1D560 .. MATHEMATICAL DOUBLE-STRUCK SMALL O
|
||||
.. |OverBar| unicode:: U+000AF .. MACRON
|
||||
.. |OverBrace| unicode:: U+0FE37 .. PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
|
||||
.. |OverBracket| unicode:: U+023B4 .. TOP SQUARE BRACKET
|
||||
.. |OverParenthesis| unicode:: U+0FE35 .. PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
|
||||
.. |planckh| unicode:: U+0210E .. PLANCK CONSTANT
|
||||
.. |popf| unicode:: U+1D561 .. MATHEMATICAL DOUBLE-STRUCK SMALL P
|
||||
.. |Product| unicode:: U+0220F .. N-ARY PRODUCT
|
||||
.. |qopf| unicode:: U+1D562 .. MATHEMATICAL DOUBLE-STRUCK SMALL Q
|
||||
.. |rarrb| unicode:: U+021E5 .. RIGHTWARDS ARROW TO BAR
|
||||
.. |RightDownTeeVector| unicode:: U+0295D .. DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
|
||||
.. |RightDownVectorBar| unicode:: U+02955 .. DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
|
||||
.. |RightTeeVector| unicode:: U+0295B .. RIGHTWARDS HARPOON WITH BARB UP FROM BAR
|
||||
.. |RightTriangleBar| unicode:: U+029D0 .. VERTICAL BAR BESIDE RIGHT TRIANGLE
|
||||
.. |RightUpDownVector| unicode:: U+0294F .. UP BARB RIGHT DOWN BARB RIGHT HARPOON
|
||||
.. |RightUpTeeVector| unicode:: U+0295C .. UPWARDS HARPOON WITH BARB RIGHT FROM BAR
|
||||
.. |RightUpVectorBar| unicode:: U+02954 .. UPWARDS HARPOON WITH BARB RIGHT TO BAR
|
||||
.. |RightVectorBar| unicode:: U+02953 .. RIGHTWARDS HARPOON WITH BARB UP TO BAR
|
||||
.. |ropf| unicode:: U+1D563 .. MATHEMATICAL DOUBLE-STRUCK SMALL R
|
||||
.. |RoundImplies| unicode:: U+02970 .. RIGHT DOUBLE ARROW WITH ROUNDED HEAD
|
||||
.. |RuleDelayed| unicode:: U+029F4 .. RULE-DELAYED
|
||||
.. |sopf| unicode:: U+1D564 .. MATHEMATICAL DOUBLE-STRUCK SMALL S
|
||||
.. |Tab| unicode:: U+00009 .. CHARACTER TABULATION
|
||||
.. |ThickSpace| unicode:: U+02009 U+0200A U+0200A .. space of width 5/18 em
|
||||
.. |topf| unicode:: U+1D565 .. MATHEMATICAL DOUBLE-STRUCK SMALL T
|
||||
.. |UnderBar| unicode:: U+00332 .. COMBINING LOW LINE
|
||||
.. |UnderBrace| unicode:: U+0FE38 .. PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
|
||||
.. |UnderBracket| unicode:: U+023B5 .. BOTTOM SQUARE BRACKET
|
||||
.. |UnderParenthesis| unicode:: U+0FE36 .. PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
|
||||
.. |uopf| unicode:: U+1D566 .. MATHEMATICAL DOUBLE-STRUCK SMALL U
|
||||
.. |UpArrowBar| unicode:: U+02912 .. UPWARDS ARROW TO BAR
|
||||
.. |Upsilon| unicode:: U+003A5 .. GREEK CAPITAL LETTER UPSILON
|
||||
.. |VerticalLine| unicode:: U+0007C .. VERTICAL LINE
|
||||
.. |VerticalSeparator| unicode:: U+02758 .. LIGHT VERTICAL BAR
|
||||
.. |vopf| unicode:: U+1D567 .. MATHEMATICAL DOUBLE-STRUCK SMALL V
|
||||
.. |wopf| unicode:: U+1D568 .. MATHEMATICAL DOUBLE-STRUCK SMALL W
|
||||
.. |xopf| unicode:: U+1D569 .. MATHEMATICAL DOUBLE-STRUCK SMALL X
|
||||
.. |yopf| unicode:: U+1D56A .. MATHEMATICAL DOUBLE-STRUCK SMALL Y
|
||||
.. |ZeroWidthSpace| unicode:: U+0200B .. ZERO WIDTH SPACE
|
||||
.. |zopf| unicode:: U+1D56B .. MATHEMATICAL DOUBLE-STRUCK SMALL Z
|
87
docutils/parsers/rst/include/mmlextra.txt
Normal file
87
docutils/parsers/rst/include/mmlextra.txt
Normal file
|
@ -0,0 +1,87 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |af| unicode:: U+02061 .. FUNCTION APPLICATION
|
||||
.. |asympeq| unicode:: U+0224D .. EQUIVALENT TO
|
||||
.. |Cross| unicode:: U+02A2F .. VECTOR OR CROSS PRODUCT
|
||||
.. |DD| unicode:: U+02145 .. DOUBLE-STRUCK ITALIC CAPITAL D
|
||||
.. |dd| unicode:: U+02146 .. DOUBLE-STRUCK ITALIC SMALL D
|
||||
.. |DownArrowBar| unicode:: U+02913 .. DOWNWARDS ARROW TO BAR
|
||||
.. |DownBreve| unicode:: U+00311 .. COMBINING INVERTED BREVE
|
||||
.. |DownLeftRightVector| unicode:: U+02950 .. LEFT BARB DOWN RIGHT BARB DOWN HARPOON
|
||||
.. |DownLeftTeeVector| unicode:: U+0295E .. LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
|
||||
.. |DownLeftVectorBar| unicode:: U+02956 .. LEFTWARDS HARPOON WITH BARB DOWN TO BAR
|
||||
.. |DownRightTeeVector| unicode:: U+0295F .. RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
|
||||
.. |DownRightVectorBar| unicode:: U+02957 .. RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
|
||||
.. |ee| unicode:: U+02147 .. DOUBLE-STRUCK ITALIC SMALL E
|
||||
.. |EmptySmallSquare| unicode:: U+025FB .. WHITE MEDIUM SQUARE
|
||||
.. |EmptyVerySmallSquare| unicode:: U+025AB .. WHITE SMALL SQUARE
|
||||
.. |Equal| unicode:: U+02A75 .. TWO CONSECUTIVE EQUALS SIGNS
|
||||
.. |FilledSmallSquare| unicode:: U+025FC .. BLACK MEDIUM SQUARE
|
||||
.. |FilledVerySmallSquare| unicode:: U+025AA .. BLACK SMALL SQUARE
|
||||
.. |GreaterGreater| unicode:: U+02AA2 .. DOUBLE NESTED GREATER-THAN
|
||||
.. |Hat| unicode:: U+0005E .. CIRCUMFLEX ACCENT
|
||||
.. |HorizontalLine| unicode:: U+02500 .. BOX DRAWINGS LIGHT HORIZONTAL
|
||||
.. |ic| unicode:: U+02063 .. INVISIBLE SEPARATOR
|
||||
.. |ii| unicode:: U+02148 .. DOUBLE-STRUCK ITALIC SMALL I
|
||||
.. |it| unicode:: U+02062 .. INVISIBLE TIMES
|
||||
.. |larrb| unicode:: U+021E4 .. LEFTWARDS ARROW TO BAR
|
||||
.. |LeftDownTeeVector| unicode:: U+02961 .. DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
|
||||
.. |LeftDownVectorBar| unicode:: U+02959 .. DOWNWARDS HARPOON WITH BARB LEFT TO BAR
|
||||
.. |LeftRightVector| unicode:: U+0294E .. LEFT BARB UP RIGHT BARB UP HARPOON
|
||||
.. |LeftTeeVector| unicode:: U+0295A .. LEFTWARDS HARPOON WITH BARB UP FROM BAR
|
||||
.. |LeftTriangleBar| unicode:: U+029CF .. LEFT TRIANGLE BESIDE VERTICAL BAR
|
||||
.. |LeftUpDownVector| unicode:: U+02951 .. UP BARB LEFT DOWN BARB LEFT HARPOON
|
||||
.. |LeftUpTeeVector| unicode:: U+02960 .. UPWARDS HARPOON WITH BARB LEFT FROM BAR
|
||||
.. |LeftUpVectorBar| unicode:: U+02958 .. UPWARDS HARPOON WITH BARB LEFT TO BAR
|
||||
.. |LeftVectorBar| unicode:: U+02952 .. LEFTWARDS HARPOON WITH BARB UP TO BAR
|
||||
.. |LessLess| unicode:: U+02AA1 .. DOUBLE NESTED LESS-THAN
|
||||
.. |mapstodown| unicode:: U+021A7 .. DOWNWARDS ARROW FROM BAR
|
||||
.. |mapstoleft| unicode:: U+021A4 .. LEFTWARDS ARROW FROM BAR
|
||||
.. |mapstoup| unicode:: U+021A5 .. UPWARDS ARROW FROM BAR
|
||||
.. |MediumSpace| unicode:: U+0205F .. MEDIUM MATHEMATICAL SPACE
|
||||
.. |nbump| unicode:: U+0224E U+00338 .. GEOMETRICALLY EQUIVALENT TO with slash
|
||||
.. |nbumpe| unicode:: U+0224F U+00338 .. DIFFERENCE BETWEEN with slash
|
||||
.. |nesim| unicode:: U+02242 U+00338 .. MINUS TILDE with slash
|
||||
.. |NewLine| unicode:: U+0000A .. LINE FEED (LF)
|
||||
.. |NoBreak| unicode:: U+02060 .. WORD JOINER
|
||||
.. |NotCupCap| unicode:: U+0226D .. NOT EQUIVALENT TO
|
||||
.. |NotHumpEqual| unicode:: U+0224F U+00338 .. DIFFERENCE BETWEEN with slash
|
||||
.. |NotLeftTriangleBar| unicode:: U+029CF U+00338 .. LEFT TRIANGLE BESIDE VERTICAL BAR with slash
|
||||
.. |NotNestedGreaterGreater| unicode:: U+02AA2 U+00338 .. DOUBLE NESTED GREATER-THAN with slash
|
||||
.. |NotNestedLessLess| unicode:: U+02AA1 U+00338 .. DOUBLE NESTED LESS-THAN with slash
|
||||
.. |NotRightTriangleBar| unicode:: U+029D0 U+00338 .. VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
|
||||
.. |NotSquareSubset| unicode:: U+0228F U+00338 .. SQUARE IMAGE OF with slash
|
||||
.. |NotSquareSuperset| unicode:: U+02290 U+00338 .. SQUARE ORIGINAL OF with slash
|
||||
.. |NotSucceedsTilde| unicode:: U+0227F U+00338 .. SUCCEEDS OR EQUIVALENT TO with slash
|
||||
.. |OverBar| unicode:: U+000AF .. MACRON
|
||||
.. |OverBrace| unicode:: U+0FE37 .. PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
|
||||
.. |OverBracket| unicode:: U+023B4 .. TOP SQUARE BRACKET
|
||||
.. |OverParenthesis| unicode:: U+0FE35 .. PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
|
||||
.. |planckh| unicode:: U+0210E .. PLANCK CONSTANT
|
||||
.. |Product| unicode:: U+0220F .. N-ARY PRODUCT
|
||||
.. |rarrb| unicode:: U+021E5 .. RIGHTWARDS ARROW TO BAR
|
||||
.. |RightDownTeeVector| unicode:: U+0295D .. DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
|
||||
.. |RightDownVectorBar| unicode:: U+02955 .. DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
|
||||
.. |RightTeeVector| unicode:: U+0295B .. RIGHTWARDS HARPOON WITH BARB UP FROM BAR
|
||||
.. |RightTriangleBar| unicode:: U+029D0 .. VERTICAL BAR BESIDE RIGHT TRIANGLE
|
||||
.. |RightUpDownVector| unicode:: U+0294F .. UP BARB RIGHT DOWN BARB RIGHT HARPOON
|
||||
.. |RightUpTeeVector| unicode:: U+0295C .. UPWARDS HARPOON WITH BARB RIGHT FROM BAR
|
||||
.. |RightUpVectorBar| unicode:: U+02954 .. UPWARDS HARPOON WITH BARB RIGHT TO BAR
|
||||
.. |RightVectorBar| unicode:: U+02953 .. RIGHTWARDS HARPOON WITH BARB UP TO BAR
|
||||
.. |RoundImplies| unicode:: U+02970 .. RIGHT DOUBLE ARROW WITH ROUNDED HEAD
|
||||
.. |RuleDelayed| unicode:: U+029F4 .. RULE-DELAYED
|
||||
.. |Tab| unicode:: U+00009 .. CHARACTER TABULATION
|
||||
.. |ThickSpace| unicode:: U+02009 U+0200A U+0200A .. space of width 5/18 em
|
||||
.. |UnderBar| unicode:: U+00332 .. COMBINING LOW LINE
|
||||
.. |UnderBrace| unicode:: U+0FE38 .. PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
|
||||
.. |UnderBracket| unicode:: U+023B5 .. BOTTOM SQUARE BRACKET
|
||||
.. |UnderParenthesis| unicode:: U+0FE36 .. PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
|
||||
.. |UpArrowBar| unicode:: U+02912 .. UPWARDS ARROW TO BAR
|
||||
.. |Upsilon| unicode:: U+003A5 .. GREEK CAPITAL LETTER UPSILON
|
||||
.. |VerticalLine| unicode:: U+0007C .. VERTICAL LINE
|
||||
.. |VerticalSeparator| unicode:: U+02758 .. LIGHT VERTICAL BAR
|
||||
.. |ZeroWidthSpace| unicode:: U+0200B .. ZERO WIDTH SPACE
|
68
docutils/parsers/rst/include/s5defs.txt
Normal file
68
docutils/parsers/rst/include/s5defs.txt
Normal file
|
@ -0,0 +1,68 @@
|
|||
.. Definitions of interpreted text roles (classes) for S5/HTML data.
|
||||
.. This data file has been placed in the public domain.
|
||||
|
||||
.. Colours
|
||||
=======
|
||||
|
||||
.. role:: black
|
||||
.. role:: gray
|
||||
.. role:: silver
|
||||
.. role:: white
|
||||
|
||||
.. role:: maroon
|
||||
.. role:: red
|
||||
.. role:: magenta
|
||||
.. role:: fuchsia
|
||||
.. role:: pink
|
||||
.. role:: orange
|
||||
.. role:: yellow
|
||||
.. role:: lime
|
||||
.. role:: green
|
||||
.. role:: olive
|
||||
.. role:: teal
|
||||
.. role:: cyan
|
||||
.. role:: aqua
|
||||
.. role:: blue
|
||||
.. role:: navy
|
||||
.. role:: purple
|
||||
|
||||
|
||||
.. Text Sizes
|
||||
==========
|
||||
|
||||
.. role:: huge
|
||||
.. role:: big
|
||||
.. role:: small
|
||||
.. role:: tiny
|
||||
|
||||
|
||||
.. Display in Slides (Presentation Mode) Only
|
||||
==========================================
|
||||
|
||||
.. role:: slide
|
||||
:class: slide-display
|
||||
|
||||
|
||||
.. Display in Outline Mode Only
|
||||
============================
|
||||
|
||||
.. role:: outline
|
||||
|
||||
|
||||
.. Display in Print Only
|
||||
=====================
|
||||
|
||||
.. role:: print
|
||||
|
||||
|
||||
.. Display in Handout Mode Only
|
||||
============================
|
||||
|
||||
.. role:: handout
|
||||
|
||||
|
||||
.. Incremental Display
|
||||
===================
|
||||
|
||||
.. role:: incremental
|
||||
.. default-role:: incremental
|
102
docutils/parsers/rst/include/xhtml1-lat1.txt
Normal file
102
docutils/parsers/rst/include/xhtml1-lat1.txt
Normal file
|
@ -0,0 +1,102 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |Aacute| unicode:: U+000C1 .. LATIN CAPITAL LETTER A WITH ACUTE
|
||||
.. |aacute| unicode:: U+000E1 .. LATIN SMALL LETTER A WITH ACUTE
|
||||
.. |Acirc| unicode:: U+000C2 .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
.. |acirc| unicode:: U+000E2 .. LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
.. |acute| unicode:: U+000B4 .. ACUTE ACCENT
|
||||
.. |AElig| unicode:: U+000C6 .. LATIN CAPITAL LETTER AE
|
||||
.. |aelig| unicode:: U+000E6 .. LATIN SMALL LETTER AE
|
||||
.. |Agrave| unicode:: U+000C0 .. LATIN CAPITAL LETTER A WITH GRAVE
|
||||
.. |agrave| unicode:: U+000E0 .. LATIN SMALL LETTER A WITH GRAVE
|
||||
.. |Aring| unicode:: U+000C5 .. LATIN CAPITAL LETTER A WITH RING ABOVE
|
||||
.. |aring| unicode:: U+000E5 .. LATIN SMALL LETTER A WITH RING ABOVE
|
||||
.. |Atilde| unicode:: U+000C3 .. LATIN CAPITAL LETTER A WITH TILDE
|
||||
.. |atilde| unicode:: U+000E3 .. LATIN SMALL LETTER A WITH TILDE
|
||||
.. |Auml| unicode:: U+000C4 .. LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||
.. |auml| unicode:: U+000E4 .. LATIN SMALL LETTER A WITH DIAERESIS
|
||||
.. |brvbar| unicode:: U+000A6 .. BROKEN BAR
|
||||
.. |Ccedil| unicode:: U+000C7 .. LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
.. |ccedil| unicode:: U+000E7 .. LATIN SMALL LETTER C WITH CEDILLA
|
||||
.. |cedil| unicode:: U+000B8 .. CEDILLA
|
||||
.. |cent| unicode:: U+000A2 .. CENT SIGN
|
||||
.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN
|
||||
.. |curren| unicode:: U+000A4 .. CURRENCY SIGN
|
||||
.. |deg| unicode:: U+000B0 .. DEGREE SIGN
|
||||
.. |divide| unicode:: U+000F7 .. DIVISION SIGN
|
||||
.. |Eacute| unicode:: U+000C9 .. LATIN CAPITAL LETTER E WITH ACUTE
|
||||
.. |eacute| unicode:: U+000E9 .. LATIN SMALL LETTER E WITH ACUTE
|
||||
.. |Ecirc| unicode:: U+000CA .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
.. |ecirc| unicode:: U+000EA .. LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||||
.. |Egrave| unicode:: U+000C8 .. LATIN CAPITAL LETTER E WITH GRAVE
|
||||
.. |egrave| unicode:: U+000E8 .. LATIN SMALL LETTER E WITH GRAVE
|
||||
.. |ETH| unicode:: U+000D0 .. LATIN CAPITAL LETTER ETH
|
||||
.. |eth| unicode:: U+000F0 .. LATIN SMALL LETTER ETH
|
||||
.. |Euml| unicode:: U+000CB .. LATIN CAPITAL LETTER E WITH DIAERESIS
|
||||
.. |euml| unicode:: U+000EB .. LATIN SMALL LETTER E WITH DIAERESIS
|
||||
.. |frac12| unicode:: U+000BD .. VULGAR FRACTION ONE HALF
|
||||
.. |frac14| unicode:: U+000BC .. VULGAR FRACTION ONE QUARTER
|
||||
.. |frac34| unicode:: U+000BE .. VULGAR FRACTION THREE QUARTERS
|
||||
.. |Iacute| unicode:: U+000CD .. LATIN CAPITAL LETTER I WITH ACUTE
|
||||
.. |iacute| unicode:: U+000ED .. LATIN SMALL LETTER I WITH ACUTE
|
||||
.. |Icirc| unicode:: U+000CE .. LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
.. |icirc| unicode:: U+000EE .. LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
.. |iexcl| unicode:: U+000A1 .. INVERTED EXCLAMATION MARK
|
||||
.. |Igrave| unicode:: U+000CC .. LATIN CAPITAL LETTER I WITH GRAVE
|
||||
.. |igrave| unicode:: U+000EC .. LATIN SMALL LETTER I WITH GRAVE
|
||||
.. |iquest| unicode:: U+000BF .. INVERTED QUESTION MARK
|
||||
.. |Iuml| unicode:: U+000CF .. LATIN CAPITAL LETTER I WITH DIAERESIS
|
||||
.. |iuml| unicode:: U+000EF .. LATIN SMALL LETTER I WITH DIAERESIS
|
||||
.. |laquo| unicode:: U+000AB .. LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
.. |macr| unicode:: U+000AF .. MACRON
|
||||
.. |micro| unicode:: U+000B5 .. MICRO SIGN
|
||||
.. |middot| unicode:: U+000B7 .. MIDDLE DOT
|
||||
.. |nbsp| unicode:: U+000A0 .. NO-BREAK SPACE
|
||||
.. |not| unicode:: U+000AC .. NOT SIGN
|
||||
.. |Ntilde| unicode:: U+000D1 .. LATIN CAPITAL LETTER N WITH TILDE
|
||||
.. |ntilde| unicode:: U+000F1 .. LATIN SMALL LETTER N WITH TILDE
|
||||
.. |Oacute| unicode:: U+000D3 .. LATIN CAPITAL LETTER O WITH ACUTE
|
||||
.. |oacute| unicode:: U+000F3 .. LATIN SMALL LETTER O WITH ACUTE
|
||||
.. |Ocirc| unicode:: U+000D4 .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
.. |ocirc| unicode:: U+000F4 .. LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
.. |Ograve| unicode:: U+000D2 .. LATIN CAPITAL LETTER O WITH GRAVE
|
||||
.. |ograve| unicode:: U+000F2 .. LATIN SMALL LETTER O WITH GRAVE
|
||||
.. |ordf| unicode:: U+000AA .. FEMININE ORDINAL INDICATOR
|
||||
.. |ordm| unicode:: U+000BA .. MASCULINE ORDINAL INDICATOR
|
||||
.. |Oslash| unicode:: U+000D8 .. LATIN CAPITAL LETTER O WITH STROKE
|
||||
.. |oslash| unicode:: U+000F8 .. LATIN SMALL LETTER O WITH STROKE
|
||||
.. |Otilde| unicode:: U+000D5 .. LATIN CAPITAL LETTER O WITH TILDE
|
||||
.. |otilde| unicode:: U+000F5 .. LATIN SMALL LETTER O WITH TILDE
|
||||
.. |Ouml| unicode:: U+000D6 .. LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
.. |ouml| unicode:: U+000F6 .. LATIN SMALL LETTER O WITH DIAERESIS
|
||||
.. |para| unicode:: U+000B6 .. PILCROW SIGN
|
||||
.. |plusmn| unicode:: U+000B1 .. PLUS-MINUS SIGN
|
||||
.. |pound| unicode:: U+000A3 .. POUND SIGN
|
||||
.. |raquo| unicode:: U+000BB .. RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
.. |reg| unicode:: U+000AE .. REGISTERED SIGN
|
||||
.. |sect| unicode:: U+000A7 .. SECTION SIGN
|
||||
.. |shy| unicode:: U+000AD .. SOFT HYPHEN
|
||||
.. |sup1| unicode:: U+000B9 .. SUPERSCRIPT ONE
|
||||
.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWO
|
||||
.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREE
|
||||
.. |szlig| unicode:: U+000DF .. LATIN SMALL LETTER SHARP S
|
||||
.. |THORN| unicode:: U+000DE .. LATIN CAPITAL LETTER THORN
|
||||
.. |thorn| unicode:: U+000FE .. LATIN SMALL LETTER THORN
|
||||
.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGN
|
||||
.. |Uacute| unicode:: U+000DA .. LATIN CAPITAL LETTER U WITH ACUTE
|
||||
.. |uacute| unicode:: U+000FA .. LATIN SMALL LETTER U WITH ACUTE
|
||||
.. |Ucirc| unicode:: U+000DB .. LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
.. |ucirc| unicode:: U+000FB .. LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
.. |Ugrave| unicode:: U+000D9 .. LATIN CAPITAL LETTER U WITH GRAVE
|
||||
.. |ugrave| unicode:: U+000F9 .. LATIN SMALL LETTER U WITH GRAVE
|
||||
.. |uml| unicode:: U+000A8 .. DIAERESIS
|
||||
.. |Uuml| unicode:: U+000DC .. LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
.. |uuml| unicode:: U+000FC .. LATIN SMALL LETTER U WITH DIAERESIS
|
||||
.. |Yacute| unicode:: U+000DD .. LATIN CAPITAL LETTER Y WITH ACUTE
|
||||
.. |yacute| unicode:: U+000FD .. LATIN SMALL LETTER Y WITH ACUTE
|
||||
.. |yen| unicode:: U+000A5 .. YEN SIGN
|
||||
.. |yuml| unicode:: U+000FF .. LATIN SMALL LETTER Y WITH DIAERESIS
|
37
docutils/parsers/rst/include/xhtml1-special.txt
Normal file
37
docutils/parsers/rst/include/xhtml1-special.txt
Normal file
|
@ -0,0 +1,37 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |bdquo| unicode:: U+0201E .. DOUBLE LOW-9 QUOTATION MARK
|
||||
.. |circ| unicode:: U+002C6 .. MODIFIER LETTER CIRCUMFLEX ACCENT
|
||||
.. |Dagger| unicode:: U+02021 .. DOUBLE DAGGER
|
||||
.. |dagger| unicode:: U+02020 .. DAGGER
|
||||
.. |emsp| unicode:: U+02003 .. EM SPACE
|
||||
.. |ensp| unicode:: U+02002 .. EN SPACE
|
||||
.. |euro| unicode:: U+020AC .. EURO SIGN
|
||||
.. |gt| unicode:: U+0003E .. GREATER-THAN SIGN
|
||||
.. |ldquo| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARK
|
||||
.. |lrm| unicode:: U+0200E .. LEFT-TO-RIGHT MARK
|
||||
.. |lsaquo| unicode:: U+02039 .. SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
.. |lsquo| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARK
|
||||
.. |lt| unicode:: U+0003C .. LESS-THAN SIGN
|
||||
.. |mdash| unicode:: U+02014 .. EM DASH
|
||||
.. |ndash| unicode:: U+02013 .. EN DASH
|
||||
.. |OElig| unicode:: U+00152 .. LATIN CAPITAL LIGATURE OE
|
||||
.. |oelig| unicode:: U+00153 .. LATIN SMALL LIGATURE OE
|
||||
.. |permil| unicode:: U+02030 .. PER MILLE SIGN
|
||||
.. |quot| unicode:: U+00022 .. QUOTATION MARK
|
||||
.. |rdquo| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARK
|
||||
.. |rlm| unicode:: U+0200F .. RIGHT-TO-LEFT MARK
|
||||
.. |rsaquo| unicode:: U+0203A .. SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
.. |rsquo| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARK
|
||||
.. |sbquo| unicode:: U+0201A .. SINGLE LOW-9 QUOTATION MARK
|
||||
.. |Scaron| unicode:: U+00160 .. LATIN CAPITAL LETTER S WITH CARON
|
||||
.. |scaron| unicode:: U+00161 .. LATIN SMALL LETTER S WITH CARON
|
||||
.. |thinsp| unicode:: U+02009 .. THIN SPACE
|
||||
.. |tilde| unicode:: U+002DC .. SMALL TILDE
|
||||
.. |Yuml| unicode:: U+00178 .. LATIN CAPITAL LETTER Y WITH DIAERESIS
|
||||
.. |zwj| unicode:: U+0200D .. ZERO WIDTH JOINER
|
||||
.. |zwnj| unicode:: U+0200C .. ZERO WIDTH NON-JOINER
|
130
docutils/parsers/rst/include/xhtml1-symbol.txt
Normal file
130
docutils/parsers/rst/include/xhtml1-symbol.txt
Normal file
|
@ -0,0 +1,130 @@
|
|||
.. This data file has been placed in the public domain.
|
||||
.. Derived from the Unicode character mappings available from
|
||||
<http://www.w3.org/2003/entities/xml/>.
|
||||
Processed by unicode2rstsubs.py, part of Docutils:
|
||||
<http://docutils.sourceforge.net>.
|
||||
|
||||
.. |alefsym| unicode:: U+02135 .. ALEF SYMBOL
|
||||
.. |Alpha| unicode:: U+00391 .. GREEK CAPITAL LETTER ALPHA
|
||||
.. |alpha| unicode:: U+003B1 .. GREEK SMALL LETTER ALPHA
|
||||
.. |and| unicode:: U+02227 .. LOGICAL AND
|
||||
.. |ang| unicode:: U+02220 .. ANGLE
|
||||
.. |asymp| unicode:: U+02248 .. ALMOST EQUAL TO
|
||||
.. |Beta| unicode:: U+00392 .. GREEK CAPITAL LETTER BETA
|
||||
.. |beta| unicode:: U+003B2 .. GREEK SMALL LETTER BETA
|
||||
.. |bull| unicode:: U+02022 .. BULLET
|
||||
.. |cap| unicode:: U+02229 .. INTERSECTION
|
||||
.. |Chi| unicode:: U+003A7 .. GREEK CAPITAL LETTER CHI
|
||||
.. |chi| unicode:: U+003C7 .. GREEK SMALL LETTER CHI
|
||||
.. |clubs| unicode:: U+02663 .. BLACK CLUB SUIT
|
||||
.. |cong| unicode:: U+02245 .. APPROXIMATELY EQUAL TO
|
||||
.. |crarr| unicode:: U+021B5 .. DOWNWARDS ARROW WITH CORNER LEFTWARDS
|
||||
.. |cup| unicode:: U+0222A .. UNION
|
||||
.. |dArr| unicode:: U+021D3 .. DOWNWARDS DOUBLE ARROW
|
||||
.. |darr| unicode:: U+02193 .. DOWNWARDS ARROW
|
||||
.. |Delta| unicode:: U+00394 .. GREEK CAPITAL LETTER DELTA
|
||||
.. |delta| unicode:: U+003B4 .. GREEK SMALL LETTER DELTA
|
||||
.. |diams| unicode:: U+02666 .. BLACK DIAMOND SUIT
|
||||
.. |empty| unicode:: U+02205 .. EMPTY SET
|
||||
.. |Epsilon| unicode:: U+00395 .. GREEK CAPITAL LETTER EPSILON
|
||||
.. |epsilon| unicode:: U+003B5 .. GREEK SMALL LETTER EPSILON
|
||||
.. |equiv| unicode:: U+02261 .. IDENTICAL TO
|
||||
.. |Eta| unicode:: U+00397 .. GREEK CAPITAL LETTER ETA
|
||||
.. |eta| unicode:: U+003B7 .. GREEK SMALL LETTER ETA
|
||||
.. |exist| unicode:: U+02203 .. THERE EXISTS
|
||||
.. |fnof| unicode:: U+00192 .. LATIN SMALL LETTER F WITH HOOK
|
||||
.. |forall| unicode:: U+02200 .. FOR ALL
|
||||
.. |frasl| unicode:: U+02044 .. FRACTION SLASH
|
||||
.. |Gamma| unicode:: U+00393 .. GREEK CAPITAL LETTER GAMMA
|
||||
.. |gamma| unicode:: U+003B3 .. GREEK SMALL LETTER GAMMA
|
||||
.. |ge| unicode:: U+02265 .. GREATER-THAN OR EQUAL TO
|
||||
.. |hArr| unicode:: U+021D4 .. LEFT RIGHT DOUBLE ARROW
|
||||
.. |harr| unicode:: U+02194 .. LEFT RIGHT ARROW
|
||||
.. |hearts| unicode:: U+02665 .. BLACK HEART SUIT
|
||||
.. |hellip| unicode:: U+02026 .. HORIZONTAL ELLIPSIS
|
||||
.. |image| unicode:: U+02111 .. BLACK-LETTER CAPITAL I
|
||||
.. |infin| unicode:: U+0221E .. INFINITY
|
||||
.. |int| unicode:: U+0222B .. INTEGRAL
|
||||
.. |Iota| unicode:: U+00399 .. GREEK CAPITAL LETTER IOTA
|
||||
.. |iota| unicode:: U+003B9 .. GREEK SMALL LETTER IOTA
|
||||
.. |isin| unicode:: U+02208 .. ELEMENT OF
|
||||
.. |Kappa| unicode:: U+0039A .. GREEK CAPITAL LETTER KAPPA
|
||||
.. |kappa| unicode:: U+003BA .. GREEK SMALL LETTER KAPPA
|
||||
.. |Lambda| unicode:: U+0039B .. GREEK CAPITAL LETTER LAMDA
|
||||
.. |lambda| unicode:: U+003BB .. GREEK SMALL LETTER LAMDA
|
||||
.. |lang| unicode:: U+02329 .. LEFT-POINTING ANGLE BRACKET
|
||||
.. |lArr| unicode:: U+021D0 .. LEFTWARDS DOUBLE ARROW
|
||||
.. |larr| unicode:: U+02190 .. LEFTWARDS ARROW
|
||||
.. |lceil| unicode:: U+02308 .. LEFT CEILING
|
||||
.. |le| unicode:: U+02264 .. LESS-THAN OR EQUAL TO
|
||||
.. |lfloor| unicode:: U+0230A .. LEFT FLOOR
|
||||
.. |lowast| unicode:: U+02217 .. ASTERISK OPERATOR
|
||||
.. |loz| unicode:: U+025CA .. LOZENGE
|
||||
.. |minus| unicode:: U+02212 .. MINUS SIGN
|
||||
.. |Mu| unicode:: U+0039C .. GREEK CAPITAL LETTER MU
|
||||
.. |mu| unicode:: U+003BC .. GREEK SMALL LETTER MU
|
||||
.. |nabla| unicode:: U+02207 .. NABLA
|
||||
.. |ne| unicode:: U+02260 .. NOT EQUAL TO
|
||||
.. |ni| unicode:: U+0220B .. CONTAINS AS MEMBER
|
||||
.. |notin| unicode:: U+02209 .. NOT AN ELEMENT OF
|
||||
.. |nsub| unicode:: U+02284 .. NOT A SUBSET OF
|
||||
.. |Nu| unicode:: U+0039D .. GREEK CAPITAL LETTER NU
|
||||
.. |nu| unicode:: U+003BD .. GREEK SMALL LETTER NU
|
||||
.. |oline| unicode:: U+0203E .. OVERLINE
|
||||
.. |Omega| unicode:: U+003A9 .. GREEK CAPITAL LETTER OMEGA
|
||||
.. |omega| unicode:: U+003C9 .. GREEK SMALL LETTER OMEGA
|
||||
.. |Omicron| unicode:: U+0039F .. GREEK CAPITAL LETTER OMICRON
|
||||
.. |omicron| unicode:: U+003BF .. GREEK SMALL LETTER OMICRON
|
||||
.. |oplus| unicode:: U+02295 .. CIRCLED PLUS
|
||||
.. |or| unicode:: U+02228 .. LOGICAL OR
|
||||
.. |otimes| unicode:: U+02297 .. CIRCLED TIMES
|
||||
.. |part| unicode:: U+02202 .. PARTIAL DIFFERENTIAL
|
||||
.. |perp| unicode:: U+022A5 .. UP TACK
|
||||
.. |Phi| unicode:: U+003A6 .. GREEK CAPITAL LETTER PHI
|
||||
.. |phi| unicode:: U+003D5 .. GREEK PHI SYMBOL
|
||||
.. |Pi| unicode:: U+003A0 .. GREEK CAPITAL LETTER PI
|
||||
.. |pi| unicode:: U+003C0 .. GREEK SMALL LETTER PI
|
||||
.. |piv| unicode:: U+003D6 .. GREEK PI SYMBOL
|
||||
.. |Prime| unicode:: U+02033 .. DOUBLE PRIME
|
||||
.. |prime| unicode:: U+02032 .. PRIME
|
||||
.. |prod| unicode:: U+0220F .. N-ARY PRODUCT
|
||||
.. |prop| unicode:: U+0221D .. PROPORTIONAL TO
|
||||
.. |Psi| unicode:: U+003A8 .. GREEK CAPITAL LETTER PSI
|
||||
.. |psi| unicode:: U+003C8 .. GREEK SMALL LETTER PSI
|
||||
.. |radic| unicode:: U+0221A .. SQUARE ROOT
|
||||
.. |rang| unicode:: U+0232A .. RIGHT-POINTING ANGLE BRACKET
|
||||
.. |rArr| unicode:: U+021D2 .. RIGHTWARDS DOUBLE ARROW
|
||||
.. |rarr| unicode:: U+02192 .. RIGHTWARDS ARROW
|
||||
.. |rceil| unicode:: U+02309 .. RIGHT CEILING
|
||||
.. |real| unicode:: U+0211C .. BLACK-LETTER CAPITAL R
|
||||
.. |rfloor| unicode:: U+0230B .. RIGHT FLOOR
|
||||
.. |Rho| unicode:: U+003A1 .. GREEK CAPITAL LETTER RHO
|
||||
.. |rho| unicode:: U+003C1 .. GREEK SMALL LETTER RHO
|
||||
.. |sdot| unicode:: U+022C5 .. DOT OPERATOR
|
||||
.. |Sigma| unicode:: U+003A3 .. GREEK CAPITAL LETTER SIGMA
|
||||
.. |sigma| unicode:: U+003C3 .. GREEK SMALL LETTER SIGMA
|
||||
.. |sigmaf| unicode:: U+003C2 .. GREEK SMALL LETTER FINAL SIGMA
|
||||
.. |sim| unicode:: U+0223C .. TILDE OPERATOR
|
||||
.. |spades| unicode:: U+02660 .. BLACK SPADE SUIT
|
||||
.. |sub| unicode:: U+02282 .. SUBSET OF
|
||||
.. |sube| unicode:: U+02286 .. SUBSET OF OR EQUAL TO
|
||||
.. |sum| unicode:: U+02211 .. N-ARY SUMMATION
|
||||
.. |sup| unicode:: U+02283 .. SUPERSET OF
|
||||
.. |supe| unicode:: U+02287 .. SUPERSET OF OR EQUAL TO
|
||||
.. |Tau| unicode:: U+003A4 .. GREEK CAPITAL LETTER TAU
|
||||
.. |tau| unicode:: U+003C4 .. GREEK SMALL LETTER TAU
|
||||
.. |there4| unicode:: U+02234 .. THEREFORE
|
||||
.. |Theta| unicode:: U+00398 .. GREEK CAPITAL LETTER THETA
|
||||
.. |theta| unicode:: U+003B8 .. GREEK SMALL LETTER THETA
|
||||
.. |thetasym| unicode:: U+003D1 .. GREEK THETA SYMBOL
|
||||
.. |trade| unicode:: U+02122 .. TRADE MARK SIGN
|
||||
.. |uArr| unicode:: U+021D1 .. UPWARDS DOUBLE ARROW
|
||||
.. |uarr| unicode:: U+02191 .. UPWARDS ARROW
|
||||
.. |upsih| unicode:: U+003D2 .. GREEK UPSILON WITH HOOK SYMBOL
|
||||
.. |Upsilon| unicode:: U+003A5 .. GREEK CAPITAL LETTER UPSILON
|
||||
.. |upsilon| unicode:: U+003C5 .. GREEK SMALL LETTER UPSILON
|
||||
.. |weierp| unicode:: U+02118 .. SCRIPT CAPITAL P
|
||||
.. |Xi| unicode:: U+0039E .. GREEK CAPITAL LETTER XI
|
||||
.. |xi| unicode:: U+003BE .. GREEK SMALL LETTER XI
|
||||
.. |Zeta| unicode:: U+00396 .. GREEK CAPITAL LETTER ZETA
|
||||
.. |zeta| unicode:: U+003B6 .. GREEK SMALL LETTER ZETA
|
29
docutils/parsers/rst/languages/__init__.py
Normal file
29
docutils/parsers/rst/languages/__init__.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
# $Id: __init__.py 6423 2010-09-17 21:38:29Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# Internationalization details are documented in
|
||||
# <http://docutils.sf.net/docs/howto/i18n.html>.
|
||||
|
||||
"""
|
||||
This package contains modules for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
from docutils.utils import normalize_language_tag
|
||||
|
||||
_languages = {}
|
||||
|
||||
def get_language(language_code):
|
||||
for tag in normalize_language_tag(language_code):
|
||||
if tag in _languages:
|
||||
return _languages[tag]
|
||||
try:
|
||||
module = __import__(tag, globals(), locals())
|
||||
except ImportError:
|
||||
continue
|
||||
_languages[tag] = module
|
||||
return module
|
||||
return None
|
106
docutils/parsers/rst/languages/af.py
Normal file
106
docutils/parsers/rst/languages/af.py
Normal file
|
@ -0,0 +1,106 @@
|
|||
# $Id: af.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: Jannie Hofmeyr <jhsh@sun.ac.za>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Afrikaans-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
'aandag': 'attention',
|
||||
'versigtig': 'caution',
|
||||
'code (translation required)': 'code',
|
||||
'gevaar': 'danger',
|
||||
'fout': 'error',
|
||||
'wenk': 'hint',
|
||||
'belangrik': 'important',
|
||||
'nota': 'note',
|
||||
'tip': 'tip', # hint and tip both have the same translation: wenk
|
||||
'waarskuwing': 'warning',
|
||||
'vermaning': 'admonition',
|
||||
'kantstreep': 'sidebar',
|
||||
'onderwerp': 'topic',
|
||||
'lynblok': 'line-block',
|
||||
'math (translation required)': 'math',
|
||||
'parsed-literal (translation required)': 'parsed-literal',
|
||||
'rubriek': 'rubric',
|
||||
'epigraaf': 'epigraph',
|
||||
'hoogtepunte': 'highlights',
|
||||
'pull-quote (translation required)': 'pull-quote',
|
||||
u'compound (translation required)': 'compound',
|
||||
u'container (translation required)': 'container',
|
||||
#'vrae': 'questions',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
'table (translation required)': 'table',
|
||||
'csv-table (translation required)': 'csv-table',
|
||||
'list-table (translation required)': 'list-table',
|
||||
'meta': 'meta',
|
||||
#'beeldkaart': 'imagemap',
|
||||
'beeld': 'image',
|
||||
'figuur': 'figure',
|
||||
'insluiting': 'include',
|
||||
'rou': 'raw',
|
||||
'vervang': 'replace',
|
||||
'unicode': 'unicode', # should this be translated? unikode
|
||||
'datum': 'date',
|
||||
'klas': 'class',
|
||||
'role (translation required)': 'role',
|
||||
'default-role (translation required)': 'default-role',
|
||||
'title (translation required)': 'title',
|
||||
'inhoud': 'contents',
|
||||
'sectnum': 'sectnum',
|
||||
'section-numbering': 'sectnum',
|
||||
u'header (translation required)': 'header',
|
||||
u'footer (translation required)': 'footer',
|
||||
#'voetnote': 'footnotes',
|
||||
#'aanhalings': 'citations',
|
||||
'teikennotas': 'target-notes',
|
||||
'restructuredtext-test-directive': 'restructuredtext-test-directive'}
|
||||
"""Afrikaans name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
'afkorting': 'abbreviation',
|
||||
'ab': 'abbreviation',
|
||||
'akroniem': 'acronym',
|
||||
'ac': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
'indeks': 'index',
|
||||
'i': 'index',
|
||||
'voetskrif': 'subscript',
|
||||
'sub': 'subscript',
|
||||
'boskrif': 'superscript',
|
||||
'sup': 'superscript',
|
||||
'titelverwysing': 'title-reference',
|
||||
'titel': 'title-reference',
|
||||
't': 'title-reference',
|
||||
'pep-verwysing': 'pep-reference',
|
||||
'pep': 'pep-reference',
|
||||
'rfc-verwysing': 'rfc-reference',
|
||||
'rfc': 'rfc-reference',
|
||||
'nadruk': 'emphasis',
|
||||
'sterk': 'strong',
|
||||
'literal (translation required)': 'literal',
|
||||
'math (translation required)': 'math',
|
||||
'benoemde verwysing': 'named-reference',
|
||||
'anonieme verwysing': 'anonymous-reference',
|
||||
'voetnootverwysing': 'footnote-reference',
|
||||
'aanhalingverwysing': 'citation-reference',
|
||||
'vervangingsverwysing': 'substitution-reference',
|
||||
'teiken': 'target',
|
||||
'uri-verwysing': 'uri-reference',
|
||||
'uri': 'uri-reference',
|
||||
'url': 'uri-reference',
|
||||
'rou': 'raw',}
|
||||
"""Mapping of Afrikaans role names to canonical role names for interpreted text.
|
||||
"""
|
125
docutils/parsers/rst/languages/ca.py
Normal file
125
docutils/parsers/rst/languages/ca.py
Normal file
|
@ -0,0 +1,125 @@
|
|||
# $Id: ca.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Catalan-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'atenci\u00F3': 'attention',
|
||||
u'compte': 'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'perill': 'danger',
|
||||
u'error': 'error',
|
||||
u'suggeriment': 'hint',
|
||||
u'important': 'important',
|
||||
u'nota': 'note',
|
||||
u'consell': 'tip',
|
||||
u'av\u00EDs': 'warning',
|
||||
u'advertiment': 'admonition',
|
||||
u'nota-al-marge': 'sidebar',
|
||||
u'nota-marge': 'sidebar',
|
||||
u'tema': 'topic',
|
||||
u'bloc-de-l\u00EDnies': 'line-block',
|
||||
u'bloc-l\u00EDnies': 'line-block',
|
||||
u'literal-analitzat': 'parsed-literal',
|
||||
u'r\u00FAbrica': 'rubric',
|
||||
u'ep\u00EDgraf': 'epigraph',
|
||||
u'sumari': 'highlights',
|
||||
u'cita-destacada': 'pull-quote',
|
||||
u'compost': 'compound',
|
||||
u'container (translation required)': 'container',
|
||||
#'questions': 'questions',
|
||||
u'taula': 'table',
|
||||
u'taula-csv': 'csv-table',
|
||||
u'taula-llista': 'list-table',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
u'math (translation required)': 'math',
|
||||
u'meta': 'meta',
|
||||
#'imagemap': 'imagemap',
|
||||
u'imatge': 'image',
|
||||
u'figura': 'figure',
|
||||
u'inclou': 'include',
|
||||
u'incloure': 'include',
|
||||
u'cru': 'raw',
|
||||
u'reempla\u00E7a': 'replace',
|
||||
u'reempla\u00E7ar': 'replace',
|
||||
u'unicode': 'unicode',
|
||||
u'data': 'date',
|
||||
u'classe': 'class',
|
||||
u'rol': 'role',
|
||||
u'default-role (translation required)': 'default-role',
|
||||
u'title (translation required)': 'title',
|
||||
u'contingut': 'contents',
|
||||
u'numsec': 'sectnum',
|
||||
u'numeraci\u00F3-de-seccions': 'sectnum',
|
||||
u'numeraci\u00F3-seccions': 'sectnum',
|
||||
u'cap\u00E7alera': 'header',
|
||||
u'peu-de-p\u00E0gina': 'footer',
|
||||
u'peu-p\u00E0gina': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
u'notes-amb-destinacions': 'target-notes',
|
||||
u'notes-destinacions': 'target-notes',
|
||||
u'directiva-de-prova-de-restructuredtext': 'restructuredtext-test-directive'}
|
||||
"""Catalan name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
u'abreviatura': 'abbreviation',
|
||||
u'abreviaci\u00F3': 'abbreviation',
|
||||
u'abrev': 'abbreviation',
|
||||
u'ab': 'abbreviation',
|
||||
u'acr\u00F2nim': 'acronym',
|
||||
u'ac': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
u'\u00EDndex': 'index',
|
||||
u'i': 'index',
|
||||
u'sub\u00EDndex': 'subscript',
|
||||
u'sub': 'subscript',
|
||||
u'super\u00EDndex': 'superscript',
|
||||
u'sup': 'superscript',
|
||||
u'refer\u00E8ncia-a-t\u00EDtol': 'title-reference',
|
||||
u'refer\u00E8ncia-t\u00EDtol': 'title-reference',
|
||||
u't\u00EDtol': 'title-reference',
|
||||
u't': 'title-reference',
|
||||
u'refer\u00E8ncia-a-pep': 'pep-reference',
|
||||
u'refer\u00E8ncia-pep': 'pep-reference',
|
||||
u'pep': 'pep-reference',
|
||||
u'refer\u00E8ncia-a-rfc': 'rfc-reference',
|
||||
u'refer\u00E8ncia-rfc': 'rfc-reference',
|
||||
u'rfc': 'rfc-reference',
|
||||
u'\u00E8mfasi': 'emphasis',
|
||||
u'destacat': 'strong',
|
||||
u'literal': 'literal',
|
||||
u'math (translation required)': 'math',
|
||||
u'refer\u00E8ncia-amb-nom': 'named-reference',
|
||||
u'refer\u00E8ncia-nom': 'named-reference',
|
||||
u'refer\u00E8ncia-an\u00F2nima': 'anonymous-reference',
|
||||
u'refer\u00E8ncia-a-nota-al-peu': 'footnote-reference',
|
||||
u'refer\u00E8ncia-nota-al-peu': 'footnote-reference',
|
||||
u'refer\u00E8ncia-a-cita': 'citation-reference',
|
||||
u'refer\u00E8ncia-cita': 'citation-reference',
|
||||
u'refer\u00E8ncia-a-substituci\u00F3': 'substitution-reference',
|
||||
u'refer\u00E8ncia-substituci\u00F3': 'substitution-reference',
|
||||
u'destinaci\u00F3': 'target',
|
||||
u'refer\u00E8ncia-a-uri': 'uri-reference',
|
||||
u'refer\u00E8ncia-uri': 'uri-reference',
|
||||
u'uri': 'uri-reference',
|
||||
u'url': 'uri-reference',
|
||||
u'cru': 'raw',}
|
||||
"""Mapping of Catalan role names to canonical role names for interpreted text.
|
||||
"""
|
108
docutils/parsers/rst/languages/cs.py
Normal file
108
docutils/parsers/rst/languages/cs.py
Normal file
|
@ -0,0 +1,108 @@
|
|||
# $Id: cs.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: Marek Blaha <mb@dat.cz>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Czech-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'pozor': 'attention',
|
||||
u'caution (translation required)': 'caution', # jak rozlisit caution a warning?
|
||||
u'code (translation required)': 'code',
|
||||
u'nebezpe\u010D\u00ED': 'danger',
|
||||
u'chyba': 'error',
|
||||
u'rada': 'hint',
|
||||
u'd\u016Fle\u017Eit\u00E9': 'important',
|
||||
u'pozn\u00E1mka': 'note',
|
||||
u'tip (translation required)': 'tip',
|
||||
u'varov\u00E1n\u00ED': 'warning',
|
||||
u'admonition (translation required)': 'admonition',
|
||||
u'sidebar (translation required)': 'sidebar',
|
||||
u't\u00E9ma': 'topic',
|
||||
u'line-block (translation required)': 'line-block',
|
||||
u'parsed-literal (translation required)': 'parsed-literal',
|
||||
u'odd\u00EDl': 'rubric',
|
||||
u'moto': 'epigraph',
|
||||
u'highlights (translation required)': 'highlights',
|
||||
u'pull-quote (translation required)': 'pull-quote',
|
||||
u'compound (translation required)': 'compound',
|
||||
u'container (translation required)': 'container',
|
||||
#'questions': 'questions',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
u'table (translation required)': 'table',
|
||||
u'csv-table (translation required)': 'csv-table',
|
||||
u'list-table (translation required)': 'list-table',
|
||||
u'math (translation required)': 'math',
|
||||
u'meta (translation required)': 'meta',
|
||||
#'imagemap': 'imagemap',
|
||||
u'image (translation required)': 'image', # obrazek
|
||||
u'figure (translation required)': 'figure', # a tady?
|
||||
u'include (translation required)': 'include',
|
||||
u'raw (translation required)': 'raw',
|
||||
u'replace (translation required)': 'replace',
|
||||
u'unicode (translation required)': 'unicode',
|
||||
u'datum': 'date',
|
||||
u't\u0159\u00EDda': 'class',
|
||||
u'role (translation required)': 'role',
|
||||
u'default-role (translation required)': 'default-role',
|
||||
u'title (translation required)': 'title',
|
||||
u'obsah': 'contents',
|
||||
u'sectnum (translation required)': 'sectnum',
|
||||
u'section-numbering (translation required)': 'sectnum',
|
||||
u'header (translation required)': 'header',
|
||||
u'footer (translation required)': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
u'target-notes (translation required)': 'target-notes',
|
||||
u'restructuredtext-test-directive': 'restructuredtext-test-directive'}
|
||||
"""Czech name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
u'abbreviation (translation required)': 'abbreviation',
|
||||
u'ab (translation required)': 'abbreviation',
|
||||
u'acronym (translation required)': 'acronym',
|
||||
u'ac (translation required)': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
u'index (translation required)': 'index',
|
||||
u'i (translation required)': 'index',
|
||||
u'subscript (translation required)': 'subscript',
|
||||
u'sub (translation required)': 'subscript',
|
||||
u'superscript (translation required)': 'superscript',
|
||||
u'sup (translation required)': 'superscript',
|
||||
u'title-reference (translation required)': 'title-reference',
|
||||
u'title (translation required)': 'title-reference',
|
||||
u't (translation required)': 'title-reference',
|
||||
u'pep-reference (translation required)': 'pep-reference',
|
||||
u'pep (translation required)': 'pep-reference',
|
||||
u'rfc-reference (translation required)': 'rfc-reference',
|
||||
u'rfc (translation required)': 'rfc-reference',
|
||||
u'emphasis (translation required)': 'emphasis',
|
||||
u'strong (translation required)': 'strong',
|
||||
u'literal (translation required)': 'literal',
|
||||
u'math (translation required)': 'math',
|
||||
u'named-reference (translation required)': 'named-reference',
|
||||
u'anonymous-reference (translation required)': 'anonymous-reference',
|
||||
u'footnote-reference (translation required)': 'footnote-reference',
|
||||
u'citation-reference (translation required)': 'citation-reference',
|
||||
u'substitution-reference (translation required)': 'substitution-reference',
|
||||
u'target (translation required)': 'target',
|
||||
u'uri-reference (translation required)': 'uri-reference',
|
||||
u'uri (translation required)': 'uri-reference',
|
||||
u'url (translation required)': 'uri-reference',
|
||||
u'raw (translation required)': 'raw',}
|
||||
"""Mapping of Czech role names to canonical role names for interpreted text.
|
||||
"""
|
103
docutils/parsers/rst/languages/de.py
Normal file
103
docutils/parsers/rst/languages/de.py
Normal file
|
@ -0,0 +1,103 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: de.py 7223 2011-11-21 16:43:06Z milde $
|
||||
# Authors: Engelbert Gruber <grubert@users.sourceforge.net>;
|
||||
# Lea Wiemann <LeWiemann@gmail.com>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
German-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
'achtung': 'attention',
|
||||
'vorsicht': 'caution',
|
||||
'code': 'code',
|
||||
'gefahr': 'danger',
|
||||
'fehler': 'error',
|
||||
'hinweis': 'hint',
|
||||
'wichtig': 'important',
|
||||
'notiz': 'note',
|
||||
'tipp': 'tip',
|
||||
'warnung': 'warning',
|
||||
'ermahnung': 'admonition',
|
||||
'kasten': 'sidebar',
|
||||
'seitenkasten': 'sidebar',
|
||||
'thema': 'topic',
|
||||
'zeilen-block': 'line-block',
|
||||
'parsed-literal (translation required)': 'parsed-literal',
|
||||
'rubrik': 'rubric',
|
||||
'epigraph': 'epigraph',
|
||||
'highlights (translation required)': 'highlights',
|
||||
u'pull-quote': 'pull-quote', # commonly used in German too
|
||||
u'seitenansprache': 'pull-quote', # cf. http://www.typografie.info/2/wiki.php?title=Seitenansprache
|
||||
'zusammengesetzt': 'compound',
|
||||
'verbund': 'compound',
|
||||
u'container': 'container',
|
||||
#'fragen': 'questions',
|
||||
'tabelle': 'table',
|
||||
'csv-tabelle': 'csv-table',
|
||||
'list-table (translation required)': 'list-table',
|
||||
u'mathe': 'math',
|
||||
u'formel': 'math',
|
||||
'meta': 'meta',
|
||||
#'imagemap': 'imagemap',
|
||||
'bild': 'image',
|
||||
'abbildung': 'figure',
|
||||
u'unverändert': 'raw',
|
||||
u'roh': 'raw',
|
||||
u'einfügen': 'include',
|
||||
'ersetzung': 'replace',
|
||||
'ersetzen': 'replace',
|
||||
'ersetze': 'replace',
|
||||
'unicode': 'unicode',
|
||||
'datum': 'date',
|
||||
'klasse': 'class',
|
||||
'rolle': 'role',
|
||||
u'default-role (translation required)': 'default-role',
|
||||
u'title (translation required)': 'title',
|
||||
'inhalt': 'contents',
|
||||
'kapitel-nummerierung': 'sectnum',
|
||||
'abschnitts-nummerierung': 'sectnum',
|
||||
u'linkziel-fußfnoten': 'target-notes',
|
||||
u'header (translation required)': 'header',
|
||||
u'footer (translation required)': 'footer',
|
||||
#u'fußfnoten': 'footnotes',
|
||||
#'zitate': 'citations',
|
||||
}
|
||||
"""German name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
u'abkürzung': 'abbreviation',
|
||||
'akronym': 'acronym',
|
||||
u'code': 'code',
|
||||
'index': 'index',
|
||||
'tiefgestellt': 'subscript',
|
||||
'hochgestellt': 'superscript',
|
||||
'titel-referenz': 'title-reference',
|
||||
'pep-referenz': 'pep-reference',
|
||||
'rfc-referenz': 'rfc-reference',
|
||||
'betonung': 'emphasis',
|
||||
'fett': 'strong',
|
||||
u'wörtlich': 'literal',
|
||||
u'mathe': 'math',
|
||||
'benannte-referenz': 'named-reference',
|
||||
'unbenannte-referenz': 'anonymous-reference',
|
||||
u'fußfnoten-referenz': 'footnote-reference',
|
||||
'zitat-referenz': 'citation-reference',
|
||||
'ersetzungs-referenz': 'substitution-reference',
|
||||
'ziel': 'target',
|
||||
'uri-referenz': 'uri-reference',
|
||||
u'unverändert': 'raw',
|
||||
u'roh': 'raw',}
|
||||
"""Mapping of German role names to canonical role names for interpreted text.
|
||||
"""
|
110
docutils/parsers/rst/languages/en.py
Normal file
110
docutils/parsers/rst/languages/en.py
Normal file
|
@ -0,0 +1,110 @@
|
|||
# $Id: en.py 7179 2011-10-15 22:06:45Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
English-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
'attention': 'attention',
|
||||
'caution': 'caution',
|
||||
'code': 'code',
|
||||
'code-block': 'code',
|
||||
'sourcecode': 'code',
|
||||
'danger': 'danger',
|
||||
'error': 'error',
|
||||
'hint': 'hint',
|
||||
'important': 'important',
|
||||
'note': 'note',
|
||||
'tip': 'tip',
|
||||
'warning': 'warning',
|
||||
'admonition': 'admonition',
|
||||
'sidebar': 'sidebar',
|
||||
'topic': 'topic',
|
||||
'line-block': 'line-block',
|
||||
'parsed-literal': 'parsed-literal',
|
||||
'rubric': 'rubric',
|
||||
'epigraph': 'epigraph',
|
||||
'highlights': 'highlights',
|
||||
'pull-quote': 'pull-quote',
|
||||
'compound': 'compound',
|
||||
'container': 'container',
|
||||
#'questions': 'questions',
|
||||
'table': 'table',
|
||||
'csv-table': 'csv-table',
|
||||
'list-table': 'list-table',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
'meta': 'meta',
|
||||
'math': 'math',
|
||||
#'imagemap': 'imagemap',
|
||||
'image': 'image',
|
||||
'figure': 'figure',
|
||||
'include': 'include',
|
||||
'raw': 'raw',
|
||||
'replace': 'replace',
|
||||
'unicode': 'unicode',
|
||||
'date': 'date',
|
||||
'class': 'class',
|
||||
'role': 'role',
|
||||
'default-role': 'default-role',
|
||||
'title': 'title',
|
||||
'contents': 'contents',
|
||||
'sectnum': 'sectnum',
|
||||
'section-numbering': 'sectnum',
|
||||
'header': 'header',
|
||||
'footer': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
'target-notes': 'target-notes',
|
||||
'restructuredtext-test-directive': 'restructuredtext-test-directive'}
|
||||
"""English name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
'abbreviation': 'abbreviation',
|
||||
'ab': 'abbreviation',
|
||||
'acronym': 'acronym',
|
||||
'ac': 'acronym',
|
||||
'code': 'code',
|
||||
'index': 'index',
|
||||
'i': 'index',
|
||||
'subscript': 'subscript',
|
||||
'sub': 'subscript',
|
||||
'superscript': 'superscript',
|
||||
'sup': 'superscript',
|
||||
'title-reference': 'title-reference',
|
||||
'title': 'title-reference',
|
||||
't': 'title-reference',
|
||||
'pep-reference': 'pep-reference',
|
||||
'pep': 'pep-reference',
|
||||
'rfc-reference': 'rfc-reference',
|
||||
'rfc': 'rfc-reference',
|
||||
'emphasis': 'emphasis',
|
||||
'strong': 'strong',
|
||||
'literal': 'literal',
|
||||
'math': 'math',
|
||||
'named-reference': 'named-reference',
|
||||
'anonymous-reference': 'anonymous-reference',
|
||||
'footnote-reference': 'footnote-reference',
|
||||
'citation-reference': 'citation-reference',
|
||||
'substitution-reference': 'substitution-reference',
|
||||
'target': 'target',
|
||||
'uri-reference': 'uri-reference',
|
||||
'uri': 'uri-reference',
|
||||
'url': 'uri-reference',
|
||||
'raw': 'raw',}
|
||||
"""Mapping of English role names to canonical role names for interpreted text.
|
||||
"""
|
118
docutils/parsers/rst/languages/eo.py
Normal file
118
docutils/parsers/rst/languages/eo.py
Normal file
|
@ -0,0 +1,118 @@
|
|||
# $Id: eo.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: Marcelo Huerta San Martin <richieadler@users.sourceforge.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Esperanto-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'atentu': 'attention',
|
||||
u'zorgu': 'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'dangxero': 'danger',
|
||||
u'dan\u011dero': 'danger',
|
||||
u'eraro': 'error',
|
||||
u'spuro': 'hint',
|
||||
u'grava': 'important',
|
||||
u'noto': 'note',
|
||||
u'helpeto': 'tip',
|
||||
u'averto': 'warning',
|
||||
u'admono': 'admonition',
|
||||
u'flankteksto': 'sidebar',
|
||||
u'temo': 'topic',
|
||||
u'linea-bloko': 'line-block',
|
||||
u'analizota-literalo': 'parsed-literal',
|
||||
u'rubriko': 'rubric',
|
||||
u'epigrafo': 'epigraph',
|
||||
u'elstarajxoj': 'highlights',
|
||||
u'elstara\u0135oj': 'highlights',
|
||||
u'ekstera-citajxo': 'pull-quote',
|
||||
u'ekstera-cita\u0135o': 'pull-quote',
|
||||
u'kombinajxo': 'compound',
|
||||
u'kombina\u0135o': 'compound',
|
||||
u'tekstingo': 'container',
|
||||
u'enhavilo': 'container',
|
||||
#'questions': 'questions',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
u'tabelo': 'table',
|
||||
u'tabelo-vdk': 'csv-table', # "valoroj disigitaj per komoj"
|
||||
u'tabelo-csv': 'csv-table',
|
||||
u'tabelo-lista': 'list-table',
|
||||
u'meta': 'meta',
|
||||
'math (translation required)': 'math',
|
||||
#'imagemap': 'imagemap',
|
||||
u'bildo': 'image',
|
||||
u'figuro': 'figure',
|
||||
u'inkludi': 'include',
|
||||
u'senanaliza': 'raw',
|
||||
u'anstatauxi': 'replace',
|
||||
u'anstata\u016di': 'replace',
|
||||
u'unicode': 'unicode',
|
||||
u'dato': 'date',
|
||||
u'klaso': 'class',
|
||||
u'rolo': 'role',
|
||||
u'preterlasita-rolo': 'default-role',
|
||||
u'titolo': 'title',
|
||||
u'enhavo': 'contents',
|
||||
u'seknum': 'sectnum',
|
||||
u'sekcia-numerado': 'sectnum',
|
||||
u'kapsekcio': 'header',
|
||||
u'piedsekcio': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
u'celaj-notoj': 'target-notes',
|
||||
u'restructuredtext-test-directive': 'restructuredtext-test-directive'}
|
||||
"""Esperanto name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
u'mallongigo': 'abbreviation',
|
||||
u'mall': 'abbreviation',
|
||||
u'komenclitero': 'acronym',
|
||||
u'kl': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
u'indekso': 'index',
|
||||
u'i': 'index',
|
||||
u'subskribo': 'subscript',
|
||||
u'sub': 'subscript',
|
||||
u'supraskribo': 'superscript',
|
||||
u'sup': 'superscript',
|
||||
u'titola-referenco': 'title-reference',
|
||||
u'titolo': 'title-reference',
|
||||
u't': 'title-reference',
|
||||
u'pep-referenco': 'pep-reference',
|
||||
u'pep': 'pep-reference',
|
||||
u'rfc-referenco': 'rfc-reference',
|
||||
u'rfc': 'rfc-reference',
|
||||
u'emfazo': 'emphasis',
|
||||
u'forta': 'strong',
|
||||
u'litera': 'literal',
|
||||
'math (translation required)': 'math',
|
||||
u'nomita-referenco': 'named-reference',
|
||||
u'nenomita-referenco': 'anonymous-reference',
|
||||
u'piednota-referenco': 'footnote-reference',
|
||||
u'citajxo-referenco': 'citation-reference',
|
||||
u'cita\u0135o-referenco': 'citation-reference',
|
||||
u'anstatauxa-referenco': 'substitution-reference',
|
||||
u'anstata\u016da-referenco': 'substitution-reference',
|
||||
u'celo': 'target',
|
||||
u'uri-referenco': 'uri-reference',
|
||||
u'uri': 'uri-reference',
|
||||
u'url': 'uri-reference',
|
||||
u'senanaliza': 'raw',
|
||||
}
|
||||
"""Mapping of Esperanto role names to canonical role names for interpreted text.
|
||||
"""
|
125
docutils/parsers/rst/languages/es.py
Normal file
125
docutils/parsers/rst/languages/es.py
Normal file
|
@ -0,0 +1,125 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: es.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: Marcelo Huerta San Martín <richieadler@users.sourceforge.net>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Spanish-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
u'atenci\u00f3n': 'attention',
|
||||
u'atencion': 'attention',
|
||||
u'precauci\u00f3n': 'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'precaucion': 'caution',
|
||||
u'peligro': 'danger',
|
||||
u'error': 'error',
|
||||
u'sugerencia': 'hint',
|
||||
u'importante': 'important',
|
||||
u'nota': 'note',
|
||||
u'consejo': 'tip',
|
||||
u'advertencia': 'warning',
|
||||
u'exhortacion': 'admonition',
|
||||
u'exhortaci\u00f3n': 'admonition',
|
||||
u'nota-al-margen': 'sidebar',
|
||||
u'tema': 'topic',
|
||||
u'bloque-de-lineas': 'line-block',
|
||||
u'bloque-de-l\u00edneas': 'line-block',
|
||||
u'literal-evaluado': 'parsed-literal',
|
||||
u'firma': 'rubric',
|
||||
u'ep\u00edgrafe': 'epigraph',
|
||||
u'epigrafe': 'epigraph',
|
||||
u'destacado': 'highlights',
|
||||
u'cita-destacada': 'pull-quote',
|
||||
u'combinacion': 'compound',
|
||||
u'combinaci\u00f3n': 'compound',
|
||||
u'contenedor': 'container',
|
||||
#'questions': 'questions',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
u'tabla': 'table',
|
||||
u'tabla-vsc': 'csv-table',
|
||||
u'tabla-csv': 'csv-table',
|
||||
u'tabla-lista': 'list-table',
|
||||
u'meta': 'meta',
|
||||
'math (translation required)': 'math',
|
||||
#'imagemap': 'imagemap',
|
||||
u'imagen': 'image',
|
||||
u'figura': 'figure',
|
||||
u'incluir': 'include',
|
||||
u'sin-analisis': 'raw',
|
||||
u'sin-an\u00e1lisis': 'raw',
|
||||
u'reemplazar': 'replace',
|
||||
u'unicode': 'unicode',
|
||||
u'fecha': 'date',
|
||||
u'clase': 'class',
|
||||
u'rol': 'role',
|
||||
u'rol-por-omision': 'default-role',
|
||||
u'rol-por-omisi\u00f3n': 'default-role',
|
||||
u'titulo': 'title',
|
||||
u't\u00edtulo': 'title',
|
||||
u'contenido': 'contents',
|
||||
u'numseccion': 'sectnum',
|
||||
u'numsecci\u00f3n': 'sectnum',
|
||||
u'numeracion-seccion': 'sectnum',
|
||||
u'numeraci\u00f3n-secci\u00f3n': 'sectnum',
|
||||
u'notas-destino': 'target-notes',
|
||||
u'cabecera': 'header',
|
||||
u'pie': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
u'restructuredtext-test-directive': 'restructuredtext-test-directive'}
|
||||
"""Spanish name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
u'abreviatura': 'abbreviation',
|
||||
u'ab': 'abbreviation',
|
||||
u'acronimo': 'acronym',
|
||||
u'acronimo': 'acronym',
|
||||
u'ac': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
u'indice': 'index',
|
||||
u'i': 'index',
|
||||
u'subindice': 'subscript',
|
||||
u'sub\u00edndice': 'subscript',
|
||||
u'superindice': 'superscript',
|
||||
u'super\u00edndice': 'superscript',
|
||||
u'referencia-titulo': 'title-reference',
|
||||
u'titulo': 'title-reference',
|
||||
u't': 'title-reference',
|
||||
u'referencia-pep': 'pep-reference',
|
||||
u'pep': 'pep-reference',
|
||||
u'referencia-rfc': 'rfc-reference',
|
||||
u'rfc': 'rfc-reference',
|
||||
u'enfasis': 'emphasis',
|
||||
u'\u00e9nfasis': 'emphasis',
|
||||
u'destacado': 'strong',
|
||||
u'literal': 'literal', # "literal" is also a word in Spanish :-)
|
||||
u'math (translation required)': 'math',
|
||||
u'referencia-con-nombre': 'named-reference',
|
||||
u'referencia-anonima': 'anonymous-reference',
|
||||
u'referencia-an\u00f3nima': 'anonymous-reference',
|
||||
u'referencia-nota-al-pie': 'footnote-reference',
|
||||
u'referencia-cita': 'citation-reference',
|
||||
u'referencia-sustitucion': 'substitution-reference',
|
||||
u'referencia-sustituci\u00f3n': 'substitution-reference',
|
||||
u'destino': 'target',
|
||||
u'referencia-uri': 'uri-reference',
|
||||
u'uri': 'uri-reference',
|
||||
u'url': 'uri-reference',
|
||||
u'sin-analisis': 'raw',
|
||||
u'sin-an\u00e1lisis': 'raw',
|
||||
}
|
||||
"""Mapping of Spanish role names to canonical role names for interpreted text.
|
||||
"""
|
98
docutils/parsers/rst/languages/fi.py
Normal file
98
docutils/parsers/rst/languages/fi.py
Normal file
|
@ -0,0 +1,98 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: fi.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: Asko Soukka <asko.soukka@iki.fi>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Finnish-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'huomio': u'attention',
|
||||
u'varo': u'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'vaara': u'danger',
|
||||
u'virhe': u'error',
|
||||
u'vihje': u'hint',
|
||||
u't\u00e4rke\u00e4\u00e4': u'important',
|
||||
u'huomautus': u'note',
|
||||
u'neuvo': u'tip',
|
||||
u'varoitus': u'warning',
|
||||
u'kehotus': u'admonition',
|
||||
u'sivupalkki': u'sidebar',
|
||||
u'aihe': u'topic',
|
||||
u'rivi': u'line-block',
|
||||
u'tasalevyinen': u'parsed-literal',
|
||||
u'ohje': u'rubric',
|
||||
u'epigraafi': u'epigraph',
|
||||
u'kohokohdat': u'highlights',
|
||||
u'lainaus': u'pull-quote',
|
||||
u'taulukko': u'table',
|
||||
u'csv-taulukko': u'csv-table',
|
||||
u'list-table (translation required)': 'list-table',
|
||||
u'compound (translation required)': 'compound',
|
||||
u'container (translation required)': 'container',
|
||||
#u'kysymykset': u'questions',
|
||||
u'meta': u'meta',
|
||||
'math (translation required)': 'math',
|
||||
#u'kuvakartta': u'imagemap',
|
||||
u'kuva': u'image',
|
||||
u'kaavio': u'figure',
|
||||
u'sis\u00e4llyt\u00e4': u'include',
|
||||
u'raaka': u'raw',
|
||||
u'korvaa': u'replace',
|
||||
u'unicode': u'unicode',
|
||||
u'p\u00e4iv\u00e4ys': u'date',
|
||||
u'luokka': u'class',
|
||||
u'rooli': u'role',
|
||||
u'default-role (translation required)': 'default-role',
|
||||
u'title (translation required)': 'title',
|
||||
u'sis\u00e4llys': u'contents',
|
||||
u'kappale': u'sectnum',
|
||||
u'header (translation required)': 'header',
|
||||
u'footer (translation required)': 'footer',
|
||||
#u'alaviitteet': u'footnotes',
|
||||
#u'viitaukset': u'citations',
|
||||
u'target-notes (translation required)': u'target-notes'}
|
||||
"""Finnish name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
u'lyhennys': u'abbreviation',
|
||||
u'akronyymi': u'acronym',
|
||||
u'kirjainsana': u'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
u'hakemisto': u'index',
|
||||
u'luettelo': u'index',
|
||||
u'alaindeksi': u'subscript',
|
||||
u'indeksi': u'subscript',
|
||||
u'yl\u00e4indeksi': u'superscript',
|
||||
u'title-reference (translation required)': u'title-reference',
|
||||
u'title (translation required)': u'title-reference',
|
||||
u'pep-reference (translation required)': u'pep-reference',
|
||||
u'rfc-reference (translation required)': u'rfc-reference',
|
||||
u'korostus': u'emphasis',
|
||||
u'vahvistus': u'strong',
|
||||
u'tasalevyinen': u'literal',
|
||||
'math (translation required)': 'math',
|
||||
u'named-reference (translation required)': u'named-reference',
|
||||
u'anonymous-reference (translation required)': u'anonymous-reference',
|
||||
u'footnote-reference (translation required)': u'footnote-reference',
|
||||
u'citation-reference (translation required)': u'citation-reference',
|
||||
u'substitution-reference (translation required)': u'substitution-reference',
|
||||
u'kohde': u'target',
|
||||
u'uri-reference (translation required)': u'uri-reference',
|
||||
u'raw (translation required)': 'raw',}
|
||||
"""Mapping of Finnish role names to canonical role names for interpreted text.
|
||||
"""
|
103
docutils/parsers/rst/languages/fr.py
Normal file
103
docutils/parsers/rst/languages/fr.py
Normal file
|
@ -0,0 +1,103 @@
|
|||
# $Id: fr.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Authors: David Goodger <goodger@python.org>; William Dode
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
French-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
u'attention': 'attention',
|
||||
u'pr\u00E9caution': 'caution',
|
||||
u'code': 'code',
|
||||
u'danger': 'danger',
|
||||
u'erreur': 'error',
|
||||
u'conseil': 'hint',
|
||||
u'important': 'important',
|
||||
u'note': 'note',
|
||||
u'astuce': 'tip',
|
||||
u'avertissement': 'warning',
|
||||
u'admonition': 'admonition',
|
||||
u'encadr\u00E9': 'sidebar',
|
||||
u'sujet': 'topic',
|
||||
u'bloc-textuel': 'line-block',
|
||||
u'bloc-interpr\u00E9t\u00E9': 'parsed-literal',
|
||||
u'code-interpr\u00E9t\u00E9': 'parsed-literal',
|
||||
u'intertitre': 'rubric',
|
||||
u'exergue': 'epigraph',
|
||||
u'\u00E9pigraphe': 'epigraph',
|
||||
u'chapeau': 'highlights',
|
||||
u'accroche': 'pull-quote',
|
||||
u'compound (translation required)': 'compound',
|
||||
u'container (translation required)': 'container',
|
||||
#u'questions': 'questions',
|
||||
#u'qr': 'questions',
|
||||
#u'faq': 'questions',
|
||||
u'tableau': 'table',
|
||||
u'csv-table (translation required)': 'csv-table',
|
||||
u'list-table (translation required)': 'list-table',
|
||||
u'm\u00E9ta': 'meta',
|
||||
'math (translation required)': 'math',
|
||||
#u'imagemap (translation required)': 'imagemap',
|
||||
u'image': 'image',
|
||||
u'figure': 'figure',
|
||||
u'inclure': 'include',
|
||||
u'brut': 'raw',
|
||||
u'remplacer': 'replace',
|
||||
u'remplace': 'replace',
|
||||
u'unicode': 'unicode',
|
||||
u'date': 'date',
|
||||
u'classe': 'class',
|
||||
u'role (translation required)': 'role',
|
||||
u'default-role (translation required)': 'default-role',
|
||||
u'titre (translation required)': 'title',
|
||||
u'sommaire': 'contents',
|
||||
u'table-des-mati\u00E8res': 'contents',
|
||||
u'sectnum': 'sectnum',
|
||||
u'section-num\u00E9rot\u00E9e': 'sectnum',
|
||||
u'liens': 'target-notes',
|
||||
u'header (translation required)': 'header',
|
||||
u'footer (translation required)': 'footer',
|
||||
#u'footnotes (translation required)': 'footnotes',
|
||||
#u'citations (translation required)': 'citations',
|
||||
}
|
||||
"""French name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
u'abr\u00E9viation': 'abbreviation',
|
||||
u'acronyme': 'acronym',
|
||||
u'sigle': 'acronym',
|
||||
u'code': 'code',
|
||||
u'index': 'index',
|
||||
u'indice': 'subscript',
|
||||
u'ind': 'subscript',
|
||||
u'exposant': 'superscript',
|
||||
u'exp': 'superscript',
|
||||
u'titre-r\u00E9f\u00E9rence': 'title-reference',
|
||||
u'titre': 'title-reference',
|
||||
u'pep-r\u00E9f\u00E9rence': 'pep-reference',
|
||||
u'rfc-r\u00E9f\u00E9rence': 'rfc-reference',
|
||||
u'emphase': 'emphasis',
|
||||
u'fort': 'strong',
|
||||
u'litt\u00E9ral': 'literal',
|
||||
'math (translation required)': 'math',
|
||||
u'nomm\u00E9e-r\u00E9f\u00E9rence': 'named-reference',
|
||||
u'anonyme-r\u00E9f\u00E9rence': 'anonymous-reference',
|
||||
u'note-r\u00E9f\u00E9rence': 'footnote-reference',
|
||||
u'citation-r\u00E9f\u00E9rence': 'citation-reference',
|
||||
u'substitution-r\u00E9f\u00E9rence': 'substitution-reference',
|
||||
u'lien': 'target',
|
||||
u'uri-r\u00E9f\u00E9rence': 'uri-reference',
|
||||
u'brut': 'raw',}
|
||||
"""Mapping of French role names to canonical role names for interpreted text.
|
||||
"""
|
111
docutils/parsers/rst/languages/gl.py
Normal file
111
docutils/parsers/rst/languages/gl.py
Normal file
|
@ -0,0 +1,111 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Author: David Goodger
|
||||
# Contact: goodger@users.sourceforge.net
|
||||
# Revision: $Revision: 4229 $
|
||||
# Date: $Date: 2005-12-23 00:46:16 +0100 (Fri, 23 Dec 2005) $
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Galician-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'atenci\u00f3n': 'attention',
|
||||
u'advertencia': 'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'perigo': 'danger',
|
||||
u'erro': 'error',
|
||||
u'pista': 'hint',
|
||||
u'importante': 'important',
|
||||
u'nota': 'note',
|
||||
u'consello': 'tip',
|
||||
u'aviso': 'warning',
|
||||
u'admonici\u00f3n': 'admonition',
|
||||
u'barra lateral': 'sidebar',
|
||||
u't\u00f3pico': 'topic',
|
||||
u'bloque-li\u00f1a': 'line-block',
|
||||
u'literal-analizado': 'parsed-literal',
|
||||
u'r\u00fabrica': 'rubric',
|
||||
u'ep\u00edgrafe': 'epigraph',
|
||||
u'realzados': 'highlights',
|
||||
u'coller-citaci\u00f3n': 'pull-quote',
|
||||
u'compor': 'compound',
|
||||
u'recipiente': 'container',
|
||||
#'questions': 'questions',
|
||||
u't\u00e1boa': 'table',
|
||||
u't\u00e1boa-csv': 'csv-table',
|
||||
u't\u00e1boa-listaxe': 'list-table',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
u'meta': 'meta',
|
||||
'math (translation required)': 'math',
|
||||
#'imagemap': 'imagemap',
|
||||
u'imaxe': 'image',
|
||||
u'figura': 'figure',
|
||||
u'inclu\u00edr': 'include',
|
||||
u'cru': 'raw',
|
||||
u'substitu\u00edr': 'replace',
|
||||
u'unicode': 'unicode',
|
||||
u'data': 'date',
|
||||
u'clase': 'class',
|
||||
u'regra': 'role',
|
||||
u'regra-predeterminada': 'default-role',
|
||||
u't\u00edtulo': 'title',
|
||||
u'contido': 'contents',
|
||||
u'seccnum': 'sectnum',
|
||||
u'secci\u00f3n-numerar': 'sectnum',
|
||||
u'cabeceira': 'header',
|
||||
u'p\u00e9 de p\u00e1xina': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
u'notas-destino': 'target-notes',
|
||||
u'texto restruturado-proba-directiva': 'restructuredtext-test-directive'}
|
||||
"""Galician name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
u'abreviatura': 'abbreviation',
|
||||
u'ab': 'abbreviation',
|
||||
u'acr\u00f3nimo': 'acronym',
|
||||
u'ac': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
u'\u00edndice': 'index',
|
||||
u'i': 'index',
|
||||
u'sub\u00edndice': 'subscript',
|
||||
u'sub': 'subscript',
|
||||
u'super\u00edndice': 'superscript',
|
||||
u'sup': 'superscript',
|
||||
u'referencia t\u00edtulo': 'title-reference',
|
||||
u't\u00edtulo': 'title-reference',
|
||||
u't': 'title-reference',
|
||||
u'referencia-pep': 'pep-reference',
|
||||
u'pep': 'pep-reference',
|
||||
u'referencia-rfc': 'rfc-reference',
|
||||
u'rfc': 'rfc-reference',
|
||||
u'\u00e9nfase': 'emphasis',
|
||||
u'forte': 'strong',
|
||||
u'literal': 'literal',
|
||||
'math (translation required)': 'math',
|
||||
u'referencia-nome': 'named-reference',
|
||||
u'referencia-an\u00f3nimo': 'anonymous-reference',
|
||||
u'referencia-nota ao p\u00e9': 'footnote-reference',
|
||||
u'referencia-citaci\u00f3n': 'citation-reference',
|
||||
u'referencia-substituci\u00f3n': 'substitution-reference',
|
||||
u'destino': 'target',
|
||||
u'referencia-uri': 'uri-reference',
|
||||
u'uri': 'uri-reference',
|
||||
u'url': 'uri-reference',
|
||||
u'cru': 'raw',}
|
||||
"""Mapping of Galician role names to canonical role names for interpreted text.
|
||||
"""
|
108
docutils/parsers/rst/languages/he.py
Normal file
108
docutils/parsers/rst/languages/he.py
Normal file
|
@ -0,0 +1,108 @@
|
|||
# Author: Meir Kriheli
|
||||
# Id: $Id: he.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
English-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'\u05ea\u05e9\u05d5\u05de\u05ea \u05dc\u05d1': 'attention',
|
||||
u'\u05d6\u05d4\u05d9\u05e8\u05d5\u05ea': 'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'\u05e1\u05db\u05e0\u05d4': 'danger',
|
||||
u'\u05e9\u05d2\u05d9\u05d0\u05d4' : 'error',
|
||||
u'\u05e8\u05de\u05d6': 'hint',
|
||||
u'\u05d7\u05e9\u05d5\u05d1': 'important',
|
||||
u'\u05d4\u05e2\u05e8\u05d4': 'note',
|
||||
u'\u05d8\u05d9\u05e4': 'tip',
|
||||
u'\u05d0\u05d6\u05d4\u05e8\u05d4': 'warning',
|
||||
'admonition': 'admonition',
|
||||
'sidebar': 'sidebar',
|
||||
'topic': 'topic',
|
||||
'line-block': 'line-block',
|
||||
'parsed-literal': 'parsed-literal',
|
||||
'rubric': 'rubric',
|
||||
'epigraph': 'epigraph',
|
||||
'highlights': 'highlights',
|
||||
'pull-quote': 'pull-quote',
|
||||
'compound': 'compound',
|
||||
'container': 'container',
|
||||
#'questions': 'questions',
|
||||
'table': 'table',
|
||||
'csv-table': 'csv-table',
|
||||
'list-table': 'list-table',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
'meta': 'meta',
|
||||
'math (translation required)': 'math',
|
||||
#'imagemap': 'imagemap',
|
||||
u'\u05ea\u05de\u05d5\u05e0\u05d4': 'image',
|
||||
'figure': 'figure',
|
||||
'include': 'include',
|
||||
'raw': 'raw',
|
||||
'replace': 'replace',
|
||||
'unicode': 'unicode',
|
||||
'date': 'date',
|
||||
u'\u05e1\u05d2\u05e0\u05d5\u05df': 'class',
|
||||
'role': 'role',
|
||||
'default-role': 'default-role',
|
||||
'title': 'title',
|
||||
u'\u05ea\u05d5\u05db\u05df': 'contents',
|
||||
'sectnum': 'sectnum',
|
||||
'section-numbering': 'sectnum',
|
||||
'header': 'header',
|
||||
'footer': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
'target-notes': 'target-notes',
|
||||
'restructuredtext-test-directive': 'restructuredtext-test-directive'}
|
||||
"""English name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
'abbreviation': 'abbreviation',
|
||||
'ab': 'abbreviation',
|
||||
'acronym': 'acronym',
|
||||
'ac': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
'index': 'index',
|
||||
'i': 'index',
|
||||
u'\u05ea\u05d7\u05ea\u05d9': 'subscript',
|
||||
'sub': 'subscript',
|
||||
u'\u05e2\u05d9\u05dc\u05d9': 'superscript',
|
||||
'sup': 'superscript',
|
||||
'title-reference': 'title-reference',
|
||||
'title': 'title-reference',
|
||||
't': 'title-reference',
|
||||
'pep-reference': 'pep-reference',
|
||||
'pep': 'pep-reference',
|
||||
'rfc-reference': 'rfc-reference',
|
||||
'rfc': 'rfc-reference',
|
||||
'emphasis': 'emphasis',
|
||||
'strong': 'strong',
|
||||
'literal': 'literal',
|
||||
'math (translation required)': 'math',
|
||||
'named-reference': 'named-reference',
|
||||
'anonymous-reference': 'anonymous-reference',
|
||||
'footnote-reference': 'footnote-reference',
|
||||
'citation-reference': 'citation-reference',
|
||||
'substitution-reference': 'substitution-reference',
|
||||
'target': 'target',
|
||||
'uri-reference': 'uri-reference',
|
||||
'uri': 'uri-reference',
|
||||
'url': 'uri-reference',
|
||||
'raw': 'raw',}
|
||||
"""Mapping of English role names to canonical role names for interpreted text.
|
||||
"""
|
97
docutils/parsers/rst/languages/it.py
Normal file
97
docutils/parsers/rst/languages/it.py
Normal file
|
@ -0,0 +1,97 @@
|
|||
# $Id: it.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Authors: Nicola Larosa <docutils@tekNico.net>;
|
||||
# Lele Gaifax <lele@seldati.it>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# Beware: the italian translation of the reStructuredText documentation
|
||||
# at http://docit.bice.dyndns.org/static/ReST, in particular
|
||||
# http://docit.bice.dyndns.org/static/ReST/ref/rst/directives.html, needs
|
||||
# to be synced with the content of this file.
|
||||
|
||||
"""
|
||||
Italian-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
'attenzione': 'attention',
|
||||
'cautela': 'caution',
|
||||
'code (translation required)': 'code',
|
||||
'pericolo': 'danger',
|
||||
'errore': 'error',
|
||||
'suggerimento': 'hint',
|
||||
'importante': 'important',
|
||||
'nota': 'note',
|
||||
'consiglio': 'tip',
|
||||
'avvertenza': 'warning',
|
||||
'ammonizione': 'admonition',
|
||||
'riquadro': 'sidebar',
|
||||
'argomento': 'topic',
|
||||
'blocco-di-righe': 'line-block',
|
||||
'blocco-interpretato': 'parsed-literal',
|
||||
'rubrica': 'rubric',
|
||||
'epigrafe': 'epigraph',
|
||||
'punti-salienti': 'highlights',
|
||||
'estratto-evidenziato': 'pull-quote',
|
||||
'composito': 'compound',
|
||||
u'container (translation required)': 'container',
|
||||
#'questions': 'questions',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
'tabella': 'table',
|
||||
'tabella-csv': 'csv-table',
|
||||
'tabella-elenco': 'list-table',
|
||||
'meta': 'meta',
|
||||
'math (translation required)': 'math',
|
||||
#'imagemap': 'imagemap',
|
||||
'immagine': 'image',
|
||||
'figura': 'figure',
|
||||
'includi': 'include',
|
||||
'grezzo': 'raw',
|
||||
'sostituisci': 'replace',
|
||||
'unicode': 'unicode',
|
||||
'data': 'date',
|
||||
'classe': 'class',
|
||||
'ruolo': 'role',
|
||||
'ruolo-predefinito': 'default-role',
|
||||
'titolo': 'title',
|
||||
'indice': 'contents',
|
||||
'contenuti': 'contents',
|
||||
'seznum': 'sectnum',
|
||||
'sezioni-autonumerate': 'sectnum',
|
||||
'annota-riferimenti-esterni': 'target-notes',
|
||||
'intestazione': 'header',
|
||||
'piede-pagina': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
'restructuredtext-test-directive': 'restructuredtext-test-directive'}
|
||||
"""Italian name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
'abbreviazione': 'abbreviation',
|
||||
'acronimo': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
'indice': 'index',
|
||||
'deponente': 'subscript',
|
||||
'esponente': 'superscript',
|
||||
'riferimento-titolo': 'title-reference',
|
||||
'riferimento-pep': 'pep-reference',
|
||||
'riferimento-rfc': 'rfc-reference',
|
||||
'enfasi': 'emphasis',
|
||||
'forte': 'strong',
|
||||
'letterale': 'literal',
|
||||
'math (translation required)': 'math',
|
||||
'riferimento-con-nome': 'named-reference',
|
||||
'riferimento-anonimo': 'anonymous-reference',
|
||||
'riferimento-nota': 'footnote-reference',
|
||||
'riferimento-citazione': 'citation-reference',
|
||||
'riferimento-sostituzione': 'substitution-reference',
|
||||
'destinazione': 'target',
|
||||
'riferimento-uri': 'uri-reference',
|
||||
'grezzo': 'raw',}
|
||||
"""Mapping of Italian role names to canonical role names for interpreted text.
|
||||
"""
|
119
docutils/parsers/rst/languages/ja.py
Normal file
119
docutils/parsers/rst/languages/ja.py
Normal file
|
@ -0,0 +1,119 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# $Id: ja.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: David Goodger <goodger@python.org>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Japanese-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
# Corrections to these translations are welcome!
|
||||
# 間違いがあれば、どうぞ正しい翻訳を教えて下さい。
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'注目': 'attention',
|
||||
u'注意': 'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'危険': 'danger',
|
||||
u'エラー': 'error',
|
||||
u'ヒント': 'hint',
|
||||
u'重要': 'important',
|
||||
u'備考': 'note',
|
||||
u'通報': 'tip',
|
||||
u'警告': 'warning',
|
||||
u'戒告': 'admonition',
|
||||
u'サイドバー': 'sidebar',
|
||||
u'トピック': 'topic',
|
||||
u'ラインブロック': 'line-block',
|
||||
u'パーズドリテラル': 'parsed-literal',
|
||||
u'ルブリック': 'rubric',
|
||||
u'エピグラフ': 'epigraph',
|
||||
u'題言': 'epigraph',
|
||||
u'ハイライト': 'highlights',
|
||||
u'見所': 'highlights',
|
||||
u'プルクオート': 'pull-quote',
|
||||
u'合成': 'compound',
|
||||
u'コンテナー': 'container',
|
||||
u'容器': 'container',
|
||||
u'表': 'table',
|
||||
u'csv表': 'csv-table',
|
||||
u'リスト表': 'list-table',
|
||||
#u'質問': 'questions',
|
||||
#u'問答': 'questions',
|
||||
#u'faq': 'questions',
|
||||
u'math (translation required)': 'math',
|
||||
u'メタ': 'meta',
|
||||
#u'イメージマプ': 'imagemap',
|
||||
u'イメージ': 'image',
|
||||
u'画像': 'image',
|
||||
u'フィグア': 'figure',
|
||||
u'図版': 'figure',
|
||||
u'インクルード': 'include',
|
||||
u'含む': 'include',
|
||||
u'組み込み': 'include',
|
||||
u'生': 'raw',
|
||||
u'原': 'raw',
|
||||
u'換える': 'replace',
|
||||
u'取り換える': 'replace',
|
||||
u'掛け替える': 'replace',
|
||||
u'ユニコード': 'unicode',
|
||||
u'日付': 'date',
|
||||
u'クラス': 'class',
|
||||
u'ロール': 'role',
|
||||
u'役': 'role',
|
||||
u'ディフォルトロール': 'default-role',
|
||||
u'既定役': 'default-role',
|
||||
u'タイトル': 'title',
|
||||
u'題': 'title', # 題名 件名
|
||||
u'目次': 'contents',
|
||||
u'節数': 'sectnum',
|
||||
u'ヘッダ': 'header',
|
||||
u'フッタ': 'footer',
|
||||
#u'脚注': 'footnotes', # 脚註?
|
||||
#u'サイテーション': 'citations', # 出典 引証 引用
|
||||
u'ターゲットノート': 'target-notes', # 的注 的脚注
|
||||
}
|
||||
"""Japanese name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
u'略': 'abbreviation',
|
||||
u'頭字語': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
u'インデックス': 'index',
|
||||
u'索引': 'index',
|
||||
u'添字': 'subscript',
|
||||
u'下付': 'subscript',
|
||||
u'下': 'subscript',
|
||||
u'上付': 'superscript',
|
||||
u'上': 'superscript',
|
||||
u'題参照': 'title-reference',
|
||||
u'pep参照': 'pep-reference',
|
||||
u'rfc参照': 'rfc-reference',
|
||||
u'強調': 'emphasis',
|
||||
u'強い': 'strong',
|
||||
u'リテラル': 'literal',
|
||||
u'整形済み': 'literal',
|
||||
u'math (translation required)': 'math',
|
||||
u'名付参照': 'named-reference',
|
||||
u'無名参照': 'anonymous-reference',
|
||||
u'脚注参照': 'footnote-reference',
|
||||
u'出典参照': 'citation-reference',
|
||||
u'代入参照': 'substitution-reference',
|
||||
u'的': 'target',
|
||||
u'uri参照': 'uri-reference',
|
||||
u'uri': 'uri-reference',
|
||||
u'url': 'uri-reference',
|
||||
u'生': 'raw',}
|
||||
"""Mapping of Japanese role names to canonical role names for interpreted
|
||||
text."""
|
109
docutils/parsers/rst/languages/lt.py
Normal file
109
docutils/parsers/rst/languages/lt.py
Normal file
|
@ -0,0 +1,109 @@
|
|||
# -*- coding: utf8 -*-
|
||||
# $Id: lt.py 7119 2011-09-02 13:00:23Z milde $
|
||||
# Author: Dalius Dobravolskas <dalius.do...@gmail.com>
|
||||
# Copyright: This module has been placed in the public domain.
|
||||
|
||||
# New language mappings are welcome. Before doing a new translation, please
|
||||
# read <http://docutils.sf.net/docs/howto/i18n.html>. Two files must be
|
||||
# translated for each language: one in docutils/languages, the other in
|
||||
# docutils/parsers/rst/languages.
|
||||
|
||||
"""
|
||||
Lithuanian-language mappings for language-dependent features of
|
||||
reStructuredText.
|
||||
"""
|
||||
|
||||
__docformat__ = 'reStructuredText'
|
||||
|
||||
|
||||
directives = {
|
||||
# language-dependent: fixed
|
||||
u'dėmesio': 'attention',
|
||||
u'atsargiai': 'caution',
|
||||
u'code (translation required)': 'code',
|
||||
u'pavojinga': 'danger',
|
||||
u'klaida': 'error',
|
||||
u'užuomina': 'hint',
|
||||
u'svarbu': 'important',
|
||||
u'pastaba': 'note',
|
||||
u'patarimas': 'tip',
|
||||
u'įspėjimas': 'warning',
|
||||
u'perspėjimas': 'admonition',
|
||||
u'šoninė-juosta': 'sidebar',
|
||||
u'tema': 'topic',
|
||||
u'linijinis-blokas': 'line-block',
|
||||
u'išanalizuotas-literalas': 'parsed-literal',
|
||||
u'rubrika': 'rubric',
|
||||
u'epigrafas': 'epigraph',
|
||||
u'pagridiniai-momentai': 'highlights',
|
||||
u'atitraukta-citata': 'pull-quote',
|
||||
u'sudėtinis-darinys': 'compound',
|
||||
u'konteineris': 'container',
|
||||
#'questions': 'questions',
|
||||
u'lentelė': 'table',
|
||||
u'csv-lentelė': 'csv-table',
|
||||
u'sąrašo-lentelė': 'list-table',
|
||||
#'qa': 'questions',
|
||||
#'faq': 'questions',
|
||||
u'meta': 'meta',
|
||||
u'matematika': 'math',
|
||||
#'imagemap': 'imagemap',
|
||||
u'paveiksliukas': 'image',
|
||||
u'iliustracija': 'figure',
|
||||
u'pridėti': 'include',
|
||||
u'žalia': 'raw',
|
||||
u'pakeisti': 'replace',
|
||||
u'unikodas': 'unicode',
|
||||
u'data': 'date',
|
||||
u'klasė': 'class',
|
||||
u'rolė': 'role',
|
||||
u'numatytoji-rolė': 'default-role',
|
||||
u'titulas': 'title',
|
||||
u'turinys': 'contents',
|
||||
u'seknum': 'sectnum',
|
||||
u'sekcijos-numeravimas': 'sectnum',
|
||||
u'antraštė': 'header',
|
||||
u'poraštė': 'footer',
|
||||
#'footnotes': 'footnotes',
|
||||
#'citations': 'citations',
|
||||
u'nutaikytos-pastaba': 'target-notes',
|
||||
u'restructuredtext-testinė-direktyva': 'restructuredtext-test-directive'}
|
||||
"""Lithuanian name to registered (in directives/__init__.py) directive name
|
||||
mapping."""
|
||||
|
||||
roles = {
|
||||
# language-dependent: fixed
|
||||
'santrumpa': 'abbreviation',
|
||||
'sa': 'abbreviation',
|
||||
'akronimas': 'acronym',
|
||||
'ak': 'acronym',
|
||||
u'code (translation required)': 'code',
|
||||
'indeksas': 'index',
|
||||
'i': 'index',
|
||||
u'apatinis-indeksas': 'subscript',
|
||||
'sub': 'subscript',
|
||||
u'viršutinis-indeksas': 'superscript',
|
||||
'sup': 'superscript',
|
||||
u'antrašės-nuoroda': 'title-reference',
|
||||
u'antraštė': 'title-reference',
|
||||
'a': 'title-reference',
|
||||
'pep-nuoroda': 'pep-reference',
|
||||
'pep': 'pep-reference',
|
||||
'rfc-nuoroda': 'rfc-reference',
|
||||
'rfc': 'rfc-reference',
|
||||
u'paryškinimas': 'emphasis',
|
||||
u'sustiprintas': 'strong',
|
||||
u'literalas': 'literal',
|
||||
u'matematika': 'math',
|
||||
u'vardinė-nuoroda': 'named-reference',
|
||||
u'anoniminė-nuoroda': 'anonymous-reference',
|
||||
u'išnašos-nuoroda': 'footnote-reference',
|
||||
u'citatos-nuoroda': 'citation-reference',
|
||||
u'pakeitimo-nuoroda': 'substitution-reference',
|
||||
u'taikinys': 'target',
|
||||
u'uri-nuoroda': 'uri-reference',
|
||||
'uri': 'uri-reference',
|
||||
'url': 'uri-reference',
|
||||
'žalia': 'raw',}
|
||||
"""Mapping of English role names to canonical role names for interpreted text.
|
||||
"""
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue