14 January 2003, �|��X�V�F 2010/05/01

10 �e�L�X�g


�ڎ�

10.1 �T�v

SVG �����Ђ̈ꕔ�Ƃ��ĕ`�悳���e�L�X�g�� 'text' �v�f�Ŏw�肷��B�`����镶���� 'text' �v�f���� XML �����f�[�^ [XML10] �Ƃ��ċL�q����B

Text that is to be rendered as part of an SVG document fragment is specified using the 'text' element. The characters to be drawn are expressed as XML character data [XML10] inside the 'text' element.

SVG �� 'text' �v�f�͑��̃O���t�B�b�N�X�v�f�Ɠ����悤�ɕ`�悳���B���������� ���W�n�ϊ�, �h��, �N���b�s���O, �}�X�N �̓��F�@�\�́A �p�X �� ��` �̂悤�� �}�` �ɑ΂���̂��̂Ɠ������@�� 'text' �v�f�ɂ��ɓK�p�����B

SVG's 'text' elements are rendered like other graphics elements. Thus, coordinate system transformations, painting, clipping and masking features apply to 'text' elements in the same way as they apply to shapes such as paths and rectangles.

�e 'text' �v�f���ƂɈ�‚̕����񂪕`�悳���B SVG �͎������s�⃏�[�h���b�v�����Ȃ��B�����s�ɂ킽��e�L�X�g�ɑ΂��Ă͎��̂����ꂩ�̕��@��p����F

Each 'text' element causes a single string of text to be rendered. SVG performs no automatic line breaking or word wrapping. To achieve the effect of multiple lines of text, use one of the following methods:

'text' �v�f���̃e�L�X�g�͒����I�ɁA���邢�� 'path' �v�f�̊O�`���ɉ����ĕ`�悳���邱�Ƃ��ł���B SVG �͒�����ƃp�X��̃e�L�X�g�̂�����ɂ����Ă��ȉ��̂悤�ȑ�����e�L�X�g�������T�|�[�g����F

The text strings within 'text' elements can be rendered in a straight line or rendered along the outline of a 'path' element. SVG supports the following international text processing features for both straight line text and text on a path:

�i������̃e�L�X�g�ɑ΂���z�u�K���� �e�L�X�g�̔z�u �ŏq�ׂ�B�p�X��̃e�L�X�g�ɑ΂���z�u�K���� �p�X��̃e�L�X�g�̔z�u�K�� �ŏq�ׂ�B�j

(The layout rules for straight line text are described in Text layout. The layout rules for text on a path are described in Text on a path layout rules.)

SVG �e�L�X�g�� XML �����f�[�^ [XML10] �Ƃ��Ă܂Ƃ߂��Ă���̂ŁF

Because SVG text is packaged as XML character data [XML10] :

���p�҂��n�D���錾��Ɋ�Â��ĈقȂ镶����ɒu�������� ���Ƃɂ�蕡�����ꉻ���ꂽ SVG ���e���”\�ł���B

Multi-language SVG content is possible by substituting different text strings based on the user's preferred language.

�A�N�Z�V�r���e�B�̗��R����A�����Ɋ܂܂��e�L�X�g�͂��̋@�\���w������K�؂ȈӖ����e�Ɋ�Â��}�[�N�A�b�v���Ȃ���邱�Ƃ����������i�ڍׂ� SVG �A�N�Z�V�r���e�B�E�K�C�h���C�� ������j�B

For accessibility reasons, it is recommended that text which is included in a document have appropriate semantic markup to indicate its function. See SVG accessibility guidelines for more information.

10.2 �����ƃO���t�̑Ή��֌W

XML [XML10] �ɂ����āA�e�L�X�g���e�͓���̃��j�R�[�h�E�R�[�h�|�C���g�i Unicode code point �j [UNICODE] �Œ�`����� XML ���� �̘A�Ȃ�ɂ���ĕ\�������B����ŁA�t�H���g�� �O���t �Ƃ���Ɋ֘A���� �t�H���g�e�[�u�� �Ȃǂ̏��ō\�������B �O���t�͈�‚܂��͂���ȏ�̕����i�ꍇ�ɂ���Ă͕����̈ꕔ���j�̕\���`���ł���B �e�O���t�͈�A�̕`��w�����߂ɏ]���������̎��ʎq�i������ŕ\������邱�Ƃ�����A���l�ŕ\������邱�Ƃ�����j����\�������B

In XML [XML10] , textual content is defined in terms of a sequence of XML characters, where each character is defined by a particular Unicode code point [UNICODE] . Fonts, on the other hand, consists of a collection of glyphs and other associated information, such as font tables . A glyph is a presentable form of one or more characters (or a part of a character in some cases). Each glyph consists of some sort of identifier (in some cases a string, in other cases a number) along with drawing instructions for rendering that particular glyph.

�����̏ꍇ�A���j�R�[�h�����i�������j�R�[�h�E�R�[�h�|�C���g�j�ƃt�H���g�̃O���t�Ƃ̊Ԃɂ͂P�΂P�̊֌W������B�Ⴆ�΁A���e����n�̌���i���e�� �Ƃ����p��͉p��ȂǃA���t�@�x�b�g�����e���ꂩ��h�����Ă���悤�ȉ��B�̌���ɗp������j�̂��߂Ƀf�U�C�����ꂽ�t�H���g���W�� ASCII �����i���� A ���� Z, a ���� z, 0 ���� 9, ����� ASCII �Ɋ܂܂���X�̋�Ǔ_�Ȃǁj�̊e�X�ɑΉ�����O���t�����‚��Ƃ͈�ʓI�Ȃ��Ƃł���B���������đ��̏ꍇ�A�R�‚̃��j�R�[�h�����ɂ�镶���� "XML" �� "X", "M", "L" �ɑΉ�����R�‚̃O���t�i�����j�ŕ`�悳���B

In many cases, there is a one-to-one mapping of Unicode characters (i.e., Unicode code points) to glyphs in a font. For example, it is common for a font designed for Latin languages (where the term Latin is used for European languages such as English with alphabets similar to and/or derivative to the Latin language) to contain a single glyph for each of the standard ASCII characters (i.e., A-to-Z, a-to-z, 0-to-9, plus the various punctuation characters found in ASCII). Thus, in most situations, the string "XML", which consists of three Unicode characters, would be rendered by the three glyphs corresponding to "X", "M" and "L", respectively.

�������Ȃ���A���̗l�X�ȏ󋵉��ł̓��j�R�[�h�����ƃO���t�͌����ȂP�΂P�Ή������Ȃ��B ���̂悤�ȏ󋵂���‚�������F

In various other cases, however, there is not a strict one-to-one mapping of Unicode characters to glyphs. Some of the circumstances when the mapping is not one-to-one:

�����̏ꍇ�A��������O���t�ւ̑Ή��A���S���Y���̓V�X�e���Ɉˑ����Ă���A�`�悳���e�L�X�g�͗��p�҂̊‹��Ɉˑ����āi�ʏ�͏��������j�قȂ�”\��������B SVG �����쐬�҂����m�ȃt�H���g�ƃO���t�̑I����K�v�Ƃ���Ȃ�΁A�K�v�ȃt�H���g���i�K�v�Ȃ當���ɕK�v�ȃO���t�݂̂��܂߂����̂Ɍ��肵�āj SVG �t�H���g �Ƃ��� SVG ���e�ɖ��߂��ނ��A SVG ���e�Ɠ����E�F�u��ɂ��� �E�F�u�t�H���g �Ƃ��ė^���邱�Ƃ����������B

In many situations, the algorithms for mapping from characters to glyphs are system-dependent, resulting in the possibility that the rendering of text might be (usually slightly) different when viewed in different user environments. If the author of SVG content requires precise selection of fonts and glyphs, then the recommendation is that the necessary fonts (potentially subsetted to include only the glyphs needed for the given document) be available either as SVG fonts embedded within the SVG content or as WebFonts posted at the same Web location as the SVG content.

���̏͂�ʂ��āA ���� �Ƃ� XML [XML10] �Œ�`���ꂽ�������w�����̂Ƃ���B

Throughout this chapter, the term character shall be equivalent to the definition of a character in XML [XML10] .

10.3 �t�H���g, �t�H���g�\, ����

�t�H���g�͈�A�̃O���t�Ƃ�����p���ĉ��炩�̃��f�B�A�ɕ�����\�������邽�߂ɕK�v�ȏ��i��ˆȏ�̃t�H���g�e�[�u���j����\�������B��A�̃O���t�ƃt�H���g�e�[�u���̑g���t�H���g�f�[�^�ƌĂ΂��B�t�H���g�e�[�u���ɂ́A�������O���t�ɑΉ���������O���t�̕\���̈�̑傫���ƈʒu�����߂邽�߂ɕK�v�ȏ�񂪊܂܂��B�e�t�H���g�e�[�u���́A��ˆȏ�̃t�H���g�E�F�C�g�i font-weight �j��t�H���g�X�^�C���i font-style �j�Ȃǂ́A�t�H���g�����i font characteristics �j��\�����ō\�������B

A font consists of a collection of glyphs together with the information (the font tables) necessary to use those glyphs to present characters on some medium. The combination of the collection of glyphs and the font tables is called the font data. The font tables include the information necessary to map characters to glyphs, to determine the size of glyph areas and to position the glyph area. Each font table consists of one or more font characteristics, such as the font-weight and font-style.

�t�H���g�̊􉽓I�����̓G�������i EM box �j�Ɋ�Â����W�n�ŕ\�����B �i�G���Ƃ̓t�H���g�̃O���t�̍����ɑ��ΓI�ȗʂł��� - CSS2 em square �Q�ƁB�j �����P�G���A���P�G���̋�`���f�U�C������i design space �j�ƌĂ΂��B���̋�Ԃ̍��W�́A�P�G���� units-per-em �i�G��������̒P�ʐ��j�ōו��������̂ɂ��^������B���̍ו���‚̒������P�P�ʂƂ���P�ʂ��f�U�C���P�ʂƌĂԁB �i�󒍁F�f�U�C���P�ʂƂ����p��͌����̂��̉ӏ��ł͖����A��Ɍ������̂ł��邪�A�|��\���̓s���ケ���Œ�`�����Ă����������Ƃɂ���B�j

The geometric font characteristics are expressed in a coordinate system based on the EM box. (The EM is a relative measure of the height of the glyphs in the font; see CSS2 em square .) The box 1 EM high and 1 EM wide is called the design space. This space is given a geometric coordinates by sub-dividing the EM into a number of units-per-em .

���ӁF units-per-em ���Ȃ킿�A�P�G�����f�U�C���P�ʂł����‚ɂȂ邩�̓t�H���g�����̈�‚ł���A�ʏ�� 1000 �� 2048 �̒l���Ƃ�B

Note: Units-per-em is a font characteristic. A typical value for units-per-EM is 1000 or 2048.

�G�������̍��W�n���f�U�C����ԍ��W�n�ƌĂ΂�Ă���B�X�P�[���u���ȃt�H���g�ɂ����ẮA�O���t��`�����߂̒�����Ȑ��͂��̍��W�n�ŕ\�������B

The coordinate space of the EM box is called the design space coordinate system. For scalable fonts, the curves and lines that are used to draw a glyph are represented using this coordinate system.

���ӁF���̏ꍇ�A���̍��W�n�̓_ (0,0) �̓G�������̍��[�Ɉʒu���Ă���A�������ł͂Ȃ��B �ʏ�A���[�}�啶���̉��[�̂x���W�͂O�ɂȂ�A���[�}�������̃f�B�Z���_�͕��̍��W�l���Ƃ�B

Note: Most often, the (0,0) point in this coordinate system is positioned on the left edge of the EM box, but not at the bottom left corner. The Y coordinate of the bottom of a roman capital letter is usually zero. And the descenders on lowercase roman letters have negative coordinate values.

SVG �̓t�H���g�e�[�u�����Œ�����̂R�‚̃t�H���g�����F�A�Z���g, �f�B�Z���g, �����e�[�u���̑g��񋟂�����̂Ƃ݂Ȃ��B�A�Z���g�Ƃ͓_ (0,0) ����G�������̏�[�܂ł̋����ł���B�f�B�Z���g�Ƃ͓_ (0,0) ����G�������̉��[�܂ł̋����ł���B�����e�[�u���ɂ‚��Ă͈ȉ��ŏq�ׂ�B

SVG assumes that the font tables will provide at least three font characteristics: an ascent, a descent and a set of baseline-tables. The ascent is the distance to the top of the EM box from the (0,0) point of the font; the descent is the distance to the bottom of the EM box from the (0.0) point of the font. The baseline-table is explained below.

���ӁF OpenType �t�H���g�ɂ����ẮA�����̏ꍇ�A�A�Z���g�ƃf�B�Z���g�� OS/2 �e�[�u���� sTypoAscender �� sTypoDescender �G���g���ŗ^������B�c���̏ꍇ�A�_ (0,0) �����[�Ɉʒu����̂ŁA�f�B�Z���g�i���̏ꍇ�_ (0,0) ����O���t�̍��[�܂ł̋����j�͒ʏ�O�ł���A�A�Z���g�� 1 em ���A���邢�� OpenType �x�[�X�e�[�u���i the OpenType Base table �j�̕\�ӕ�����[�����̒l�i the ideographic top baseline value �j�ɂ���Ďw�肳���B

Note: Within an OpenType font, for horizontal writing-modes, the ascent and descent are given by the sTypoAscender and sTypoDescender entries in the OS/2 table. For vertical writing-modes, the descent (the distance, in this case from the (0,0) point to the left edge of the glyph) is normally zero because the (0,0) point is on the left edge. The ascent for vertical writing-modes is either 1 em or is specified by the ideographic top baseline value in the OpenType Base table for vertical writing-modes.

�����̏ꍇ�A�X�N���v�g�̃O���t�� ����_ �i alignment-point �j�ƌĂ΂��O���t���Ƃɒ�߂�ꂽ����̓_�����̃O���t�̐���_�ɑ����悤�z�񂳂��B�قȂ����X�N���v�g�̃O���t�A�Ⴆ�΁A����, �k�C���h, �ɓ��n��̃X�N���v�g�ł́A��������_���݂��ɈقȂ�B�Ⴆ�ΐ����n�̃O���t�͑啶���̉��[���������A�k�C���h�n�̃O���t�͏�[�ɋ߂����������̃X�g���[�N�̏�[���������A�ɓ��n�̃O���t�͒��S�܂��͉��[����������B ��‚̃X�N���v�g�ɂ�������̃t�H���g�T�C�Y�̂P�s�̃e�L�X�g�ɂ����āA�s�i�s�����ւ̐���_�̕��тɂ���Ē�܂�􉽊w�I�Ȑ��̂��Ƃ������i baseline �j�ƌĂԁB�����������͑��̂قƂ�ǂ̃A���t�@�x�b�g���ߒԂ�̃O���t�́u�A���t�@�x�b�g�v�i alphabetic �j�����ɁA�k�C���h�n�̃O���t�́u�݂艺���v�i hanging �j�����ɁA�ɓ��n�̃O���t�́u�\�ӕ����v�i ideographic �j�����ɑ�������B

In horizontal writing-modes, the glyphs of a given script are positioned so that a particular point on each glyph, the alignment-point , is aligned with the alignment-points of the other glyphs in that script. The glyphs of different scripts, for example, Western, Northern Indic and Far-Eastern scripts, are typically aligned at different points on the glyph. For example, Western glyphs are aligned on the bottoms of the capital letters, northern indic glyphs are aligned at the top of a horizontal stroke near the top of the glyphs and far-eastern glyphs are aligned either at the bottom or center of the glyph. Within a script and within a line of text having a single font-size, the sequence of alignment-points defines, in the inline- progression-direction, a geometric line called a baseline. Western and most other alphabetic and syllabic glyphs are aligned to an "alphabetic" baseline, the northern indic glyphs are aligned to a "hanging" baseline and the far-eastern glyphs are aligned to an "ideographic" baseline.

�����e�[�u���i baseline-table �j�̓f�U�C����ԍ��W�n�ɂ������ˆȏ�̊������w�肷��B�����e�[�u���̋@�\�́A�قȂ����X�N���v�g����s�ɍ��݂��ꂽ�Ƃ��ɁA�݂��̑��݂��l�����đ����邱�Ƃ�e�Ղɂ��邱�Ƃł���B �ǂ̂悤�ȑ��ΓI���������]�܂������́A�ǂ̃X�N���v�g�����̍s�i�܂��̓u���b�N�j�Ŏx�z�I�ɂȂ邩�Ɉˑ�����̂ŁA�X�N���v�g���ꂼ��ɑ΂��قȂ�����e�[�u�����p�ӂ���Ă��邱�Ƃ�����B�X�ɁA�c���Ɖ����ł͈قȂ鐮��ʒu���K�v�ɂȂ�B���̂��߁A�t�H���g�ɂ͂P�ˆȏ�̊����e�[�u���i�T�^�I�ɂ͂P�ˆȏ�̉����p�̂��̂ƂO�ˆȏ�̏c���p�̂��́j���p�ӂ���Ă��邱�Ƃ�����B

A baseline-table specifies the position of one or more baselines in the design space coordinate system. The function of the baseline table is to facilitate the alignment of different scripts with respect to each other when they are mixed on the same text line. Because the desired relative alignments may depend on which script is dominant in a line (or block), there may be a different baseline table for each script. In addition, different alignment positions are needed for horizontal and vertical writing modes. Therefore, the font may have a set of baseline tables: typically, one or more for horizontal writing-modes and zero or more for vertical writing-modes.

�i���ӁF�ꕔ�̃t�H���g�͊����e�[�u���������Ȃ��B�t�H���g�Ɋ����e�[�u�������݂��Ȃ��ꍇ�͋ߎ��I�Ȋ����e�[�u���𓾂邽�߂Ɍo���I���@��p���邱�Ƃ��l������B�j

Note: Some fonts may not have values for the baseline tables. Heuristics are suggested for approximating the baseline tables when a given font does not supply baseline tables.

SVG �ɂ����ẮA�t�H���g�f�[�^�̊e�O���t���A�����p�Əc���p�̂��ꂼ��ɂ‚��āA��, ��������i alignment-baseline �j, ����_�����‚��̂Ƃ݂Ȃ����i���Ə̂���Ă͂��邪�A�c���̏ꍇ�͏c�����̋�����\���j�B�O���t��������X�N���v�g�̓O���t���������鐮��������߂�B �s�i�s���� �ɑΉ����鐮��_�̈ʒu�̓O���t�̎n�[�i start-edge �j��ɂ���B

SVG further assumes that for each glyph in the font data for a font, there are two width values, two alignment-baselines and two alignment-points, one each for horizontal writing-modes and the other for vertical writing-modes. (Even though it is specified as a width, for vertical writing-modes the width is used in the vertical direction.) The script to which a glyph belongs determines an alignment-baseline to which the glyph is to be aligned. The inline-progression-direction position of the alignment-point is on the start-edge of the glyph.

�����Ɋւ���v���p�e�B�͌�� ��������v���p�e�B �ŏq�ׂ���B

Properties related to baselines are described below under Baseline alignment properties.

��L�̕K�v�Ƃ����t�H���g�����ɉ����āA�t�H���g�ɂ́A�t�H�[�}�b�^�[����A�̃O���t�ɑ΂��ď����̓��ꊷ��, ����, �ʒu���߂����邽�߂ɗ��p����A�u������шʒu���ߗp�̃e�[�u�����p�ӂ���Ă��邱�Ƃ�����B�����̑g�ݍ��킹�̓��K�`���̂悤�ȒP���Ȃ��̂���C���h�n�̃V���u���̗l�ȁi���͏����g�ݑւ��𔺂��j�����̎q���ƕꉹ�̃O���t���g���킳�������G�Ȃ��̂܂ł���B

In addition to the font characteristics required above, a font may also supply substitution and positioning tables that can be used by a formatter to re-order, combine and position a sequence of glyphs to make one or more composite glyphs. The combination may be as simple as a ligature, or as complex as an indic syllable which combines, usually with some re-ordering, multiple consonants and vowel glyphs.

10.4 'text' �v�f

'text' �v�f�̓e�L�X�g����Ȃ�O���t�B�b�N�X�v�f���`����B 'text' �v�f���� XML [XML10] �����f�[�^�A����т����ɔ����Ӗ��̂��鑮����v���p�e�B�ƃt�H���g���g�Ɋ܂܂�镶������O���t�ւ̑Ή��\�ɂ���āA�`�悳���O���t����܂�i �����ƃO���t�̑Ή��֌W ������j�B 'text' �v�f�̑����ƃv���p�e�B�́A��������, �t�H���g�w��, �h�葮���ȂǁA�������ǂ̂悤�ɐ��m�ɕ`�悷�邩�ɂ‚��Ă��w������B���̏͂̈ȉ��̐߂ł̓e�L�X�g�ɓ������ꂽ�֘A�����ƃv���p�e�B�A���� �e�L�X�g�z�u �i text layout �j�� �o������ �i bidirectionality �j�ɂ‚��ďq�ׂ�B

The 'text' element defines a graphics element consisting of text. The XML [ XML10] character data within the 'text' element, along with relevant attributes and properties and character-to-glyph mapping tables within the font itself, define the glyphs to be rendered. (See Characters and their corresponding glyphs .) The attributes and properties on the 'text' element indicate such things as the writing direction, font specification and painting attributes which describe how exactly to render the characters. Subsequent sections of this chapter describe the relevant text-specific attributes and properties, particular text layout and bidirectionality .

'text' �v�f�͑��̃O���t�B�b�N�X�v�f�Ɠ������@�ŕ`�悳���̂ŁA ���W�n�ϊ�, �h��, �N���b�s���O, �}�X�N �̎d�g�� �p�X �� ��` �̂悤�� �}�` �ɓK�p�����̂Ɠ������@�� 'text' �v�f�ɂ��K�p�����B

Since 'text' elements are rendered using the same rendering methods as other graphics elements, all of the same coordinate system transformations, painting,clipping and masking features that apply to shapes such as paths and rectangles also apply to 'text' elements.

�e�L�X�g�ɂ́A�O���f�[�V����, �p�^�[��, �N���b�s���O�p�X, �}�X�N, �t�B���^��K�p���邱�Ƃ��ł���B�����̂�����‚ł��e�L�X�g�ɓK�p����Ă���A���ƒL�[���[�h objectBoundingBox �ɂ���ăI�u�W�F�N�g��܃{�b�N�X�ɑ΂����ΓI�ȃO���t�B�b�N�X���ʂ��w�肳��Ă���ꍇ�i �I�u�W�F�N�g�̕�܃{�b�N�X�ɑ΂��đ��ΓI�ȒP�� ������j�A�I�u�W�F�N�g��܃{�b�N�X�ɂ�����P�ʂ͂ǂ�ȏꍇ�ł� - ���Ƃ����� 'text' �v�f���̈قȂ� 'tspan' �v�f�ɈقȂ���ʂ��K�p����Ă����Ƃ��Ă� - 'text' �v�f�S�̂ɑ΂��đ��ΓI�Ȃ��̂Ƃ��Čv�Z�����B

It is possible to apply a gradient, pattern, clipping path, mask or filter to text. When one of these facilities is applied to text and keyword objectBoundingBox is used (see Object bounding box units ) to specify a graphical effect relative to the "object bounding box", then the object bounding box units are computed relative to the entire 'text' element in all cases, even when different effects are applied to different 'tspan' elements within the same 'text' element.

'text' �v�f�̕`��͂܂��i �o������ �ɂ��Ĕz��̌�j�ŏ��̃O���t�ɑ΂��A������ ���݂̃e�L�X�g�ʒu �ɂȂ����B�����̌��݂̃e�L�X�g�ʒu�́A 'text' �v�f�� x ����� y �����ɂ���Ċm�������i�������A�ȉ��ɂ���Ē�������邱�Ƃ�����F 'text-anchor' �v���p�e�B�̒l, �ŏ��̕������܂� 'textPath' �v�f�̑���, �ŏ��̕������܂� 'tspan', 'tref', 'altGlyph' �v�f�̂����ꂩ�� x, y, dx, dy �����j�B �����ɑΉ�����O���t�i�����j���`�悳�ꂽ��A���݂̃e�L�X�g�ʒu�͎��̕����ւƍX�V�����B�ł��P���ȏꍇ�A�V�������݂̃e�L�X�g�ʒu�͑O�̌��݂̃e�L�X�g�ʒu�ɃO���t�́i�����c�́j�A�h�o���X�i advance �j�l�����������̂ł���B�O���t�̔z�u�ƃO���t�E�A�h�o���X�ɂ‚��Ă� �e�L�X�g�̔z�u ������B

'text' element renders its first glyph (after bidirectionality reordering) at the initial current text position, which is established by the x and y attributes on the 'text' element (with possible adjustments due to the value of the 'text-anchor' property, the presence of a 'textPath' element containing the first character, and/or an x, y, dx or dy attributes on a 'tspan', 'tref' or 'altGlyph' element which contains the first character). After the glyph(s) corresponding to the given character is(are) rendered, the current text position is updated for the next character. In the simplest case, the new current text position is the previous current text position plus the glyphs' advance value (horizontal or vertical). See text layout for a description of glyph placement and glyph advance.

<!ENTITY % SVG.text.extra.content "" >
<!ENTITY % SVG.text.element "INCLUDE" >
<![%SVG.text.element;[
<!ENTITY % SVG.text.content
    "( #PCDATA | %SVG.Description.class; | %SVG.Animation.class;
       %SVG.TextContent.class; %SVG.Hyperlink.class;
       %SVG.text.extra.content; )*"
>
<!ELEMENT %SVG.text.qname; %SVG.text.content; >
<!-- end of SVG.text.element -->]]>
<!ENTITY % SVG.text.attlist "INCLUDE" >
<![%SVG.text.attlist;[
<!ATTLIST %SVG.text.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Text.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
    transform %TransformList.datatype; #IMPLIED
>

������`�F

Attribute definitions:

x = "<coordinate>+"
���� <coordinate> ����‚����^����ꂽ�ꍇ�A���̗v�f�Ƃ��̑S�Ă̎q���v�f�̂��ꂼ��ɑ΂��A�ŏ��̕����ɑΉ�����O���t�̕`��ɂ����� ���݂̃e�L�X�g�ʒu �̐�΂w���W��V�����ݒ肷��B
�R���}�܂��͋󔒋�؂�� <n> �‚� <coordinate> �̃��X�g���^����ꂽ�ꍇ�A���̗v�f�Ƃ��̑S�Ă̎q���v�f�̂��ꂼ��ɑ΂��A�ŏ��� <n> �����ɑΉ�����O���t�̕`��ɂ����� ���݂̃e�L�X�g�ʒu �̐�΂w���W��V�����ݒ肷��B
�lj��̏����K���ɂ‚��Ă� 'tspan' �v�f�� x �����̋L�q���Q�Ƃ̂��ƁB
���̑������w�肳��Ă��Ȃ��ꍇ�A�l�O���w�肳�ꂽ���̂Ƃ݂Ȃ����B
�A�j���[�V�����F��
If a single <coordinate> is provided, then the value represents the new absolute X coordinate for the current text position for rendering the glyphs that correspond to the first character within this element or any of its descendants.
If a comma- or space-separated list of <n> <coordinate> s is provided, then the values represent new absolute X coordinates for the current text position for rendering the glyphs corresponding to each of the first <n> characters within this element or any of its descendants.
For additional processing rules, refer to the description of the x attribute on the 'tspan' element.
If the attribute is not specified, the effect is as if a value of "0" were specified.
Animatable: yes.
y = "<coordinate>+"
���̗v�f���̕����ɑΉ�����O���t�ɑ΂���i 'x' �����ɑ�������j��΂x���W�̃��X�g�B 'y' �����̏����K���� 'x' �����̏����K���ɕ��s����B
���̑������w�肳��Ă��Ȃ��ꍇ�A�l�O���w�肳�ꂽ���̂Ƃ݂Ȃ����B
�A�j���[�V�����F��
The corresponding list of absolute Y coordinates for the glyphs corresponding to the characters within this element. The processing rules for the 'y' attribute parallel the processing rules for the 'x' attribute.
If the attribute is not specified, the effect is as if a value of "0" were specified.
Animatable: yes.
dx = "<length>+"
���̗v�f�Ƃ��̑S�Ă̎q���v�f�̕��������ɑ΂� ���݂̃e�L�X�g�ʒu ���w�������ɂ��炷�ʂ��w������B
'tspan' �v�f�� dx �����ɂ‚��Ă̋L�q���Q�Ƃ̂��ƁB
���̑��������̗v�f�܂��͂��̎q���v�f�Ɏw�肳��Ă��Ȃ��ꍇ�A�w�������ւ̒lj��I���炵�͍s���Ȃ��B
�A�j���[�V�����F��
Shifts in the current text position along the x-axis for the characters within this element or any of its descendants.
Refer to the description of the dx attribute on the 'tspan' element.
If the attribute is not specified on this element or any of its descendants, no supplemental shifts along the x-axis will occur.
Animatable: yes.
dy = "<length>+"
�v�f�܂��͂��̎q���v�f�̕��������ɑ΂� ���݂̃e�L�X�g�ʒu ���x�������ɂ��炷�ʂ��w������B
'tspan' �v�f�� dy �����ɂ‚��Ă̋L�q���Q�Ƃ̂��ƁB
���̑��������̗v�f�܂��͂��̎q���v�f�Ɏw�肳��Ă��Ȃ��ꍇ�A�x�������ւ̒lj��I�Ȃ��炵�͍s���Ȃ��B
�A�j���[�V�����F��
Shifts in the current text position along the y-axis for the characters within this element or any of its descendants.
Refer to the description of the dy attribute on the 'tspan' element.
If the attribute is not specified on this element or any of its descendants, no supplemental shifts along the y-axis will occur.
Animatable: yes.
rotate = "<number>+"
�v�f�̊e�����ɑΉ�����S�ẴO���t�ɓK�p����� ���݂̃e�L�X�g�ʒu �ɑ΂���lj��I��]�B
'tspan' �v�f�� rotate �����ɂ‚��Ă̋L�q���Q�Ƃ̂��ƁB
���̑��������̗v�f�܂��͂��̎q���v�f�Ɏw�肳��Ă��Ȃ��ꍇ�A�lj��I��]�͍s���Ȃ��B
�A�j���[�V�����F�i����@�I�B'set' �� 'animate' �v�f�̂݁j
The supplemental rotation about the current text position that will be applied to all of the glyphs corresponding to each character within this element.
Refer to the description of the rotate attribute on the 'tspan' element.
If the attribute is not specified on this element or any of its descendants, no supplemental rotations will occur.
Animatable: yes (non-additive, 'set' and 'animate' elements only).
textLength = "<length>"
�����쐬�҂̌v�Z�ɂ��A���̗v�f�̕����f�[�^�̃A�h�o���X�l�̑��a�B ���̌v�Z�ɂ͑Ή�����O���t�́i�c�܂��͉��́j�A�h�o���X�l�A 'kerning', 'letter-spacing', 'word-spacing' �v���p�e�B�ɂ����ʁA 'tspan' �v�f�� dx, dy �����ɂ�钲�����܂܂��B���̒l�͂t�`���g�̌v�Z�ƕ����쐬�҂ɂ��v�Z�Ƃ̊Ԃ̊��Z�ɗ��p�����B
���̑����̖ړI�͕����쐬�҂� - �o�����Ĕz�� �̌�̎��o�I�`�揇���ɂ����� - ���̗v�f�ōŏ��ƍŌ�ɕ`�悳���O���t�ɑ΂��鐳�m�Ȑ�����”\�ɂ��邱�Ƃł���B���������āA�t�`���e�L�X�g�� textLength �̒����ɒ��x�ǂ��͂܂�悤�ɐL�k�����邽�߂̓K���ȗʂ����肵���Ƃ��A�i �o�����Ĕz�� �̌�̎��o�I�`�揇���ɂ����āj�Ō�ɕ`�悳��镶���ɑ΂��ẮA�ʏ�̃O���t�A�h�o���X�͈̔͂��z����lj��I�ȕ����Ԃ̊Ԋu�����́i�قƂ�ǂ̏ꍇ�j���������B
���l�̓G���[�i �G���[���� ������j�B
���̑������w�肳��Ă��Ȃ��ꍇ�A�t�`�ɂ��v�Z�������쐬�҂ɂ�邻��Ɠ������̂ł���Ƃ݂Ȃ���A�A�h�o���X�̒����͍s���Ȃ��B
�A�j���[�V�����F��
The author's computation of the total sum of all of the advance values that correspond to character data within this element, including the advance value on the glyph (horizontal or vertical), the effect of properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes dx and dy on 'tspan' elements. This value is used to calibrate the user agent's own calculations with that of the author.
The purpose of this attribute is to allow the author to achieve exact alignment, in visual rendering order after any bidirectional reordering, for the first and last rendered glyphs that correspond to this element; thus, for the last rendered character (in visual rendering order after any bidirectional reordering ), any supplemental inter-character spacing beyond normal glyph advances are ignored (in most cases) when the user agent determines the appropriate amount to expand/compress the text string to fit within a length of textLength .
A negative value is an error (see Error processing ).
If the attribute is not specified, the effect is as if the author's computation exactly matched the value calculated by the user agent; thus, no advance adjustments are made.
Animatable: yes.
lengthAdjust = "spacing|spacingAndGlyphs"
�e�L�X�g���`�悳���Ƃ��̒����� textLength �����Ŏw�肳�ꂽ�l�Ɉ�v�����邽�߂ɂt�`�����ׂ������̎�ނ��w������B
spacing �̓A�h�o���X�l�݂̂𒲐����邱�Ƃ��w������B�O���t���g�͐L�k����Ȃ��B
spacingAndGlyphs �̓A�h�o���X�l�ƃO���t���g�̐L�k���������i�����s�i�s�����j�ɒ������邱�Ƃ��w������B
�t�`�ɂ̓e�L�X�g�̐������n�_�ƏI�_�𓾂邱�Ƃ��v������邪�A���Ԃ̃O���t�̏ꏊ�͗\���ł��Ȃ��B���̂Ȃ�t�`�́A�n�_�ƏI�_�̈ʒu�ƍœK�Ȉ󎚂Ƃ̒��a���Ƃ邽�߂ɁA�e�L�X�g�̐L�k�ɍ��x�ȃA���S���Y����p���邩������Ȃ�����ł���B
���ӁF������ <n> �̃e�L�X�g�̏ꍇ�A�O���t�L�k�� <n> �������ׂĂɓK�p��������A�A�h�o���X�l�̒����͑��� <n-1> �����ɑ΂��Ă݂̂Ȃ����i���� textLength �ɂ‚��Ă̋L�q������j�B
���̑������w�肳��Ă��Ȃ��ꍇ�A spacing ���w�肳�ꂽ���̂Ƃ݂Ȃ����B
�A�j���[�V�����F��
Indicates the type of adjustments which the user agent shall make to make the rendered length of the text match the value specified on the textLength attribute.
spacing indicates that only the advance values are adjusted. The glyphs themselves are not stretched or compressed.
spacingAndGlyphs indicates that the advance values are adjusted and the glyphs themselves stretched or compressed in one axis (i.e., a direction parallel to the inline-progression-direction).
The user agent is required to achieve correct start and end positions for the text strings, but the locations of intermediate glyphs are not predictable because user agents might employ advanced algorithms to stretch or compress text strings in order to balance correct start and end positioning with optimal typography.
Note that, for a text string that contains <n> characters, the adjustments to the advance values often occur only for <n-1> characters (see description of attribute textLength ), whereas stretching or compressing of the glyphs will be applied to all <n> characters.
If the attribute is not specified, the effect is as a value of spacing were specified.
Animatable: yes.

���� Example text01 �̓e�L�X�g "Hello, out there" ���܂ށB�O���t�����ւ̓h��͐F�ɂ���A Verdana �t�H���g�t�@�~����p���ăL�����o�X�ɕ`�悳���B

Example text01 below contains the text string "Hello, out there" which will be rendered onto the canvas using the Verdana font family with the glyphs filled with the color blue.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="10cm" height="3cm" viewBox="0 0 1000 300"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>Example text01 - �F�� 'Hello, out there'</desc>
  <text x="250" y="150"
        font-family="Verdana" font-size="55" fill="blue" >
    Hello, out there
  </text>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example text01
Example text01 - 'Hello, out there' in blue

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

10.5 'tspan' �v�f

'tspan' �v�f�� 'text' �v�f�Ɋ܂߂邱�Ƃɂ��A�e�L�X�g�ƃt�H���g�̃v���p�e�B����� ���݂̃e�L�X�g�ʒu ���΂��邢�͑��΂̍��W�l�Œ����ł���悤�ɂȂ�B

Within a 'text' element, text and font properties and the current text position can be adjusted with absolute or relative coordinate values by including a 'tspan' element.

<!ENTITY % SVG.tspan.extra.content "" >
<!ENTITY % SVG.tspan.element "INCLUDE" >
<![%SVG.tspan.element;[
<!ENTITY % SVG.tspan.content
    "( #PCDATA | %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.altGlyph.qname;
     | %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname;
     | %SVG.Description.class; %SVG.Hyperlink.class;
       %SVG.tspan.extra.content; )*"
>
<!ELEMENT %SVG.tspan.qname; %SVG.tspan.content; >
<!-- end of SVG.tspan.element -->]]>
<!ENTITY % SVG.tspan.attlist "INCLUDE" >
<![%SVG.tspan.attlist;[
<!ATTLIST %SVG.tspan.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
>

������`�F

Attribute definitions:

x = "<coordinate>+"
<coordinate> ����‚����^����ꂽ�ꍇ�A���̗v�f�Ƃ��̑S�Ă̎q���v�f�̂��ꂼ��ɑ΂��A�ŏ��̕����ɑΉ�����O���t�̕`��ɂ����� ���݂̃e�L�X�g�ʒu �̐�΂w���W��V�����ݒ肷��B
�R���}�܂��͋󔒋�؂�� <n> �‚� <coordinate> �̃��X�g�ŗ^����ꂽ�ꍇ�A���̗v�f�Ƃ��̑S�Ă̎q���v�f�̂��ꂼ��ɑ΂��A�ŏ��� <n> �����ɑΉ�����O���t�̕`��ɂ����� ���݂̃e�L�X�g�ʒu �̐�΂w���W��V�����ݒ肷��B
�����^����ꂽ <coordinate> ����������葽���ꍇ�A�]���� <coordinate> �̓O���t�̈ʒu���߂ɂ͉e�����Ȃ��B
�������������^����ꂽ <coordinate> ��葽���ꍇ�A���ߕ��̕����ɂ‚��ẮF (a) �c��� 'text' �܂��� 'tspan' �v�f�� x �����ɂ���΂w���W���w�肳��Ă����ꍇ�A����炪�����ɑΉ�����O���t�̕`��ɂ�����n�_�w���W�ɗp������i���߂��c�悪�D�悳���j�B(b) �����łȂ��ꍇ�A���݂� 'text' �v�f�ɂ����Ē��O�̃O���t�̕`��ɂ�錋�ʂ� ���݂̃e�L�X�g�ʒu ���O���t�̕`��ɂ�����n�_�w���W�ɗp������B
���̑������w�肳��Ă��Ȃ��ꍇ�F(a) �c��� 'text' �܂��� 'tspan' �v�f�� x �����ɂ���Đ�΂w���W���w�肳��Ă����ꍇ�A����炪�����ɑΉ�����O���t�̕`��ɂ�����n�_�w���W�ɗp������i���߂��c�悪�D�悳���j�B(b) �����łȂ��ꍇ�A���݂� 'text' �v�f�ɂ����Ē��O�̃O���t�̕`��ɂ�錋�ʂ� ���݂̃e�L�X�g�ʒu ���O���t�̕`��ɂ�����n�_�w���W�ɗp������B
�A�j���[�V�����F��
If a single <coordinate> is provided, then the value represents the new absolute X coordinate for the current text position for rendering the glyphs that correspond to the first character within this element or any of its descendants.
If a comma- or space-separated list of <n> <coordinate> s is provided, then the values represent new absolute X coordinates for the current text position for rendering the glyphs corresponding to each of the first <n> characters within this element or any of its descendants.
If more <coordinate> s are provided than characters, then the extra <coordinate> s will have no effect on glyph positioning.
If more characters exist than <coordinate> s, then for each of these extra characters: (a) if an ancestor 'text' or 'tspan' element specifies an absolute X coordinate for the given character via an x attribute, then that absolute X coordinate is used as the starting X coordinate for that character (nearest ancestor has precedence), else (b) the starting X coordinate for rendering the glyphs corresponding to the given character is the X coordinate of the resulting current text position from the most recently rendered glyph for the current 'text' element.
If the attribute is not specified: (a) if an ancestor 'text' or 'tspan' element specifies an absolute X coordinate for a given character via an x attribute, then that absolute X coordinate is used (nearest ancestor has precedence), else (b) the starting X coordinate for rendering the glyphs corresponding to a given character is the X coordinate of the resulting current text position from the most recently rendered glyph for the current 'text' element.
Animatable: yes.
y = "<coordinate>+"
���̗v�f���̕����ɑΉ�����O���t�ɑ΂���A�i 'x' �����ɑ�������j��΂x���W�̃��X�g�B 'y' �����̏����K���� 'x' �����̂���ɕ��s����B
�A�j���[�V�����F��
The corresponding list of absolute Y coordinates for the glyphs corresponding to the characters within this element. The processing rules for the 'y' attribute parallel the processing rules for the 'x' attribute.
Animatable: yes.
dx = "<length>+"
<length> ����‚����^����ꂽ�ꍇ�A���̗v�f�Ƃ��̑S�Ă̎q���v�f�̂��ꂼ��ɑ΂��A�ŏ��̕����ɑΉ�����O���t�̕`��ɂ����� ���݂̃e�L�X�g�ʒu �̑��΂w���W��V�����ݒ肷��B�O���t���`�悳���O�ɁA ���݂̃e�L�X�g�ʒu �͌��݂̗��p���W�n�ɂ����Ăw�������� <length> �������炳���B
�R���}�܂��͋󔒋�؂�� <n> �‚� <length> �̃��X�g�ŗ^����ꂽ�ꍇ�A���̗v�f�Ƃ��̑S�Ă̎q���v�f�̂��ꂼ��ɑ΂��A�ŏ��̕������`�悳���O�ɁA�ŏ��� <n> �����ɑΉ�����O���t�̕`��ɂ����� ���݂̃e�L�X�g�ʒu �̂w�������̒����I�ȑ������w�肷��B���������āA�e�����ɑ΂��A�Ή�����O���t���`�悳���O�ɁA���݂� 'text' �v�f�ɂ����钼�O�̃O���t�̕`��ɂ�錋�ʂ� ���݂̃e�L�X�g�ʒu ���w�������� <length> �������炳���B
�����^����ꂽ <length> ����������葽���ꍇ�A�]���� <length> �̓O���t�̈ʒu���߂ɂ͉e�����Ȃ��B
�������������^����ꂽ <length> ����葽���ꍇ�A���ߕ��̕����ɂ‚��ẮF (a) �c��� 'text' �܂��� 'tspan' �v�f�� dx �����ɂ���đ��΂w���W���w�肳��Ă����ꍇ�A ���݂̃e�L�X�g�ʒu �͌��݂̗��p���W�n�ɂ����Ă����̗ʂ����w�������ɂ��炳���i���߂��c�悪�D�悳���j�B (b) �����łȂ��ꍇ�A���݂̂w�������ւ̒lj��I���炵�͐����Ȃ��B
���̑������w�肳��Ă��Ȃ��ꍇ�F (a) �c��� 'text' �܂��� 'tspan' �v�f�� dx �����ɂ���đ��΂w���W���w�肳��Ă����ꍇ�A ���݂̃e�L�X�g�ʒu �͌��݂̗��p���W�n�ɂ����Ă����̗ʂ����w�������ɂ��炳���i���߂��c�悪�D�悳���j�B(b) �����łȂ��ꍇ�A���݂̂w�������ւ̒lj��I���炵�͐����Ȃ��B
�A�j���[�V�����F��
If a single <length> is provided, this value represents the new relative X coordinate for the current text position for rendering the glyphs corresponding to the first character within this element or any of its descendants. The current text position is shifted along the x-axis of the current user coordinate system by <length> before the first character's glyphs are rendered.
If a comma- or space-separated list of <n> <length> s is provided, then the values represent incremental shifts along the x-axis for the current text position before rendering the glyphs corresponding to the first <n> characters within this element or any of its descendants. Thus, before the glyphs are rendered corresponding to each character, the current text position resulting from drawing the glyphs for the previous character within the current 'text' element is shifted along the X axis of the current user coordinate system by <length> .
If more <length> s are provided than characters, then any extra <length> s will have no effect on glyph positioning.
If more characters exist than <length> s, then for each of these extra characters: (a) if an ancestor 'text' or 'tspan' element specifies a relative X coordinate for the given character via a dx attribute, then the current text position is shifted along the x-axis of the current user coordinate system by that amount (nearest ancestor has precedence), else (b) no extra shift along the x-axis occurs.
If the attribute is not specified: (a) if an ancestor 'text' or 'tspan' element specifies a relative X coordinate for a given character via a dx attribute, then the current text position is shifted along the x-axis of the current user coordinate system by that amount (nearest ancestor has precedence), else (b) no extra shift along the x-axis occurs.
Animatable: yes.
dy = "<length>+"
���̗v�f���̕����ɑ΂���A�i 'dx' �����ɑ�������j���΂x���W�̃��X�g�B 'dy' �����̏����K���� 'dx' �����̂���ɕ��s����B
�A�j���[�V�����F��
The corresponding list of relative Y coordinates for the characters within the 'tspan' element. The processing rules for the 'dy' attribute parallel the processing rules for the 'dx' attribute.
Animatable: yes.
rotate = "<number>+"

���̗v�f���̊e�����ɑΉ����邷�ׂẴO���t�ɓK�p����� ���݂̃e�L�X�g�ʒu �ɑ΂���lj��I��]�B
�R���}�܂��͋󔒋�؂�� <number> �̃��X�g�ŗ^����ꂽ�ꍇ�A���̗v�f�Ƃ��̑S�Ă̎q���v�f�̂��ꂼ��ɑ΂��A�ŏ��� <number> �͍ŏ��̕����ɑΉ�����O���t�ւ̉�]��\���A�Q�Ԗڂ� <number> �͂Q�Ԗڂ̕����ɑΉ�����O���t�ւ̉�]��\���A�ȉ����l�ł���B
�����^����ꂽ <number> ����������葽���ꍇ�A�]���� <number> �͖��������B

The supplemental rotation about the current text position that will be applied to all of the glyphs corresponding to each character within this element.
If a comma- or space-separated list of <number>s is provided, then the first <number> represents the supplemental rotation for the glyphs corresponding to the first character within this element or any of its descendants, the second <number> represents the supplemental rotation for the glyphs that correspond to the second character, and so on.
If more <number>s are provided than there are characters, then the extra <number>s will be ignored.

�i �G���[�^ �F�����C�� + Example tspan04, tspan05�j

�������������^����ꂽ <number> ��葽���ꍇ�A�F (a) �c��� 'text' �܂��� 'tspan' �v�f�� rotate �����ɂ���Ēlj��I��]���w�肳��Ă����ꍇ�A����炪���ߕ��̕����ɓK�p�����i���߂��c�悪�D�悳���j�B(b) �����łȂ��ꍇ�A�lj��I��]�͒��ߕ��̕����ɓK�p����Ȃ��B
�������̑������w�肳��Ă��Ȃ��ꍇ�F(a) �c��� 'text' �܂��� 'tspan' �v�f�� rotate �����Œlj��I��]���w�肳��Ă���΁A����炪�����ɓK�p�����i���߂��c�悪�D�悳���j�B(b) �����łȂ��ꍇ�A�lj��I��]�͕����ɓK�p����Ȃ��B
���̒lj��I��]�̓O���t���`�悳���Ƃ��� ���݂̃e�L�X�g�ʒu �ɉe�����Ȃ��B�܂��A �p�X��̃e�L�X�g �� 'glyph-orientation-horizontal' �܂��� 'glyph-orientation-vertical' �ɂ���Đ������]�ɑ΂��lj��I�ł���B

���������^����ꂽ <number> ��葽���ꍇ�A�Ō�Ɏw�肳�ꂽ��]���c��̂��ꂼ��̕����ɗp�����Ȃ���΂Ȃ�Ȃ��B
���̑������w�肳��Ă��Ȃ��ꍇ�A�c��� 'text' �܂��� 'tspan' �v�f���� rotate ������ʂ��ė^����ꂽ�����ɒlj��̉�]���w�肳��Ă���Ȃ�΁A�����̕����ɂ��̒lj��̉�]���K�p�����i�ł��߂��c��̂��̂��D�悳���j�B�������������c��� rotate �����Ŏw�肳�ꂽ <number> ��葽���ꍇ�A�Ō�Ɏw�肳�ꂽ��]���c��̂��ꂼ��̕����ɗp�����Ȃ���΂Ȃ�Ȃ��B

If more characters are provided than <number> s, then for each of these extra characters: (a) if an ancestor 'text' or 'tspan' element specifies a supplemental rotation for the given character via a rotate attribute, then the given supplemental rotation is applied to the given character, else (b) no supplemental rotation occurs.
If the attribute is not specified: (a) if an ancestor 'text' or 'tspan' element specifies a supplemental rotation for a given character via a rotate attribute, then the given supplemental rotation is applied to the given character (nearest ancestor has precedence), else (b) no supplemental rotation occurs.
This supplemental rotation has no impact on the rules by which current text position is modified as glyphs get rendered and is supplemental to any rotation due to text on a path and to 'glyph-orientation-horizontal' or 'glyph-orientation-vertical'.

�A�j���[�V�����F�� �i����@�I�B'set' �� 'animate' �v�f�̂݁B�j

Animatable: yes (non-additive, 'set' and 'animate' elements only).

textLength = "<length>"
�����쐬�҂̌v�Z�ɂ�邱�̗v�f�̕����f�[�^�̃A�h�o���X�l�̑��a�B ���̌v�Z�ɂ͑Ή�����O���t�i�c�܂��͉��j�̃A�h�o���X�l�A�v���p�e�B 'kerning', 'letter-spacing', 'word-spacing' �ɂ����ʁA���� 'tspan' �v�f�Ƃ��̎q���v�f�̑��� dx �� dy �ɂ�钲�����܂܂��B���̒l�͂t�`���g�̌v�Z�ƕ����쐬�҂̌v�Z�Ƃ̊Ԃ̊��Z�ɗ��p�����B
���̑����̖ړI�͕����쐬�҂Ɂi �o�����Ĕz�� �̌�̎��o�I�`�揇���ɂ����āj���̗v�f�̍ŏ��ƍŌ�ɕ`�悳���O���t�ɑ΂��鐳�m�Ȑ�����”\�ɂ��邱�Ƃł���B���������āA�t�`���e�L�X�g�� textLength �̒����ɒ��x�ǂ��͂܂�悤�ɐL�k�����邽�߂̓K���ȗʂ����肵���Ƃ��A�i �o�����Ĕz�� �̌�̎��o�I�`�揇���ɂ����āj�Ō�ɕ`�悳��镶���ɑ΂��ẮA�ʏ�̃O���t�A�h�o���X�͈̔͂��z����lj��I�ȊԊu�����́i�قƂ�ǂ̏ꍇ�j���������B
���� textLength ���������̗v�f�Ƃ��̑c��v�f�̗����Ɏw�肳��Ă����ꍇ�A���̗v�f���̂��ׂĂ̕����f�[�^�ɑ΂��钲���͂��̗v�f�� textLength �̒l�ɂ���Ĕr���I�ɐ��䂳��A����p�Ƃ��āA���̗v�f�̓��e�ɑ΂��钲���䗦�������c������•ʂ̗v�f�ŗ��p����钲���䗦�ƈقȂ�”\����������B �t�`�ɂ́A�c��v�f���̑��̑S�Ă̓��e�̃A�h�o���X�l�̑��a���A�c��v�f�̃A�h�o���X�l�Ƃ��̗v�f�̃A�h�o���X�l�Ƃ̍��ł���Ƃ݂Ȃ����Ƃ��v�������B
���l�̓G���[�i �G���[���� ������j�B
���̑����� 'text' �v�f���̂ǂ��ɂ��w�肳��Ă��Ȃ��ꍇ�A�t�`�ɂ��v�Z�������쐬�҂ɂ�邻��Ɠ������̂ł���Ƃ݂Ȃ���A�A�h�o���X�̒����͍s���Ȃ��B
�A�j���[�V�����F��
The author's computation of the total sum of all of the advance values that correspond to character data within this element, including the advance value on the glyph (horizontal or vertical), the effect of properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due to attributes dx and dy on this 'tspan' element or any descendants. This value is used to calibrate the user agent's own calculations with that of the author.
The purpose of this attribute is to allow the author to achieve exact alignment, in visual rendering order after any bidirectional reordering, for the first and last rendered glyphs that correspond to this element; thus, for the last rendered character (in visual rendering order after any bidirectional reordering ), any supplemental inter-character spacing beyond normal glyph advances are ignored (in most cases) when the user agent determines the appropriate amount to expand/compress the text string to fit within a length of textLength .
If attribute textLength is specified on a given element and also specified on an ancestor, the adjustments on all character data within this element are controlled by the value of textLength on this element exclusively, with the possible side-effect that the adjustment ratio for the contents of this element might be different than the adjustment ratio used for other content that shares the same ancestor. The user agent must assume that the total advance values for the other content within that ancestor is the difference between the advance value on that ancestor and the advance value for this element.
A negative value is an error (see Error processing ).
If the attribute is not specified anywhere within a 'text' element, the effect is as if the author's computation exactly matched the value calculated by the user agent; thus, no advance adjustments are made.
Animatable: yes.

'tspan' �v�f�� x, y, dx, dy, rotate �����͍ō��i���̈���ɂ����āA�X�̃O���t�̐��m�Ȉʒu���߂��K�v�Ƃ����Ƃ��ɖ𗧂B �����̑����͕����Ԃ̔�������A�e�L�X�g�̎��o�I�ȉ��s�𓾂�ړI�� ���݂̃e�L�X�g�ʒu ��V�����ʒu�ɐݒ肷��悤�ȑ傫�Ȉʒu�����ɕ֗��ł���B�����s�̌��ʂ𓾂� 'text' �v�f�́A�e�s�ɑ΂��قȂ� 'tspan' �v�f���`���A���̊e�X�ɑ΂����� x, y, dx, dy �̂����‚����w�肷�邱�Ƃɂ��”\�ɂȂ�i���̂悤�ȕ��@�̗��_�́A���p�҂������s�ɂ킽�� �e�L�X�g�I�� ���s����_�ɂ���j�B

The x, y, dx, dy and rotate on the 'tspan' element are useful in high-end typography scenarios where individual glyphs require exact placement. These attributes are useful for minor positioning adjustments between characters or for major positioning adjustments, such as moving the current text position to a new location to achieve the visual effect of a new line of text. Multi-line 'text' elements are possible by defining different 'tspan' elements for each line of text, with attributes x, y, dx and/or dy defining the position of each 'tspan' . (An advantage of such an approach is that users will be able to perform multi-line text selection .)

��i�I�Ȉ������̂��߂ɋɏ����x���̈ʒu�������K�v�ȏ󋵂ɂ����ẮA SVG ���e�f�U�C�i�ɂƂ��Ă̗v���Ƃ��āA�K�v�ȃt�H���g�����ׂĂ̕����r���[�A�Ŋm���ɗ��p�”\�ł��邱�Ɓi�Ⴆ�ΕK�v�ȃt�H���g�� SVG �t�H���g�`���Ƃ��āA�܂��� SVG ���e�Ɠ����E�F�u�T�C�g�ɑ��݂��� �E�F�u�t�H���g �`���Ƃ��āj�A����сA�r���[�A���t�H���g���Ӑ}���ꂽ�Ƃ���ɏ������邱�Ƃ�����i�\��, ����, �t�H���g�z�u�̎d�g�̓V�X�e���ԂŔ��ɂ΂�‚�������j�B���� SVG ���e���A����̕����\���\�t�g�E�G�A�V�X�e���ŏ�����������̃t�H���g�ɑΉ����������̂ł��邱�Ƃ��Ӑ}���� x, y, dx, dy �����l���܂�ł���A��̗v���̂����ꂩ����������Ȃ��ꍇ�A��i���ȃe�L�X�g�\���ɂȂ�”\��������B

In situations where micro-level positioning adjustment are necessary for advanced typographic control, the SVG content designer needs to ensure that the necessary font will be available for all viewers of the document (e.g., package up the necessary font data in the form of an SVG font or an alternative WebFont format which is stored at the same Web site as the SVG content) and that the viewing software will process the font in the expected way (the capabilities, characteristics and font layout mechanisms vary greatly from system to system). If the SVG content contains x, y, dx or dy attribute values which are meant to correspond to a particular font processed by a particular set of viewing software and either of these requirements is not met, then the text might display with poor quality.

���� x, y, dx, dy, rotate �����l�̃��X�g���܂ޏꍇ�A�ȉ��̒lj��K�����K�p�����F

The following additional rules apply to attributes x, y, dx, dy and rotate when they contain a list of numbers:

���̗�� 'tspan' �v�f�̊�{�I�Ȏg�����������B

The following examples show basic use of the 'tspan' element.

Example tspan01 �ł́A 'tspan' �v�f�͒P�� "not" �ɑ΂��A�����t�H���g��p���A������ԐF�œh�邱�Ƃ��w�����Ă���B

Example tspan01 uses a 'tspan' element to indicate that the word "not" is to use a bold font and have red fill.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="10cm" height="3cm" viewBox="0 0 1000 300"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>Example tspan01 - tspan �ɂ�鎋�o�I�����̕ύX</desc>
  <g font-family="Verdana" font-size="45" >
    <text x="200" y="150" fill="blue" >
      You are
        <tspan font-weight="bold" fill="red" >not</tspan>
      a banana.
    </text>
  </g>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example tspan01
Example tspan01 - using tspan to change visual attributes

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

Example tspan02 �ł́A 'tspan' �v�f�̑��� dx �� dy �� 'text' �v�f�̓���̃e�L�X�g�ɑ΂��� ���݂̃e�L�X�g�ʒu ���c���Ƃ��ɒ������Ă���B

Example tspan02 uses the dx and dy attributes on the 'tspan' element to adjust the current text position horizontally and vertically for particular text strings within a 'text' element.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="10cm" height="3cm" viewBox="0 0 1000 300"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>Example tspan02 - tspan �� dx �� dy �����ɂ��
        �����I�Ȉʒu�̒���</desc>
  <g font-family="Verdana" font-size="45" >
    <text x="200" y="150" fill="blue" >
      But you
        <tspan dx="2em" dy="-50" font-weight="bold" fill="red" >
          are
        </tspan>
        <tspan dy="100">
           a peach!
        </tspan>
    </text>
  </g>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example tspan02
Example tspan02 - using tspan's dx and dy attributes for incremental positioning adjustments

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

Example tspan03 �ł́A 'tspan' �v�f�̑��� x, y �ŁA�`�悳���e�O���t�ɑ΂��� ���݂̃e�L�X�g�ʒu ���Έʒu�Ƃ��Đݒ肵�Ă���B���̗�ł͂Q�s�̃e�L�X�g����‚� 'text' �v�f�ɓ�����Ă���B�Q�s�Ƃ����� 'text' �v�f���ɂ���̂ŁA�t�`�� �e�L�X�g�I���ƃN���b�v�{�[�h���� ���T�|�[�g���Ă���΁A���p�҂͂Q�s�����ɑI�����ăV�X�e���̃N���b�v�{�[�h�ɃR�s�[���邱�Ƃ��ł���B

Example tspan03 uses the x and y attribute on the 'tspan' element to establish a new absolute current text position for each glyph to be rendered. The example shows two lines of text within a single 'text' element. Because both lines of text are within the same 'text' element, the user will be able to select through both lines of text and copy the text to the system clipboard in user agents that support text selection and clipboard operations,

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="10cm" height="3cm" viewBox="0 0 1000 300"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>Example tspan03 - �����s�ɂ킽��e�L�X�g��O���t�𐳊m��
        �ʒu�����邽�߂� tspan �� x �� y ������p����</desc>
  <g font-family="Verdana" font-size="45" >
    <text fill="rgb(255,164,0)" >
      <tspan x="300 350 400 450 500 550 600 650" y="100">
        Cute and
      </tspan>
      <tspan x="375 425 475 525 575" y="200">
         fuzzy
      </tspan>
    </text>
  </g>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example tspan03
Example tspan03 - using tspan's x and y attributes for multiline text and precise glyph positioning

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

�i �G���[�^ �FExample tspan04, tspan05 ��}���j

Example tspan04 �ɁA 'tspan' �v�f�� 'rotate' �����𗘗p����O���t�̉�]�`��������B���̗�� 'rotate' �����Ɏw�肳���l�̌���葽���̕�������Ȃ�P�Ƃ̕�������܂� 'tspan' �v�f��\������B���̏ꍇ�A 'tspan' �� 'rotate' �����̍Ō�Ɏw�肳��Ă���l��������̎c��̕����ɓK�p����Ȃ���΂Ȃ�Ȃ��B

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="10cm" height="3cm" viewBox="0 0 1000 300"
  xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>Example tspan04 - The number of rotate values is less than the number of
  characters in the string.</desc>
  <text font-family="Verdana" font-size="55" fill="blue" >

    <tspan x="250" y="150" rotate="-30,0,30">
      Hello, out there
    </tspan>
  </text>
  <!-- Show outline of canvas using 'rect' element -->
  <rect x="1" y="1" width="998" height="298"
    fill="none" stroke="blue" stroke-width="2" />
</svg>

        
Example tspan04
Example rendering of tspan04.svg

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j

Example tspan05 �ł� 'text' �v�f�Ǝq�v�f�� 'tspan' �� 'rotate' �����ɂ��O���t�̉�]�`����w�肵�Ă���B���̗�� 'rotate' �����̓`�d���؂���B

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="100%" height="100%" viewBox="0 0 500 120"
  xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>
    Example tspan05 - Propagation of rotation on text using child tspan elemtns.
  </desc>
  <text id="parent" font-family="Arial, sans-serif" font-size="32" fill="red" x="40" y="40"
    rotate="5,15,25,35,45,55">
    Not

    <tspan id="child1" rotate="-10,-20,-30,-40" fill="orange">
      all characters

      <tspan id="child2" rotate="70,60,50,40,30,20,10" fill="yellow">

        in
        
        <tspan id="child3">
          the
        </tspan>
      </tspan>

      <tspan id="child4" fill="orange" x="40" y="90">
        text
      </tspan>

      have a
    </tspan>

    <tspan id="child5" rotate="-10" fill="blue">
      specified
    </tspan>

    rotation
  </text>

  <!-- Show outline of canvas using 'rect' element -->
  <rect x="1" y="1" width="498" height="118" fill="none"
        stroke="blue" stroke-width="2" />
</svg>
        
Example tspan05
Example rendering of tspan05.svg

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j

'text' �v�f���̐ԐF�̃e�L�X�g�̉�]�F

"child1" 'tspan' �v�f���̃I�����W�F�̃e�L�X�g�̉�]�F

"child2" 'tspan' �v�f���̉��F�̃e�L�X�g�̉�]�F

"child5" 'tspan' �v�f���̐F�̃e�L�X�g�̉�]�F

Character rotation diagram for Example tspan05
Diagram of rotate values for each character in Example tspan05.svg

10.6 'tref' �v�f

'text' �v�f�̃e�L�X�g���e�́A�����f�[�^�Ƃ��Ē��� 'text' �v�f�ɖ��߂��܂�Ă��邩�A 'tref' �v�f�ɂ���Ďw�肳���Q�Ɛ�̕����f�[�^���e�ł���B

The textual content for a 'text' can be either character data directly embedded within the 'text' element or the character data content of a referenced element, where the referencing is specified with a 'tref' element.

<!ENTITY % SVG.tref.extra.content "" >
<!ENTITY % SVG.tref.element "INCLUDE" >
<![%SVG.tref.element;[
<!ENTITY % SVG.tref.content
    "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname;
     | %SVG.Description.class; %SVG.tref.extra.content; )*"
>
<!ELEMENT %SVG.tref.qname; %SVG.tref.content; >
<!-- end of SVG.tref.element -->]]>
<!ENTITY % SVG.tref.attlist "INCLUDE" >
<![%SVG.tref.attlist;[
<!ATTLIST %SVG.tref.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.XLinkRequired.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
>

������`�F

Attribute definitions:

xlink:href = "<uri>"
���� 'tref' �v�f�̕����f�[�^�Ƃ��ė��p����邱�ƂɂȂ�A SVG �����Г��́A�����f�[�^���e�����—v�f�^�����Ђւ� URI �Q�� �B
�A�j���[�V�����F��
A URI reference to an element/fragment within an SVG document fragment whose character data content shall be used as character data for this 'tref' element.
Animatable: yes.
���Œ�`����Ă��鑮���F
%stdAttrs;, %xlinkRefAttrs;, %testAttrs;, %langSpaceAttrs;, externalResourcesRequired, class, style, %PresentationAttributes-Color;, %PresentationAttributes-FillStroke;, %PresentationAttributes-FontSpecification;, %PresentationAttributes-Graphics;, %PresentationAttributes-TextContent.class;, %graphicsElementEvents;, x, y, dx, dy, rotate, textLength, lengthAdjust.
Attributes defined elsewhere:
%stdAttrs;, %xlinkRefAttrs;, %testAttrs;, %langSpaceAttrs;, externalResourcesRequired, class, style, %PresentationAttributes-Color;, %PresentationAttributes-FillStroke;, %PresentationAttributes-FontSpecification;, %PresentationAttributes-Graphics;, %PresentationAttributes-TextContent.class;, %graphicsElementEvents;, x, y, dx, dy, rotate, textLength, lengthAdjust.

�Q�Ɛ�̗v�f���̕����f�[�^�̓}�[�N�A�b�v�ň͂܂ꂽ���̂��܂߂đS�ĕ`�悳���B

All character data within the referenced element, including character data enclosed within additional markup, will be rendered.

���� x, y, dx, dy, rotate �� 'tspan' �v�f�Ɠ����Ӗ������B�����̑����� 'tref' �v�f�� 'tspan' �ɒu���������A�Q�Ƃ��ꂽ�����f�[�^�i���ׂĂ̒lj��I�}�[�N�A�b�v�͏��������j�����̉��z�� 'tspan' �v�f�ɖ��߂��܂ꂽ���̂悤�ɁA�K�p�����B

The x, y, dx, dy and rotate attributes have the same meanings as for the 'tspan' element. The attributes are applied as if the 'tref' element was replaced by a 'tspan' with the referenced character data (stripped of all supplemental markup) embedded within the hypothetical 'tspan' element.

Example tref01 �ɑ��̗v�f�̕����f�[�^���ǂ̂悤�ɂ��� 'tspan' �v�f�̕����f�[�^�Ƃ��ė��p���邩�������B�P�–ڂ� 'text' �v�f�i id="ReferencedText"�j�� 'defs' �v�f�̈ꕔ�Ȃ̂ŕ`�悳��Ȃ��B �Q�–ڂ� 'text' �v�f�́u�C�����C�������f�[�^�v��`���B �R�–ڂ� 'text' �v�f�́A�u�Q�ƕ����f�[�^�v��`���B���Ȃ킿�A�v�f "ReferencedText" ���Q�Ƃ��� 'tref' �v�f���܂�ł���A�Q�Ɛ�̗v�f�̕����f�[�^���u��Q�ƕ����f�[�^�v�ł���B

Example tref01 shows how to use character data from a different element as the character data for a given 'tspan' element. The first 'text' element (with id="ReferencedText") will not draw because it is part of a 'defs' element. The second 'text' element draws the string "Inline character data". The third 'text' element draws the string "Reference character data" because it includes a 'tref' element which is a reference to element "ReferencedText", and that element's character data is "Referenced character data".

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="10cm" height="3cm" viewBox="0 0 1000 300"
     xmlns="http://www.w3.org/2000/svg" version="1.1"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <text id="ReferencedText">
      Referenced character data
    </text>
  </defs>
  <desc>Example tref01 - �C�����C���A����юQ�Ƃɂ��e�L�X�g���e</desc>
  <text x="100" y="100" font-size="45" fill="blue" >
    Inline character data
  </text>
  <text x="100" y="200" font-size="45" fill="red" >
    <tref xlink:href="#ReferencedText"/>
  </text>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example tref01
Example tref01 - inline vs reference text content

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

10.7 �e�L�X�g�̔z�u

10.7.1 �e�L�X�g�z�u�̊T�v

���̐߂ł� SVG �ŃT�|�[�g����Ă���e�L�X�g�z�u�̓��F�@�\�ɂ‚��ďq�ׂ�B����ɂ́A������E�i�Ⴆ�΃��e����n�X�N���v�g�j, �o�����i�Ⴆ�΃w�u���C���A���r�A��j, �c���i�Ⴆ�� �A�W�A�n�X�N���v�g�j�ȂǁA�l�X�ȍ��̌���̏��������̃T�|�[�g���܂܂��B���̐߂ł̓e�L�X�g�͒�����i�������݂̗��p���W�n�ɂ����ĉ��܂��͏c�����Ɍ����ɕ��񂾃e�L�X�g�j�ł���Ƃ݂Ȃ��B�ȍ~�̐߂� �p�X��̃e�L�X�g �ɂ‚��Ă̒lj��I�z�u�K�����q�ׂ�B

This section describes the text layout features supported by SVG, which includes support for various international writing directions, such as left-to-right (e.g., Latin scripts) and bidirectional (e.g., Hebrew or Arabic) and vertical (e.g., Asian scripts). The descriptions in this section assume straight line text (i.e., text that is either strictly horizontal or vertical with respect to the current user coordinate system). Subsequent sections describe the supplemental layout rules for text on a path.

SVG �͎������s��s����̋@�\��񋟂��Ȃ��B���������āA�����s�̃e�L�X�g�u���b�N�̐��`���T�|�[�g���錾�����������e�L�X�g�̔z�u�͒P���ɂȂ�B

SVG does not provide for automatic line breaks or word wrapping, which makes internationalized text layout for SVG relatively simpler than it is for languages which support formatting of multi-line text blocks.

SVG-�t�`�́A�e 'text' �v�f�ɑ΂��W���̉����܂��͏c���̃e�L�X�g�i�����p�X��łȂ��e�L�X�g�j�ɂ����錻�݂� ������i reference orientation �j �����肷��B����ʂƂ͌��݂̗��p���W�n�ɂ����āA�x���̕��̖�����������x�N�g���ł���i �������W�n �ɂ����ẮA����ʂ͏�����ł���j�B �p�X��̃e�L�X�g �ɂ��������ʂ͕������Ƃɖ���ݒ肳���B

For each 'text' element, the SVG user agent determines the current reference orientation. For standard horizontal or vertical text (i.e., no text-on-a-path), the reference orientation is the vector pointing towards negative infinity in Y within the current user coordinate system. (Note: in the initial coordinate system, the reference orientation is up.) For text on a path, the reference orientation is reset with each character.

����ʂ� 'writing-mode' �v���p�e�B�̒l����ɁA SVG-�t�`�͌��݂� �s�i�s�����i inline-progression-direction �j �����肷��B������E�ւ̃e�L�X�g�ł́A�s�i�s�����͊���ʂ��玞�v���� 90 �x�̕����ł���B�E���獶�ւ̃e�L�X�g�ł́A�s�i�s�����͊���ʂ��甽���v���� 90 �x�̕����ł���B�ォ�牺�ւ̃e�L�X�g�ł́A�s�i�s�����͊���ʂ̔��Ε����ł���B

Based on the reference orientation and the value for property 'writing-mode', the SVG user agent determines the current inline-progression-direction. For left-to-right text, the inline-progression-direction points 90 degrees clockwise from the reference orientation vector. For right-to-left text, the inline progression points 90 degrees counter-clockwise from the reference orientation vector. For top-to-bottom text, the inline-progression-direction points 180 degrees from the reference orientation vector.

����ʂ� 'writing-mode' �v���p�e�B�̒l����ɁA SVG-�t�`�͌��݂� �u���b�N�i�s�����i block-progression-direction �j ���肷��B������E�ցi left-to-right �j�̃e�L�X�g�ƉE���獶�ցi right-to-left �j�̃e�L�X�g�ł́A�����ŗ��p�ł��� 'writing-mode' �� lr-tb �� rl-tb �����Ȃ̂ŁA�u���b�N�i�s�����͊���ʂ̔��Ε����ł���B�ォ�牺�ցi top-to-bottom �j�̃e�L�X�g�ł́A���p�ł��� 'writing-mode' �� tb-rl �����Ȃ̂ŁA�u���b�N�i�s�����͏�Ɋ���ʂ��甽���v���� 90 �x�̕����ł���B

Based on the reference orientation and the value for property 'writing-mode', the SVG user agent determines the current block-progression-direction. For left-to-right and right-to-left text, the block-progression-direction points 180 degrees from the reference orientation vector because the only available horizontal 'writing-mode's are lr-tb and rl-tb. For top-to-bottom text, the block-progression-direction always points 90 degrees counter-clockwise from the reference orientation vector because the only available top-to-bottom 'writing-mode' is tb-rl.

�V�t�g�����i shift direction �j�Ƃ́A 'baseline-shift' �v���p�e�B�����̒l���Ƃ�Ƃ��� �����e�[�u�� �����������ł���B�V�t�g�����͐��̒l�ɑ΂������e�[�u�������� �����e�[�u�� �̍ŏ�[�G���g���֌������ăV�t�g��������ł���B

The shift direction is the direction towards which the baseline table moves due to positive values for property 'baseline-shift'. The shift direction is such that a positive value shifts the baseline table towards the topmost entry in the parent's baseline table.

SVG-�t�`�� 'text' �v�f�̏����ɂ����� ���݂̃e�L�X�g�ʒu�i current text position �j ����ɍX�V���‚Â���B�����̌��݂̃e�L�X�g�ʒu�� 'text' �v�f�̑��� x �� y �ɂ���Ċm�������B

In processing a given 'text' element, the SVG user agent keeps track of the current text position. The initial current text position is established by the x and y attributes on the 'text' element.

���݂̃e�L�X�g�ʒu�͊e�O���t�̏����ゲ�ƂɁA���̃O���t���`�悳���ׂ��ꏊ�ւƁA���������B���݂̃e�L�X�g�ʒu�ɑ΂��邱�̒����́A���݂� �s�i�s����, �`�悳�ꂽ�΂���̂��̃O���t�� �O���t���� �i glyph orientation �j�ɑΉ�����O���t���L�̃A�h�o���X�l, �t�H���g�̃J�[�j���O�e�[�u��, ����ɗl�X�ȑ����ƃv���p�e�B�̌��݂̒l�i �Ԋu�����v���p�e�B ��v�f 'text', 'tspan', 'tref', 'altGlyph' �����ꂩ�̑��� x, y, dx, dy �̒l�j�Ɋ�Â��čs����B�����O���t�Ɍ��݂� �O���t���� �ɑΉ�����A�h�o���X�l�������I�ɗ^�����Ă��Ȃ��Ȃ�΁A�K�؂ȋߎ����p������ׂ��ł���B�c���̃e�L�X�g�Ȃ�΁A�l������ߎ��̓O���t�̃A�Z���g�ƃf�B�Z���g�l�̘a�ł���B �����Əc���̃e�L�X�g�̗����ɑ΂���A�h�o���X�l�ɑ΂��čl������ʂ̋ߎ��Ƃ��āAem�̑傫��������i �f�U�C���P�� ������j�B

The current text position is adjusted after each glyph to establish a new current text position at which the next glyph shall be rendered. The adjustment to the current text position is based on the current inline-progression-direction, glyph-specific advance values corresponding to the glyph orientation of the glyph just rendered, kerning tables in the font and the current values of various attributes and properties, such as the spacing properties and any x, y, dx and dy attributes on 'text', 'tspan', 'tref' or 'altGlyph' elements. If a glyph does not provide explicit advance values corresponding to the current glyph orientation, then an appropriate approximation should be used. For vertical text, a suggested approximation is the sum of the ascent and descent values for the glyph. Another suggested approximation for an advance value for both horizontal and vertical text is the size of an em (see units-per-em).

SVG-�t�`�́A�`�悳���e�O���t�ɑ΂��A���݂̃e�L�X�g�ʒu�ɂ������荇�킹����A�O���t��̓K�؂� ����_ �����肷��B����_�́A�O���t���g�ɂ�����O���t�Z���̌v��, ���݂� �s�i�s���� , �s�i�s�����ɑ��ΓI�� �O���t���� �Ɋ�Â��Č��肳���B�قƂ�ǂ̃��e����n�e�L�X�g�i���� 'writing-mode:lr', 'text-anchor:start', 'alignment-baseline:baseline' �j�ɂ����ẮA�O���t���̐���_�̓O���t�Z���̍��[�i�܂��͑��̊�‚��̃O���t���L�̍����̌��_���w������w���W�j�ƃ��e����n�O���t�̊����Ƃ̌�_�ł���B�ォ�牺�ւ̏c���e�L�X�g�̔z�u�ł́A�����̏ꍇ�A��ƂȂ�_�̓t�H���g�̏c�����̃Z�b�g�Ɋ�Â��O���t���L�̌��_�ł��邩�A�O���t�̒�����top line�itop line�̒�`�� [CSS2-topline] ���Q�Ɓj�̌�_�ł���B�����O���t�Ɍ��݂� �O���t���� �ɑΉ����錴�_�������I�ɗ^�����Ă��Ȃ��ꍇ�A�O���t�̍��[�ƃO���t�ɑ΂���K�؂Ȑ��������Ƃ̌�_��A�O���t�̏�[�ƃO���t�ɑ΂���K�؂Ȑ��������Ƃ̌�_�Ȃǂ̂悤�ȁA�K�؂ȋߎ����p������ׂ��ł���B���������e�[�u����������΁A�t�`�͏����ɂ����ċ��ʂ��ė��p���������e�[�u�����m�����ׂ��ł���B

For each glyph to be rendered, the SVG user agent determines an appropriate alignment-point on the glyph which will be placed exactly at the current text position. The alignment-point is determined based on glyph cell metrics in the glyph itself, the current inline-progression-direction and the glyph orientation relative to the inline-progression-direction. For most uses of Latin text (i.e., 'writing-mode:lr', 'text-anchor:start', and 'alignment-baseline:baseline') the alignment-point in the glyph will be the intersection of left edge of the glyph cell (or some other glyph-specific x-axis coordinate indicating a left-side origin point) with the Latin baseline of the glyph. For many cases with top-to-bottom vertical text layout, the reference point will be either a glyph-specific origin point based on the set of vertical baselines for the font or the intersection of the center of the glyph with its top line (see [ CSS2-topline] for a definition of top line). If a glyph does not provide explicit origin points corresponding to the current glyph orientation, then an appropriate approximation should be used, such as the intersection of the left edge of the glyph with the appropriate horizontal baseline for the glyph or intersection of the top edge of the glyph with the appropriate vertical baseline. If baseline tables are not available, user agents should establish baseline tables that reflect common practice.

���݂̃e�L�X�g�ʒu�ɑ΂��钲���� ��Έʒu���� �� ���Έʒu���� ���̂ǂ��炩�ł���B ��Έʒu�����͎��̏󋵂Ő�����F

Adjustments to the current text position are either absolute position adjustments or relative position adjustments. An absolute position adjustment occurs in the following circumstances:

���݂̃e�L�X�g�ʒu�ɑ΂��鑼�̈ʒu�����͂��ׂđ��Έʒu�����ł���B

All other position adjustments to the current text position are relative position adjustments.

�e��Έʒu�����ɑ΂��A�•ʂ� �e�L�X�g�� �i text chunk �j����`�����B�e��Έʒu�����̓e�L�X�g�z�u�ɑ΂����̂悤�ȉe���������炷�F

Each absolute position adjustment defines a new text chunk. Absolute position adjustments impact text layout in the following ways:

���̒lj��K�������K�`���̌`���ɓK�p�����F

The following additional rules apply to ligature formation:

10.7.2 �s�i�s�����̐ݒ�

'writing-mode' �v���p�e�B�́A 'text' �v�f�ɑ΂��鏉���̍s�i�s�������A������E, �E���獶, �ォ�牺�ւ̂�����ɂ��邩���w�肷��B 'writing-mode' �v���p�e�B�� 'text' �v�f�ɂ̂ݓK�p�����B���̃v���p�e�B�͉��ʂ̗v�f 'tspan', 'tref', 'altGlyph', 'textPath' �ł͖��������B�i���ӁF��‚� 'text' �v�f���ɂ�����s�i�s�����́A���j�R�[�h�o�����A���S���Y������� 'direction'�� 'unicode-bidi' �v���p�e�B�ɂ���ĕύX����邱�Ƃ�����B�o�����e�L�X�g�ɂ‚��ẮA �o�������Ƃ̊֌W ������B�j

The 'writing-mode' property specifies whether the initial inline-progression-direction for a 'text' element shall be left-to-right, right-to-left, or top-to-bottom. The 'writing-mode' property applies only to 'text' elements; the property is ignored for 'tspan', 'tref', 'altGlyph' and 'textPath' sub-elements. (Note that the inline-progression-direction can change within a 'text' element due to the Unicode bidirectional algorithm and properties 'direction' and 'unicode-bidi'. For more on bidirectional text, see Relationship with bidirectionality.)

'writing-mode'
�l�F   lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit
�����l�F   lr-tb
�K�p�ΏہF   'text' �v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   �s��
Value:   lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit
Initial:   lr-tb
Applies to:   'text' elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   no
lr-tb | lr
�����s�i�s�������A���e����n�����̂̕����̂قƂ�ǂň�ʓI�ȁA������E�ɐݒ肷��B�قƂ�ǂ̕����ɑ΂��A���݂̃e�L�X�g�ʒu�́A�e�O���t�̕`���A������E�փA�h�o���X�����B�i�����f�[�^�����j�R�[�h�o�����A���S���Y���̑ΏۂƂȂ镶�����܂�ł���ꍇ�A�e�L�X�g�A�h�o���X�K���͂�蕡�G�ɂȂ�B �o�������Ƃ̊֌W ������j
Sets the initial inline-progression-direction to left-to-right, as is common in most Latin-based documents. For most characters, the current text position is advanced from left to right after each glyph is rendered. (When the character data includes characters which are subject to the Unicode bidirectional algorithm, the text advance rules are more complex. See Relationship with bidirectionality).
rl-tb | rl
�����s�i�s�������A�A���r�A���w�u���C��̃X�N���v�g�ň�ʓI�ȉE���獶�ɐݒ肷��i �o�������Ƃ̊֌W ������j
Sets the initial inline-progression-direction to right-to-left, as is common in Arabic or Hebrew scripts. (See Relationship with bidirectionality.)
tb-rl | tb
�����s�i�s�������A���������{��ȂNJ�‚��̃A�W�A�n�X�N���v�g�ň�ʓI�ȁA�ォ�牺�ɐݒ肷��B���̎�̏c���z�u�̓��e����n�����̂̕����ł��A�����ĕp�ɂł͂Ȃ����A���ɕ\�̗��s�̕W��Ȃǂɐ�������B�قƂ�ǂ̏ꍇ�A�e�O���t�̒�����ʂ�c����������������B
Sets the initial inline-progression-direction to top-to-bottom, as is common in some Asian scripts, such as Chinese and Japanese. Though hardly as frequent as horizontal, this type of vertical layout also occurs in Latin based documents, particularly in table column or row labels. In most cases, the vertical baselines running through the middle of each glyph are aligned.

10.7.3 �s���̃O���t����

�ꍇ�ɂ���ẮA�������т̕��ʂ��s�i�s�����ɑ��΂��ĕς���K�v������B���̂��Ƃ͓��ɓ��A�W�A�n�̕����̏c���z�u�̂Ƃ��ɂ��Ă͂܂�A�Z�����̋������e����n�e�L�X�g���A����Ƃ��͒����ɁA�ʂ̂Ƃ��͉��|���ɕ\�������B

In some cases, it is required to alter the orientation of a sequence of characters relative to the inline-progression-direction. The requirement is particularly applicable to vertical layouts of East Asian documents, where sometimes narrow-cell Latin text is to be displayed horizontally and other times vertically.

�Q�‚̉”\�ȍs�i�s�����̂��ꂼ��ɑ΂��A����ʂɑ��ΓI�ȃO���t���ʂ𐧌䂷��ʁX�̃v���p�e�B������B 'glyph-orientation-vertical' �͍s�i�s�������c�̂Ƃ��̃O���t���ʂ𐧌䂷��B 'glyph-orientation-horizontal' �͍s�i�s���������̂Ƃ��̃O���t���ʂ𐧌䂷��B

Two properties control the glyph orientation relative to the reference orientation for each of the two possible inline-progression-directions. 'glyph-orientation-vertical' controls glyph orientation when the inline-progression-direction is vertical. 'glyph-orientation-horizontal' controls glyph orientation when the inline-progression-direction is horizontal.

'glyph-orientation-vertical'
�l�F   auto | <angle> | inherit
�����l�F   auto
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   �s��
Value:   auto | <angle> | inherit
Initial:   auto
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   no
auto
<angle>
�p�x�� 0, 90, 180, 270 �x�ɐ��������B�t�`�͊p�x�̒l���������l�ɍł��߂��l�Ɋۂ߂���̂Ƃ���B
�l 0deg �͂��ׂẴO���t�ɑ΂��A���̏�[�� ����� �������悤�ɐݒ肷�邱�Ƃ��w������B�l 90deg ����� ���玞�v���� 90 �x�̕��ʂ��w������B
The value of the angle is restricted to 0, 90, 180, and 270 degrees. The user agent shall round the value of the angle to the closest of the permitted values.
A value of 0deg indicates that all glyphs are set with the top of the glyphs oriented towards the reference orientation. A value of 90deg indicates an orientation of 90 degrees clockwise from the reference orientation.

���̃v���p�e�B�� 'writing-mode' ���c���̃e�L�X�g�ɂ̂ݓK�p�����B

This property is applied only to text written in a vertical 'writing-mode'.

�O���t���ʂ͊e�O���t���`�悳��邲�Ƃ̌��݂̃e�L�X�g�ʒu�ɑ΂���A�h�o���X�ʂɉe������B �s�i�s�������c������ 'glyph-orientation-vertical' �ɂ����ʂ̊p�x�� 180 �x�̔{���̂Ƃ��A���݂̃e�L�X�g�ʒu�̓O���t�̏c�����̌v�ʂɏ]���đ��傷��B�����łȂ��Ƃ��A���� 'glyph-orientation-vertical' �ɂ����ʂ̊p�x�� 180 �x�̔{���łȂ��Ƃ��A���݂̃e�L�X�g�ʒu�̓O���t�̉������̌v�ʂɏ]���đ��傷��B

The glyph orientation affects the amount that the current text position advances as each glyph is rendered. When the inline-progression-direction is vertical and the 'glyph-orientation-vertical' results in an orientation angle that is a multiple of 180 degrees, then the current text position is incremented according to the vertical metrics of the glyph. Otherwise, if the 'glyph-orientation-vertical' results in an orientation angle that is not a multiple of 180 degrees, then the current text position is incremented according to the horizontal metrics of the glyph.

���̐߂̃e�L�X�g�z�u�}�ł͎��̋L����p����F

The text layout diagrams in this section use the following symbols:

Symbolic wide-cell glyph representation - ���L�́i wide-cell �j�O���t�i�Ⴆ�Ί����j�ŁA�s���� n �Ԗڂ̃O���t
Symbolic narrow-cell glyph representation - �����́i narrow-cell �j�O���t�i�Ⴆ�΃��e����n�j�ŁA�s���� n �Ԗڂ̃O���t

Symbolic wide-cell glyph representation - wide-cell glyph (e.g. Han) which is the n-th glyph in the text run
Symbolic narrow-cell glyph representation - narrow-cell glyph (e.g. Latin) which is the n-th glyph in the text run

��̐}���̋L���őz�肵�Ă�����ʂ́A����炪�\�����郆�j�R�[�h�������t�`�ɂ����ĕ`�悳���Ƃ��ɑz�肳�������ɑΉ�����B�}���̃O���t�Ԃ̊Ԋu�́A���_�𖾂炩�ɂ��邽�߂ɈӐ}�I�ɕύX�����ꍇ�������āA�\�ۓI�Ȃ��̂ł���B

The orientation which the above symbols assume in the diagrams corresponds to the orientation that the Unicode characters they represent are intended to assume when rendered in the user agent. Spacing between the glyphs in the diagrams is usually symbolic, unless intentionally changed to make a point.

���}�� 'glyph-orientation-vertical' �̈قȂ�p�������������B�}���̓��e����n�̕����ɑ΂��� 'glyph-orientation-vertical' �� auto �܂��� 90 �Ɏw�肵���ꍇ�ɂ����āA�S�p�\�ӕ����O���t�ƕ����̃O���t�����݂������Ƃ��̌��ʂ������Ă���B�}�E�̓��e����n�̕����ɑ΂��� 'glyph-orientation-vertical' �� 0 �Ɏw�肵���ꍇ�ɂ����āA�S�p�\�ӕ����O���t�ƕ����̃O���t�����݂������Ƃ��̌��ʂ������Ă���B

The diagrams below illustrate different uses of 'glyph-orientation-vertical'. The diagram on the left shows the result of the mixing of full-width ideographic glyphs with narrow-cell Latin glyphs when 'glyph-orientation-vertical' for the Latin characters is either auto or 90. The diagram on the right show the result of mixing full-width ideographic glyphs with narrow-cell Latin glyphs when Latin glyphs are specified to have a 'glyph-orientation-vertical' of 0.

Layout of mixed glyphs in vertical-ideographic mode. Wide-cell glyphs are upright, Non-wide-cell glyphs are rotated by 90 degrees. Example of mixed Japanese and English in vertical-ideographic layout. Japanese glyphs are upright, English rotated.                     Layout of mixed glyphs in vertical mode. All glyphs are upright. Example of mixed Japanese and English in vertical layout. All glyphs are upright.

'glyph-orientation-horizontal'
�l�F   <angle> | inherit
�����l�F   0deg
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   �s��
Value:   <angle> | inherit
Initial:   0deg
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   no
<angle>
�p�x���Ƃ蓾��l�� 0, 90, 180, 270 �x�ɐ��������B�t�`�͊p�x�̒l���������l�ɍł��߂��l�Ɋۂ߂���̂Ƃ���B
�l 0deg �͂��ׂẴO���t�ɑ΂��A���̏�[�� ����� �������悤�ɐݒ肳���邱�Ƃ��w������B�l 90deg ����� ���玞�v���� 90 �x�̕��ʂ��w������B
The value of the angle is restricted to 0, 90, 180, and 270 degrees. The user agent shall round the value of the angle to the closest of the permitted values.
A value of 0deg indicates that all glyphs are set with the top of the glyphs oriented towards the reference orientation. A value of 90deg indicates an orientation of 90 degrees clockwise from the reference orientation.

���̃v���p�e�B�� 'writing-mode' �������̃e�L�X�g�ɂ̂ݓK�p�����B

This property is applied only to text written in a horizontal 'writing-mode'.

�O���t���ʂ͊e�O���t���`�悳��邲�Ƃ̌��݂̃e�L�X�g�ʒu�ɑ΂���A�h�o���X�ʂɉe������B����ʂ����������� 'glyph-orientation-horizontal' �ɂ����ʂ̊p�x�� 180 �x�̔{���̂Ƃ��A���݂̃e�L�X�g�ʒu�̓O���t�̉������̌v�ʂɏ]���đ��傷��B�����łȂ��Ƃ��A 'glyph-orientation-horizontal' �ɂ����ʂ̊p�x�� 180 �x�̔{���łȂ��Ƃ�, ���݂̃e�L�X�g�ʒu�̓O���t�̏c�����̌v�ʂɏ]���đ��傷��B

The glyph orientation affects the amount that the current text position advances as each glyph is rendered. When the reference orientation direction is horizontal and the 'glyph-orientation-horizontal' results in an orientation angle that is a multiple of 180 degrees, then the current text position is incremented according to the horizontal metrics of the glyph. Otherwise, if the 'glyph-orientation-horizontal' results in an orientation angle that is not a multiple of 180 degrees, then the current text position is incremented according to the vertical metrics of the glyph.

10.7.4 �o�������Ƃ̊֌W

�����̃X�N���v�g�ł͕����͉E���獶�֏������B�ꕔ�̕����A���ɃA���r�A���w�u���C��̃X�N���v�g�ŏ����ꂽ�A���炩�̕�������̕����ł́A��s�̃e�L�X�g�ɑo���������荬���邱�ƂɂȂ�B���̂悤�Ȍ��ۂ͑o�������i bidirectionality �j�܂��͗����� "bidi" �ƌĂ΂��B

The characters in certain scripts are written from right to left. In some documents, in particular those written with the Arabic or Hebrew script, and in some mixed-language contexts, text in a single line may appear with mixed directionality. This phenomenon is called bidirectionality, or "bidi" for short.

���j�R�[�h�W���i [UNICODE] 3.11 �߁j�ł̓e�L�X�g�̐������������������肷�镡�G�ȃA���S���Y������`����Ă���B �A���S���Y���͖����I�Ȗ��߂��݂Ə㏑���̐���݂̂Ȃ炸�A�����̓����Ɋ�Â��Öق̕���������\�������B SVG-�t�`�� 'text' �v�f�ɂ����镶���̔z�u�����肷��ۂɂ��̑o�����A���S���Y����K�p����B 'direction' �� 'unicode-bidi' �v���p�e�B�͕������e�̖{���̕����𕶏��쐬�҂��㏑�����邱�Ƃ��”\�ɂ��A��������̗v�f�Ƒ��������̃A���S���Y���ɂǂ��ʂ����̖����I�Ȑ��䂪�”\�ɂ���B���̂Q�‚̃v���p�e�B�͍s�i�s�����ɐ����ȃO���t�ɑΉ�����S�Ă̕����ɑ΂��ēK�p���邱�Ƃ��ł���B

The Unicode standard ([ UNICODE], section 3.11) defines a complex algorithm for determining the proper directionality of text. The algorithm consists of an implicit part based on character properties, as well as explicit controls for embeddings and overrides. The SVG user agent applies this bidirectional algorithm when determining the layout of characters within a 'text' element. The 'direction' and 'unicode-bidi' properties allow authors to override the inherent directionality of the content characters and thus explicitly control how the elements and attributes of a document language map to this algorithm. These two properties are applicable to all characters whose glyphs are perpendicular to the inline-progression-direction.

�قƂ�ǂ̏ꍇ�A [UNICODE] �ɂ��o�����A���S���Y���͖]�܂������ʂ������I�ɎZ�o���Ă����B���̃A���S���Y���𐳂����㏑�����邱�Ƃ͒ʏ�ɂ߂ĕ��G�ł���B���������ĂقƂ�ǂ̏ꍇ�A�����쐬�҂͂����̃v���p�e�B�Ɉ��Ղɒl��ݒ肷��ׂ��ł͂Ȃ��B

In most cases, the bidirectional algorithm from [ UNICODE] produces the desired result automatically, and overriding this algorithm properly is usually quite complex. Therefore, in most cases, authors are discouraged from assigning values to these properties.

�o�������ɂ‚��Ă̂�芮�S�ȉ���� "Cascading Style Sheets (CSS) level 2" �d�l [CSS2-direction] ���Q�Ƃ̂��ƁB

A more complete discussion of bidirectionality can be found in the "Cascading Style Sheets (CSS) level 2" specification [ CSS2-direction].

�o�����e�L�X�g�̏������f���͎��̂悤�ɂȂ�B�t�`�� �_������ �ŗ^�����镶������������i�_�������Ƃ́A���ړI��܂��邢�� 'tref' �v�f�ɂ��ԐړI�Q�Ƃ�ʂ��āA�������������̕����Ɍ���鏇�Ԃ̂��Ƃł���j�B�t�`�́A�e�X�ɑ΂��•ʂɃ��j�R�[�h�o�����A���S���Y�����K�p�����悤�ȓƗ��̃u���b�N�ɕ�������B�e �e�L�X�g�� �̓e�L�X�g�̓Ɨ��u���b�N��\���B�����āA 'glyph-orientation-horizontal' �܂��� 'glyph-orientation-vertical' �v���p�e�B���琶����O���t���ʂ̕ύX�ɂ��A�Ɨ��̃e�L�X�g�u���b�N�������X�ɍו������B�e�Ɨ��e�L�X�g�u���b�N�ɑ΂��郆�j�R�[�h�o�����A���S���Y������� 'direction' �� 'unicode-bidi' �v���p�e�B�̏������I���ƁA�t�`�́A�`�揇����������E�ɂ��ꂽ�Ĕz��ς݂̕����̃��X�g�𓾂邱�ƂɂȂ�B�����̍Ĕz��ɓ������s���āA 'tspan' �� 'tref' �v�f�� dx, dy, rotate �������A�����Ƒ����l�̌��̑Ή��֌W���ێ����邽�߂ɍĔz�񂳂��B�����܂��̓O���t�̑g�ɑ΂���J�[�j���O�ƃ��K�`���̏����́A���ꂪ�t�H���g���L�̂��̂ł���Ƃ��Ă��A�����̍Ĕz���ɍs���邱�Ƃ����f���Ƃ��Ă͖]�܂����B

The processing model for bidirectional text is as follows. The user agent processes the characters which are provided in logical order (i.e., the order the characters appear in the original document, either via direct inclusion or via indirect reference due a 'tref' element). The user agent determines the set of independent blocks within each of which it should apply the Unicode bidirectional algorithm. Each text chunk represents an independent block of text. Additionally, any change in glyph orientation due to processing of properties 'glyph-orientation-horizontal' or 'glyph-orientation-vertical' will subdivide the independent blocks of text further. After processing the Unicode bidirectional algorithm and properties 'direction' and 'unicode-bidi' on each of the independent text blocks, the user agent will have a potentially re-ordered list of characters which are now in left-to-right rendering order. Simultaneous with re-ordering of the characters, the dx, dy and rotate attributes on the 'tspan' and 'tref' elements are also re-ordered to maintain the original correspondence between characters and attribute values. While kerning or ligature processing might be font-specific, the preferred model is that kerning and ligature processing occurs between combinations of characters or glyphs after the characters have been re-ordered.

'direction'
�l�F   ltr | rtl | inherit
�����l�F   ltr
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   �s��
Value:   ltr | rtl | inherit
Initial:   ltr
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   no

���̃v���p�e�B�͊�ɂȂ�e�L�X�g�̏�����������сA���j�R�[�h�o�����A���S���Y���ɂ����閄�߂��݂Ə㏑���̕����i 'unicode-bidi' ������j���w�肷��B 'direction' �v���p�e�B�� 'unicode-bidi' �v���p�e�B�̒l�� 'embed' �� 'bidi-override' �łȂ���ΈӖ����Ȃ��Ȃ��B

This property specifies the base writing direction of text and the direction of embeddings and overrides (see 'unicode-bidi') for the Unicode bidirectional algorithm. For the 'direction' property to have any effect, the 'unicode-bidi' property's value must be 'embed' or 'bidi-override'.

���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-direction] �ŗ^������B

Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-direction].

'direction' �v���p�e�B�� �s�i�s���� �ɑ΂����ʂ������̃O���t�ɂ̂ݓK�p�����B�����ł̍s�i�s�����͒ʏ�̉����̃��e����n�܂��̓A���r�A��̃e�L�X�g�ꍇ�ƁA�ォ�牺�ւ̍s�i�s�����ɑ��΂��Ď��v���� 90 �x��]���ꂽ���e����n�܂��̓A���r�A��̕����̕����̏ꍇ���܂܂��B

The 'direction' property applies only to glyphs oriented perpendicular to the inline-progression-direction, which includes the usual case of horizontally-oriented Latin or Arabic text and the case of narrow-cell Latin or Arabic characters rotated 90 degrees clockwise relative to a top-to-bottom inline-progression-direction.

'unicode-bidi'
�l�F   normal | embed | bidi-override | inherit
�����l�F   normal
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   ����
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   �s��
Value:   normal | embed | bidi-override | inherit
Initial:   normal
Applies to:   text content elements
Inherited:   no
Percentages:   N/A
Media:   visual
Animatable:   no

���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-unicode-bidi] �ŗ^������B

Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-unicode-bidi].

10.8 �e�L�X�g�̕`�揇��

'text' �v�f���̕����Ɍ��т‚���ꂽ�O���t�͌��̕����ɂ����镶���̘_�������ŕ`�悳��A�o�������̎����ɕK�v�ȍĔz��Ƃ͓Ɨ��ł���B���̂悤�ɁA���o�I�ɉE���獶�֘A�Ȃ�e�L�X�g�ł́A�ł��E���̕����ɑΉ�����O���t�͑��̕����ɑΉ�����O���t����ɕ`�悳���B

The glyphs associated with the characters within a 'text' element are rendered in the logical order of the characters in the original document, independent of any re-ordering necessary to implement bidirectionality. Thus, for text that goes right-to-left visually, the glyphs associated with the rightmost character are rendered before the glyphs associated with the other characters.

�����āA�X�̃O���t�͎��̃O���t���`�悳���O�Ɉ�̂Ƃ��ĕ`�悳���i�����A 'fill' �� 'stroke' �v���p�e�B�ɂ���Ďw�肳�������ƊO�`���ւ̓h�肪�s����j�B

Additionally, each distinct glyph is rendered in its entirety (i.e., it is filled and stroked as specified by the 'fill' and 'stroke' properties) before the next glyph gets rendered.

10.9 ����v���p�e�B

10.9.1 �e�L�X�g����v���p�e�B

'text-anchor' �v���p�e�B�̓e�L�X�g�������^����ꂽ�_�ɑ΂��đ��ΓI�ɑ�����i�擪����, ��������, ���������j���߂ɗp������B

The 'text-anchor' property is used to align (start-, middle- or end-alignment) a string of text relative to a given point.

'text-anchor' �v���p�e�B�͗^����ꂽ 'text' �v�f�ɂ�����X�� �e�L�X�g�� �ɑ΂��K�p�����B�e�e�L�X�g�Ђ͏����̌��݂̃e�L�X�g�ʒu�������A���̂����ꂩ��K�p�������ʂɂ��i�����Ɉˑ�����j���p���W�n�̓_��\������F���Ȃ킿�A�e�L�X�g�Ђ̍ŏ��ɕ`�悳��镶���ɑ΂��A 'text' �v�f�� x, y �����A�܂��͖����I�Ɏw�肳�ꂽ 'tspan', 'tref', 'altGlyph' �̂����̂����ꂩ�̗v�f�� x, y �����̒l�A���邢�� 'textPath' �v�f�ɂ����鏉���̌��݂̃e�L�X�g�ʒu�A�̂����ꂩ�ł���B

The 'text-anchor' property is applied to each individual text chunk within a given 'text' element. Each text chunk has an initial current text position, which represents the point in the user coordinate system resulting from (depending on context) application of the x and y attributes on the 'text' element, any x or y attribute values on a 'tspan', 'tref' or 'altGlyph' element assigned explicitly to the first rendered character in a text chunk, or determination of the initial current text position for a 'textPath' element.

'text-anchor'
�l�F   start | middle | end | inherit
�����l�F   start
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   start | middle | end | inherit
Initial:   start
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

�����̒l�͎��̈Ӗ������F

Values have the following meanings:

start
�`�悳��镶���́A�e�L�X�g�̎n�_�������̌��݂̃e�L�X�g�ʒu�ɂȂ�悤�ɑ�������B ���̂��Ƃ́A�ʏ퐅���ɕ`�悳��郉�e����n�܂��̓A���r�A��̃e�L�X�g���������ɂ���邱�Ƃ��Ӗ��� �i �G���[�^ �F���ɏC���j ���̂��Ƃ́A���e����n�̒ʏ�̏��������ɂ����Ă͍������ɂ���邱�Ƃɓ������A�A���r�A���w�u���C��Ȃǎ�������E���獶�̃X�N���v�g�ɂ����Ă͉E�����ɂ���邱�Ƃɓ������B �܂��A��������c���̃A�W�A�n�̃e�L�X�g���㑵���ɂ���邱�ƂɈӖ�����B
The rendered characters are aligned such that the start of the text string is at the initial current text position. For Latin or Arabic, which is usually rendered horizontally, this is comparable to left alignment. For Asian text with a vertical primary text direction, this is comparable to top alignment.
middle
�`��̍ۂɂ́A�e�L�X�g������̒��������݂̃e�L�X�g�ʒu�ɑ�������B�i �p�X��̃e�L�X�g �̏ꍇ�A�T�O�I�ɂ́A�e�L�X�g������͂܂�������ɕ��ׂ��A���Ƀe�L�X�g������̎n�_�ƏI�_�̒��_����߂��A�Ō�ɒ��_�����݂̃e�L�X�g�ʒu�ɗ���悤�Ƀp�X��Ɏʑ������B�j
The rendered characters are aligned such that the middle of the text string is at the current text position. (For text on a path, conceptually the text string is first laid out in a straight line. The midpoint between the start of the text string and the end of the text string is determined. Then, the text string is mapped onto the path with this midpoint placed at the current text position.)
end
�`��̍ۂɂ́A�e�L�X�g������̏I�_�������̌��݂̃e�L�X�g�ʒu�ɑ�������B ���̂��Ƃ́A�ʏ�̕��ʂ̃��e����n�܂��̓A���r�A��̃e�L�X�g�͉E�����ɂ���邱�Ƃ��Ӗ�����B �i �G���[�^ �F���ɏC���j ���̂��Ƃ́A���e����n�̒ʏ�̏��������ɂ����Ă͉E�����ɂ���邱�Ƃɓ������A�A���r�A���w�u���C��Ȃǎ�������E���獶�̃X�N���v�g�ɂ����Ă͍������ɂ���邱�Ƃɓ������B
The rendered characters are aligned such that the end of the text string is at the initial current text position. For Latin text in its usual orientation, this is comparable to right alignment.

10.9.2 ��������v���p�e�B

��������Ɗ����e�[�u���ɂ‚��Ă̊T�ς͏�� �t�H���g, �t�H���g�e�[�u��, ���� �ɂĂ��łɏq�ׂ��B

An overview of baseline alignment and baseline tables can be found above in Fonts, font tables and baselines.

�����ꂪ�܂܂��e�L�X�g�̓����̈�‚͈قȂ�X�N���v�g�̃O���t�ɑ΂��قȂ�����i�قȂ鐮��_�j�����݂��邱�Ƃł���B�Ⴆ�Ή����̏ꍇ�A����, �Љ���, ������, �n���O���̂悤�ȕ\�ӕ����X�N���v�g�ɂ����Ă͊����ɂ�鐮��̓O���t�̉��[�߂��ōs���A���e����n, �L��������, �w�u���C��, �A���r�A��Ȃǂ̃A���t�@�x�b�g����Ƃ���X�N���v�g�ɂ����Ă͂قƂ�ǂ̃O���t�����[�������������ňꕔ�̃O���t�̉��[��������艺�Ɉʒu���A�C���h�n�X�N���v�g�ɂ����Ă̓O���t�̏�[�߂�����������B

One of the characteristics of international text is that there are different baselines (different alignment points) for glyphs in different scripts. For example, in horizontal writing, ideographic scripts, such as Han Ideographs, Katakana, Hiragana, and Hangul, alignment occurs with a baseline near the bottoms of the glyphs; alphabetic based scripts, such as Latin, Cyrillic, Hebrew, Arabic, align a point that is the bottom of most glyphs, but some glyphs descend below the baseline; and Indic based scripts are aligned at a point that is near the top of the glyphs.

�قȂ�X�N���v�g����s�̃e�L�X�g�ɍ��݂���Ƃ��A�X�N���v�g�̈قȂ�O���t���݂��ɐ�������������悤�ɒ�������Ȃ���΂Ȃ�Ȃ��B OpenType [OPENTYPE] �t�H���g�́A���݂̊������瑼�̊����ւ̃I�t�Z�b�g���w�肷������e�[�u�� (BASE) [OPENTYPE-BASETABLE] �����B

When different scripts are mixed on a line of text, an adjustment must be made to ensure that the glyphs in the different scripts are aligned correctly with one another. OpenType [ OPENTYPE] fonts have a Baseline table (BASE) [ OPENTYPE-BASETABLE] that specifies the offsets of the alternative baselines from the current baseline.

SVG �ɂ����� 'text' �v�f�̏����ł́A�i��‚̃t�H���g�T�C�Y�̒��Łj��‚̃X�N���v�g���u�x�z�I�����i dominant run �j�v�ɂȂ��Ă�����̂Ƃ݂Ȃ��A OpenType �Ɏ��������e�[�u���̃��f�����p������B���Ȃ킿�A���̂��ׂĂ̊����͂��̎x�z�I�����ɑ��ΓI�Ȃ��̂Ƃ��Ē�`�����B�x�z�I�����ƂȂ�X�N���v�g�̊����� ����� �i dominant baseline �j�ƌĂԁB����āA�Ⴆ�Ύ�������A���t�@�x�b�g�̊����ł���Ȃ�΁A�\�ӕ����̊�����C���h�n����̊����ȂǁA���̊����̂��߂̃I�t�Z�b�g�������e�[�u���ɑ��݂��邱�ƂɂȂ�B�܂��A�ꕔ�̐��w�p�t�H���g�ɗp�����鐔���p�����̂��߂̃I�t�Z�b�g�����݂��邱�ƂɂȂ�B�����Əc�����[�h���ꂼ��ɑ΂��ʁX�̊����e�[�u�������邱�Ƃɒ��ӁB�����̃e�[�u���ɂ�����I�t�Z�b�g�͉����Əc���ł͂��ꂼ��قȂ���̂ɂȂ�ł��낤�B

SVG uses a similar baseline table model that assumes one script (at one font-size) is the "dominant run" during processing of a 'text' element; that is, all other baselines are defined in relation to this dominant run. The baseline of the script with the dominant run is called the dominant baseline. So, for example, if the dominant baseline is the alphabetic baseline, there will be offsets in the baseline table for the alternate baselines, such as the ideographic baseline and the Indic baseline. There will also be an offset for the math baseline which is used for some math fonts. Note that there are separate baseline tables for horizontal and vertical writing-modes. The offsets in these tables may be different for horizontal and vertical writing.

'text' �v�f�̏������n�߂鎞�_�Ŋm�����������e�[�u���̂��Ƃ� ������e�[�u�� �ƌĂԁB

The baseline table established at the start of processing of a 'text' element is called the dominant baseline table.

'font-family' �v���p�e�B�̒l�̓t�H���g�̃��X�g�Ȃ̂ŁA��ѐ��̂�������e�[�u���̑I����ۏ؂��邽�߂ɁA�t�H���g���X�g���ŃO���t�����p�”\�ȍŏ��̃t�H���g�Ƃ��āA���ڏ�̃t�H���g�i nominal font �j����`�����B����́A�������邻�ꂼ��̕����ɑ΂��A���̃O���t�������Ă���ŏ��̃t�H���g�ł���B�i���̒�`�̂��߁A�t�H���g���u�����ꂽ�荇�����ꂽ�肵�Ă��O���t�f�[�^�����݂�����̂Ƃ݂Ȃ����B�j���̒�`�ɂ��A���p�����t�H���g�Ɗ����e�[�u���̌��肪���e����Ɨ����邱�Ƃ��ۏ؂����B �i�󒍁F������`�����A���ڏ�̃t�H���g�Ƃ́A�v����Ɋe�����ɗ��p�����O���t�𕡐��̃t�H���g����񂹏W�߂����̂Ƃ����̂���҂̗����ł���B�������Ȃ���A�Ō�̕��́u�Ɨ��v�̈Ӗ�����҂ɂ͔c���ł��Ă��Ȃ��B�j

Because the value of the 'font-family' property is a list of fonts, to insure a consistent choice of baseline table we define the nominal font in a font list as the first font in the list for which a glyph is available. This is the first font that could contain a glyph for each character encountered. (For this definition, glyph data is assumed to be present if a font substitution is made or if the font is synthesized.) This definition insures a content independent determination of the font and baseline table that is to be used.

'text' �v�f�� 'font-size' �v���p�e�B�̒l�� ������e�[�u���E�t�H���g�T�C�Y ���m������B

The value of the 'font-size' property on the 'text' element establishes the dominant baseline table font size.

���̃��f���ł͊e�O���t�́A�O���t����������������w������ 'alignment-baseline' �l�����‚��̂Ƃ݂Ȃ����B�i OpenType �����e�[�u���ɂ����Ă� 'alignment-baseline' �� "Baseline Tag" �ƌĂ΂��B�j 'alignment-baseline' �v���p�e�B�̏����l�ł̓O���t�Ɍ��ѕt����ꂽ�������ʎq�����p�����B 'alignment-baseline' �ɑ΂����֒l�́A�X�N���v�g�̒��ԓ��ł͓��ق� "*" �̂悤�ȃO���t�ɑ΂��Ė𗧂B

The model assumes that each glyph has a 'alignment-baseline' value which specifies the baseline with which the glyph is to be aligned. (The 'alignment-baseline' is called the "Baseline Tag" in the OpenType baseline table description.) The initial value of the 'alignment-baseline' property uses the baseline identifier associated with the given glyph. Alternate values for 'alignment-baseline' can be useful for glyphs such as a "*" which are ambiguous with respect to script membership.

���̃��f���ł̓O���t���`�����t�H���g�́A �t�H���g�����e�[�u�� �ƌĂ΂������e�[�u�������‚��̂Ƃ݂Ȃ����B���̊����e�[�u���̓t�H���g�����Še�����ɑ΂��A�_ (0,0) ����̃f�U�C���P�ʂŕ\�����I�t�Z�b�g�����B���ɁA�O���t�̓_ (0,0) ���� 'alignment-baseline' �Ŏ��ʂ��������ւ̃I�t�Z�b�g�����B

The model assumes that the font from which the glyph is drawn also has a baseline table, the font baseline table. This baseline table has offsets in units-per-em from the (0,0) point to each of the baselines the font knows about. In particular, it has the offset from the glyph's (0,0) point to the baseline identified by the 'alignment-baseline'.

�����e�[�u���̃I�t�Z�b�g�̒l�̓G���𕪊������P�ʂ��Ӗ�����u�f�U�C���P�ʁv�i design units �j�ŕ\�����B CSS �ł͂���� "units-per-em" [CSS2-UNITSPEREM] �ƌĂԁB���������āA�i�`��ɂ����镶�����ɑ��ΓI�ȒP�ʂ� em ������j���݂� 'font-size' �͎�������瑼�̊����܂ł̎��ۂ̃I�t�Z�b�g�����肷��ۂɗp������B

The offset values in the baseline table are in "design units" which means fractional units of the EM. CSS calls these "units-per-em" [ CSS2-UNITSPEREM]. Thus, the current 'font-size' is used to determine the actual offset from the dominant baseline to the alternate baselines.

�O���t�̐���ɂ����Ă� 'alignment-baseline' �Ŏ��ʂ����O���t�̊�����������e�[�u���ɂ��铯�����O�̊����ɑ�������B

The glyph is aligned so that its baseline identified by its 'alignment-baseline' is aligned with the baseline with the same name from the dominant baseline table.

��������� 'alignment-baseline' �Ŏ��ʂ��������܂ł̃I�t�Z�b�g�͎�����e�[�u���Ǝ�����e�[�u���E�t�H���g�T�C�Y��p���Čv�Z�����B�O���t�ɓK�p�”\�ȃt�H���g�����e�[�u���ƃt�H���g�T�C�Y�́A���ʂ��ꂽ��������O���t�̓_ (0,0) �܂ł̃I�t�Z�b�g�̎Z�o�ɗp������B���̑��̃I�t�Z�b�g�� �V�t�g���� �ɂ�����_ (0,0) �̈ʒu�𓾂邽�߂ɁA���̃I�t�Z�b�g����������B�Q�‚̃I�t�Z�b�g�͊����e�[�u���̊����̒l�ɓK�؂ȃt�H���g�T�C�Y�̒l���|���邱�Ƃɂ��v�Z�����B

The offset from the dominant baseline of the parent to the baseline identified by the 'alignment-baseline' is computed using the dominant baseline table and dominant baseline table font size. The font baseline table and font size applicable to the glyph are used to compute the offset from the identified baseline to the (0,0) point of the glyph. This second offset is subtracted from the first offset to get the position of the (0,0) point in the shift direction. Both offsets are computed by multiplying the baseline value from the baseline table times the appropriate font size value.

'alignment-baseline' ����������w���ꍇ�A���̃I�t�Z�b�g�͂O�ɂȂ�A�O���t�͎�����ɑ�������B���̊������w���ꍇ�A�O���t�͂��̊����ɑ�������B

If the 'alignment-baseline' identifies the dominant baseline, then the first offset is zero and the glyph is aligned with the dominant baseline; otherwise, the glyph is aligned with the chosen alternate baseline.

���̎d�l�ŗp������������ʎq�����ɋ�����B������‚��́A [XSL description of Fonts and Font Data] �ŏq�ׂ���悤�ɂ��āA�t�H���g�Ɋ܂܂������e�[�u�������܂�B�c��͈ȉ��ŏq�ׂ��鑼�̃t�H���g��������v�Z�����B

The baseline-identifiers below are used in this specification. Some of these are determined by baseline-tables contained in a font as described in [XSL description of Fonts and Font Data]. Others are computed from other font characteristics as described below.

alphabetic

���̎��ʎq�́A�قƂ�ǂ̃A���t�@�x�b�g�Ɖ��߂���Ƃ���X�N���v�g�ŗp������������w���B�����ɂ́A�����̐����A��C���h�A����A�W�A�i��\�ӕ����j�̃X�N���v�g���܂܂�邪�A����炾���ɂ͌����Ȃ��B

This identifies the baseline used by most alphabetic and syllabic scripts. These include, but are not limited to, many Western, Southern Indic, Southeast Asian (non-ideographic) scripts.

ideographic

���̎��ʎq�́A�\�ӕ����̃X�N���v�g�ŗp������������w���B���j�I�ȗ��R�ɂ��A���̊����͕\�ӕ����̃G�������̒��S�ł͂Ȃ��A���[�ɂ���B"central" ����������B�\�ӕ����X�N���v�g�ɂ͒�����, ���{��, �؍���, �x�g�i�����f �i�󒍁F Vietnamese Chu Nom - �`���m�� - ��������h�������x�g�i���Ñ㕶���j �Ȃǂ��܂܂��B

This identifies the baseline used by ideographic scripts. For historical reasons, this baseline is at the bottom of the ideographic EM box and not in the center of the ideographic EM box. See the "central" baseline. The ideographic scripts include Chinese, Japanese, Korean, and Vietnamese Chu Nom.

hanging

���̎��ʎq�́A�����̃C���h�n�X�N���v�g�ŗp������������w���B �����̃X�N���v�g�ɂ̓f���@�[�i�[�K���[ �i�󒍁F Devanagari - �T���X�N���b�g��q���f�B�[��Ȃǂ̌���C���h�̏�����ɗp������A���t�@�x�b�g�j , �O�����L�[���� �i�󒍁F Gurmukhi - �p���W���u��̕\�L�ɗp�����镶���j , �x���K����i Bengali �j�Ȃǂ��܂܂��B

This identifies the baseline used by certain Indic scripts. These scripts include Devanagari, Gurmukhi and Bengali.

mathematical

���̎��ʎq�́A���w�L���ɗp������������w���B

This identifies the baseline used by mathematical symbols.

central

���̎��ʎq�́A�G�������̒��S�Ƃ��Čv�Z����������\���B���̊����� text-before-edge �� text-after-edge �����̒��ԂɈʒu����B

���ӁF

�\�ӕ����t�H���g�ɑ΂��ẮA�O���t�̐���ɂ��̊������悭�p������B����͕\�ӕ��������̑�ւł���B

This identifies a computed baseline that is at the center of the EM box. This baseline lies halfway between the text-before-edge and text-after-edge baselines.

NOTE:

For ideographic fonts, this baseline is often used to align the glyphs; it is an alternative to the ideographic baseline.

middle

���̎��ʎq�́A�������A���t�@�x�b�g�������� �V�t�g������ x-height �t�H���g�����̒l�� 1/2 �̃I�t�Z�b�g�ɂ��邱�Ƃ�\���B���̊����̈ʒu�̓t�H���g�f�[�^�܂��̓t�H���g������ "x-height" �����ƒt�H���g���瓾���邱�Ƃ�����B"x-height" �� 1/2 �ɂ���Čv�Z����Ă��悢�B �����̏�񂪖����ꍇ�A�����̈ʒu�� "central" ��������̋ߎ��ɂ��Ă��悢�B

This identifies a baseline that is offset from the alphabetic baseline in the shift-direction by 1/2 the value of the x-height font characteristic. The position of this baseline may be obtained from the font data or, for fonts that have a font characteristic for "x-height", it may be computed using 1/2 the "x-height". Lacking either of these pieces of information, the position of this baseline may be approximated by the "central" baseline.

text-before-edge

���̎��ʎq�́A�G�������� before-edge ��\���B���̊����̈ʒu�͊����e�[�u���ɂ���Ďw�肳�ꂽ��A�v�Z�ɂ���ē���ꂽ�肷��B

���ӁF

���̊����͒ʏ�A�Z���_�̏�[�����̎��ӂɈʒu���邪�A�O���t�̏㑤�Ɍ���邷�ׂẴA�Z���g�����͂ނƂ͌���Ȃ��B�����̃t�H���g�ł� "ascent" �t�H���g�����̒l���p������B�\�ӕ����t�H���g�ł́A���̊����͒ʏ�u�\�ӕ����v���������V�t�g���� �ɂP�G���̏��Ɉʒu����B�������Ȃ���A�ꕔ�̕\�ӕ����t�H���g�ł́A��舳�k���ꂽ�A�����”\�ɂ��邽�߂ɁA�s�i�s�����ɂ����Đ؂�l�߂�ꂽ�������B�c�����[�h��p�Ƀf�U�C�����ꂽ���̂悤�ȃt�H���g���������[�h�ŗp����ꂽ�ꍇ�A"text-before-edge" ������ text-after-edge ����P�G����菬�������Ɉʒu���邩������Ȃ��B

This identifies the before-edge of the EM box. The position of this baseline may be specified in the baseline-table or it may be calculated.

NOTE:

The position of this baseline is normally around or at the top of the ascenders, but it may not encompass all accents that can appear above a glyph. For these fonts the value of the "ascent" font characteristic is used. For ideographic fonts, the position of this baseline is normally 1 EM in the shift-direction from the "ideographic" baseline. However, some ideographic fonts have a reduced width in the inline-progression-direction to allow tighter setting. When such a font, designed only for vertical writing-modes, is used in a horizontal writing-mode, the "text-before-edge" baseline may be less than 1 EM from the text-after-edge.

text-after-edge

���̎��ʎq�́A�G�������� after-edge ��\���B���̊����̈ʒu�͊����e�[�u���ɂ���Ďw�肳�ꂽ��A�v�Z�ɂ���ē���ꂽ�肷��B

���ӁF

�f�B�Z���_�����ƒt�H���g�ł́A���̊����͒ʏ�A�Z���_�̉��[�܂��͂��̎��ӂɈʒu����B�����̃t�H���g�ł� "descent" �t�H���g�����̒l���p������B�\�ӕ����t�H���g�ł́A���̊����͒ʏ�u�\�ӕ����v�����Ɉʒu����B

This identifies the after-edge of the EM box. The position of this baseline may be specified in the baseline-table or it may be calculated.

NOTE:

For fonts with descenders, the position of this baseline is normally around or at the bottom of the descenders. For these fonts the value of the "descent" font characteristic is used. For ideographic fonts, the position of this baseline is normally at the "ideographic" baseline.

�����̑��ɁA�v�Z�ɂ���ē�����Q�‚̊��������C���G���A�i line areas �j�̂��߂݂̂ɒ�`����Ă���B���C���G���A�Ɋ�Â��v�Z�̊T�O�� SVG �̃T�|�[�g�O�Ȃ̂ŁA���̂Q�‚̊����͎��̂悤�ɒu����������F

There are, in addition, two computed baselines that are only defined for line areas. Since SVG does not support the notion of computations based on line areas, the two computed baselines are mapped as follows:

before-edge
SVG �ɂ����ẮA����� text-before-edge �Ɠ��l�ł���B
For SVG, this is equivalent to text-before-edge.
after-edge
SVG �ɂ����ẮA����� text-after-edge �Ɠ��l�ł���B
For SVG, this is equivalent to text-after-edge.

�S�‚̊������A�������[�h��p�ɒ�`����Ă���B

There are also four baselines that are defined only for horizontal writing-modes.

top

�������[�h�ɂ����āA���̊����� "before-edge" �����Ɠ����ł���A�c�����[�h�ł͖���`�ł���B

This baseline is the same as the "before-edge" baseline in a horizontal writing-mode and is undefined in a vertical writing mode.

text-top

�������[�h�ɂ����āA���̊����� "text-before-edge" �����Ɠ����ł���A�c�����[�h�ł͖���`�ł���B

This baseline is the same as the "text-before-edge" baseline in a horizontal writing-mode and is undefined in a vertical writing mode.

bottom

�������[�h�ɂ����āA���̊����� "after-edge" �����Ɠ����ł���A�c�����[�h�ł͖���`�ł���B

This baseline is the same as the "after-edge" baseline in a horizontal writing-mode and is undefined in a vertical writing mode.

text-bottom

�������[�h�ɂ����āA���̊����� "text-after-edge" �����Ɠ����ł���A�c�����[�h�ł͖���`�ł���B

This baseline is the same as the "text-after-edge" baseline in a horizontal writing-mode and is undefined in a vertical writing mode.

�ȉ��͊�������v���p�e�B�B

The baseline-alignment properties follow.

 

'dominant-baseline'
�l�F   auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging |  | mathematical | central | middle | text-after-edge | text-before-edge | inherit
�����l�F   auto
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   ����
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | | mathematical | central | middle | text-after-edge | text-before-edge | inherit
Initial:   auto
Applies to:   text content elements
Inherited:   no
Percentages:   N/A
Media:   visual
Animatable:   yes

"dominant-baseline"�i������j�v���p�e�B�͐L�k�ς݊����e�[�u���i scaled-baseline-table �j��ݒ�܂��͍Đݒ肷��ۂɗp������B�L�k�ς݊����e�[�u���͂R�‚̐����F�����, �����e�[�u��, �����e�[�u���E�t�H���g�T�C�Y�ō\������镡���l�ł���B�v���p�e�B�Ɏw�肷��l�̈ꕔ�͂R�‘S�Ă̒l���Đݒ肷��B���͊����e�[�u���E�t�H���g�T�C�Y�݂̂��Đݒ肷��B�����l "auto" �œ����錋�ʂ��]�܂����Ȃ��ꍇ�A���̃v���p�e�B��L�k�ς݊����e�[�u���̏㏑���ɗ��p���邱�Ƃ��ł���B

The "dominant-baseline" property is used to determine or re-determine a scaled-baseline-table. A scaled-baseline-table is a compound value with three components: a baseline-identifier for the dominant-baseline, a baseline-table and a baseline-table font-size. Some values of the property re-determine all three values; other only re-establish the baseline-table font-size. When the initial value, "auto", would give an undesired result, this property can be used to explicitly set the desire scaled-baseline-table.

���̃v���p�e�B�̒l�͎��̂悤�ȈӖ������F

Values for the property have the following meaning:

auto

���̃v���p�e�B�� 'text' �v�f�ɐ������ꍇ�A�v�Z�l�� 'writing-mode' �v���p�e�B�̒l�Ɉˑ�����B����������̒l�� 'writing-mode' �������Ȃ�� 'alphabetic' �ɁA�c���Ȃ�� 'central' �ɂȂ�B

���̃v���p�e�B�� 'tspan', 'tref', 'altGlyph', 'textPath' �����ꂩ�̗v�f�ɐ������ꍇ�A����������Ɗ����e�[�u�������́A�e�� �e�L�X�g���e�v�f �ɂ����邻���Ɠ����܂܂ɂ����B 'baseline-shift' �̌v�Z�l�ɂ���Ď��ۂɊ������V�t�g�����ꍇ�A�����e�[�u���E�t�H���g�T�C�Y������ 'dominant-baseline' �v���p�e�B���������v�f�� 'font-size' �v���p�e�B�̒l�ɐݒ肳���B�����łȂ��ꍇ�A�����e�[�u���E�t�H���g�T�C�Y�����͂��̗v�f�ɂ����邻��Ɠ����܂܂ɂ����B�e�� �e�L�X�g���e�v�f �����݂��Ȃ��ꍇ�A�L�k�ς݊����e�[�u���̒l�͏�L�� 'text' �v�f�ɑ΂�����̂Ɠ��l�ɂ��č\�z�����B

If this property occurs on a 'text' element, then the computed value depends on the value of the 'writing-mode' property. If the 'writing-mode' is horizontal, then the value of the dominant-baseline component is 'alphabetic', else if the 'writing-mode' is vertical, then the value of the dominant-baseline component is 'central'.

If this property occurs on a 'tspan', 'tref', 'altGlyph' or 'textPath' element, then the dominant-baseline and the baseline-table components remain the same as those of the parent text content element. If the computed 'baseline-shift' value actually shifts the baseline, then the baseline-table font-size component is set to the value of the 'font-size' property on the element on which the 'dominant-baseline' property occurs, otherwise the baseline-table font-size remains the same as that of the element. If there is no parent text content element, the scaled-baseline-table value is constructed as above for 'text' elements.

use-script
����������Ɗ����e�[�u�������́A�����f�[�^���e�ɂ����Ďx�z�I�ȃX�N���v�g���߂邱�Ƃɂ��ݒ肳���B�����p���c���p�̂ǂ���̊����e�[�u���𗘗p���邩�� 'writing-mode' �Œ�߂��A�����e�[�u���͎�����ɑΉ�������̂ɐݒ肳���B �����e�[�u���E�t�H���g�T�C�Y�����́A 'dominant-baseline' �v���p�e�B���������v�f�� 'font-size' �v���p�e�B�̒l�ɐݒ肳���B
The dominant-baseline and the baseline-table components are set by determining the predominant script of the character data content. The 'writing-mode', whether horizontal or vertical, is used to select the appropriate set of baseline-tables and the dominant baseline is used to select the baseline-table that corresponds to that baseline. The baseline-table font-size component is set to the value of the 'font-size' property on the element on which the 'dominant-baseline' property occurs.
no-change
�����, �����e�[�u��, �����e�[�u���E�t�H���g�T�C�Y�͐e�� �e�L�X�g���e�v�f �̂����Ɠ����܂܂ɂ����B
The dominant-baseline, the baseline-table, and the baseline-table font-size remain the same as that of the parent text content element.
reset-size
������Ɗ����e�[�u���͓����܂܂����A�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B����ɂ��A���݂� 'font-size' �ɑ΂�������e�[�u���͍ĐL�k�����B
The dominant-baseline and the baseline-table remain the same, but the baseline-table font-size is changed to the value of the 'font-size' property on this element. This re-scales the baseline-table for the current 'font-size'.
ideographic
��������w���������ʎq�� 'ideographic' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�� 'ideographic' �����e�[�u����p���č\�z����A�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B
The baseline-identifier for the dominant-baseline is set to be 'ideographic', the derived baseline-table is constructed using the 'ideographic' baseline-table in the nominal font, and the baseline-table font-size is changed to the value of the 'font-size' property on this element.
alphabetic
��������w���������ʎq�� 'alphabetic' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�� 'alphabetic' �����e�[�u����p���č\�z����A�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B
The baseline-identifier for the dominant-baseline is set to be 'alphabetic', the derived baseline-table is constructed using the 'alphabetic' baseline-table in the nominal font, and the baseline-table font-size is changed to the value of the 'font-size' property on this element.
hanging
��������w���������ʎq�� 'hanging' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�� 'hanging' �����e�[�u����p���č\�z����A�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B
The baseline-identifier for the dominant-baseline is set to be 'hanging', the derived baseline-table is constructed using the 'hanging' baseline-table in the nominal font, and the baseline-table font-size is changed to the value of the 'font-size' property on this element.
mathematical
��������w���������ʎq�� 'mathematical' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�� 'mathematical' �����e�[�u����p���č\�z����A�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B
The baseline-identifier for the dominant-baseline is set to be 'mathematical', the derived baseline-table is constructed using the 'mathematical' baseline-table in the nominal font, and the baseline-table font-size is changed to the value of the 'font-size' property on this element.
central
��������w���������ʎq�� 'central' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�̊����e�[�u���Œ�`���ꂽ������������\�z�����B ���̃t�H���g�����e�[�u���͊����e�[�u�����F 'ideographic', 'alphabetic', 'hanging', 'mathematical' ����A���̏��̗D�揇�ʂőI�������B�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B
The baseline-identifier for the dominant-baseline is set to be 'central'. The derived baseline-table is constructed from the defined baselines in a baseline-table in the nominal font. That font baseline-table is chosen using the following priority order of baseline-table names: 'ideographic', 'alphabetic', 'hanging', 'mathematical'. The baseline-table font-size is changed to the value of the 'font-size' property on this element.
middle
��������w���������ʎq�� 'middle' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�̊����e�[�u���Œ�`���ꂽ������������\�z�����B���̃t�H���g�����e�[�u���͊����e�[�u�����F 'ideographic', 'alphabetic', 'hanging', 'mathematical' ����A���̏��̗D�揇�ʂőI�������B �����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B
The baseline-identifier for the dominant-baseline is set to be 'middle'. The derived baseline-table is constructed from the defined baselines in a baseline-table in the nominal font. That font baseline -table is chosen using the following priority order of baseline-table names: 'alphabetic', 'ideographic', 'hanging', 'mathematical'. The baseline-table font-size is changed to the value of the 'font-size' property on this element.
text-after-edge
��������w���������ʎq�� 'middle' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�̊����e�[�u���Œ�`���ꂽ������������\�z�����B���ڏ�̃t�H���g�̂ǂ̃t�H���g�����e�[�u����p���邩�͎����ˑ��ł���B�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B

���ӁF�����e�[�u�����Ɏ��̗D�揇�ʁF 'alphabetic', 'ideographic', 'hanging', 'mathematical' ��p����̂́A�ǂ̃t�H���g�����e�[�u����p���邩�����߂��ł��Ԃ�Ó��ȑI���ł��낤�B
The baseline-identifier for the dominant-baseline is set to be 'text-after-edge'. The derived baseline-table is constructed from the defined baselines in a baseline-table in the nominal font. The choice of which font baseline-table to use from the baseline-tables in the nominal font is implementation defined. The baseline-table font-size is changed to the value of the 'font-size' property on this element.

NOTE: using the following priority order of baseline-table names: 'alphabetic', 'ideographic', 'hanging', 'mathematical' is probably a reasonable strategy for determining which font baseline-table to use.
text-before-edge
��������w���������ʎq�� 'text-before-edge' �ɐݒ肳��A�����e�[�u���͖��ڏ�̃t�H���g�̊����e�[�u���Œ�`���ꂽ������������\�z�����B���ڏ�̃t�H���g�̂ǂ̃t�H���g�����e�[�u����p���邩�͎����ˑ��ł���B�����e�[�u���E�t�H���g�T�C�Y�͂��̗v�f�� 'font-size' �v���p�e�B�̒l�ɕύX�����B

���ӁF�����e�[�u�����Ɏ��̗D�揇�ʁF 'alphabetic', 'ideographic', 'hanging', 'mathematical' ��p����̂́A�ǂ̃t�H���g�����e�[�u����p���邩�����߂��ł��Ԃ�Ó��ȑI���ł��낤�B
The baseline-identifier for the dominant-baseline is set to be 'text-before-edge'. The derived baseline-table is constructed from the defined baselines in a baseline-table in the nominal font. The choice of which baseline-table to use from the baseline-tables in the nominal font is implementation defined. The baseline-table font-size is changed to the value of the 'font-size' property on this element.

NOTE: Using the following priority order of baseline-table names: 'alphabetic', 'ideographic', 'hanging', 'mathematical' is probably a reasonable strategy for determining which font baseline-table to use.

�����A���ڏ�̃t�H���g�Ɋ����e�[�u�������݂��Ȃ��A�܂��͊����e�[�u���̒��ɖ]�܂������G���g���������Ă����ꍇ�A�t�`�͕K�v�Ȋ����̈ʒu�����肷��ۂɌo���I��@��p���Ă悢�B

If there is no baseline table in the nominal font or if the baseline table lacks an entry for the desired baseline, then the user agent may use heuristics to determine the position of the desired baseline.

 

'alignment-baseline'
�l�F   auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit
�����l�F   auto
�K�p�ΏہF   'tspan', 'tref', 'altGlyph', 'textPath' �v�f
�p���F   ����
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit
Initial:   auto
Applies to:   'tspan', 'tref', 'altGlyph', 'textPath' elements
Inherited:   no
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�͐e�ɑ΂��ăI�u�W�F�N�g���ǂ̂悤�ɑ����邩���w�肷��B���̃v���p�e�B�͂��̗v�f�̂ǂ̊�����e�̑Ή���������ɑ΂������邩���w�肷��B�Ⴆ�΁A���[�}���e�L�X�g�ɂ�����A���t�@�x�b�g�̊������t�H���g�T�C�Y�̕ω��̒��ő����邱�Ƃ��”\�ɂ���B ����͊����̊���l�� alignment-baseline �v���p�e�B�̌v�Z�l�Ɠ������O�ɂ���B�‚܂�A�u���b�N�i�s�����ɂ����� "ideographic" ����_�͑�������I�u�W�F�N�g�̊����e�[�u���� "ideographic" ������ɂ��邱�Ƃ��Ӗ�����B

This property specifies how an object is aligned with respect to its parent. This property specifies which baseline of this element is to be aligned with the corresponding baseline of the parent. For example, this allows alphabetic baselines in Roman text to stay aligned across font size changes. It defaults to the baseline with the same name as the computed value of the alignment-baseline property. That is, the position of "ideographic" alignment-point in the block-progression-direction is the position of the "ideographic" baseline in the baseline-table of the object being aligned.

���ꂼ��̒l�͎��̈Ӗ������F

Values have the following meanings:

auto
���̒l�͕�����������X�N���v�g�̎�������w�� - ���Ȃ킿�A�e�̎������p����B
The value is the dominant-baseline of the script to which the character belongs - i.e., use the dominant-baseline of the parent.
baseline
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �̎�����ɑ�������B
The alignment-point of the object being aligned is aligned with the dominant-baseline of the parent text content element.
before-edge
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "before-edge" �����ɑ�������
The alignment-point of the object being aligned is aligned with the "before-edge" baseline of the parent text content element.
text-before-edge
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f ��" text-before-edge" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "text-before-edge" baseline of the parent text content element.
middle
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "middle" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "middle" baseline of the parent text content element.
central
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "central" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "central" baseline of the parent text content element.
after-edge
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "after-edge" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "after-edge" baseline of the parent text content element.
text-after-edge
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "text-after-edge" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "text-after-edge" baseline of the parent text content element.
ideographic
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "ideographic" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "ideographic" baseline of the parent text content element.
alphabetic
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "alphabetic" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "alphabetic" baseline of the parent text content element.
hanging
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "hanging" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "hanging" baseline of the parent text content element.
mathematical
�I�u�W�F�N�g�̐���_�͐e�� �e�L�X�g���e�v�f �� "mathematical" �����ɑ�������B
The alignment-point of the object being aligned is aligned with the "mathematical" baseline of the parent text content element.
'baseline-shift'
�l�F   baseline | sub | super | <percentage> | <length> | inherit
�����l�F   baseline
�K�p�ΏہF   'tspan', 'tref', 'altGlyph', 'textPath' �v�f
�p���F   ����
�p�[�Z���g�F   'text' �v�f�� "line-height" ���Q�Ƃ��A SVG �ɂ����Ă� 'font-size' �Ɠ����ł���B
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   baseline | sub | super | <percentage> | <length> | inherit
Initial:   baseline
Applies to:   'tspan', 'tref', 'altGlyph', 'textPath' elements
Inherited:   no
Percentages:   refers to the "line-height" of the 'text' element, which in the case of SVG is defined to be equal to the 'font-size'
Media:   visual
Animatable:   yes

'baseline-shift' �v���p�e�B�͎������e�� �e�L�X�g���e�v�f �̎�����ɑ��ΓI�ɍĔz�u�����邱�Ƃ��”\�ɂ���B�V�t�g���ꂽ�I�u�W�F�N�g�͉��t�܂��͏�t�����ł��邱�Ƃ��\�z�����B�V�t�g���ꂽ�I�u�W�F�N�g�ɂ����ẮA��‚̊��������łȂ��A�����e�[�u���S�̂��I�t�Z�b�g�����B�V�t�g�����ʂ́A�e�� �e�L�X�g���e�v�f , �e�� �e�L�X�g���e�v�f �̖��ڏ�̃t�H���g�ɂ�鉺�t�܂��͏�t���� �I�t�Z�b�g, �e�� �e�L�X�g���e�v�f �� "line-height" �p�[�Z���g, ��Βl �̂����ꂩ�̏�����Ɍ��肳���B

The 'baseline-shift' property allows repositioning of the dominant-baseline relative to the dominant-baseline of the parent text content element. The shifted object might be a sub- or superscript. Within the shifted object, the whole baseline-table is offset; not just a single baseline. The amount of the shift is determined from information from the parent text content element, the sub- or superscript offset from the nominal font of the parent text content element, percent of the "line-height" of the parent text content element or an absolute value.

SVG �ɂ����ẮA 'baseline-shift' �v���p�e�B�͊����e�[�u���ɑ΂���lj��I������\���B 'baseline-shift' �v���p�e�B�́A�Ⴆ�΃O���t����t�܂��͉��t�����̈ʒu�ɏ㉺������ȂǁA�e�O���t�ɑ΂�������e�[�u�����ꎞ�I�ɐV�����ʒu�ɃV�t�g����B�������Ȃ���A���݂̃e�L�X�g�ʒu�ɂ͉e�����Ȃ��B�e�O���t�̕`���ɂ�����O���t�̃A�h�o���X�l�ɂ�錻�݂̃e�L�X�g�ʒu�̒����́A�����̃V�t�g�������������̂悤�ɍs����B

In SVG, the 'baseline-shift' property represents a supplemental adjustment to the baseline tables. The 'baseline-shift' property shifts the baseline tables for each glyph to temporary new positions, for example to lift the glyph into superscript or subscript position, but it does not effect the current text position. When the current text position is adjusted after rendering a glyph to take into account glyph advance values, the adjustment happens as if there were no baseline shift.

'baseline-shift' �v���p�e�B�͓���q�ɂ��邱�Ƃ��ł���B����q�ɂ��ꂽ�e 'baseline-shift' �͑O�̊����̃V�t�g�ʂɉ�������B

'baseline-shift' properties can nest. Each nested 'baseline-shift' is added to previous baseline shift values.

���̃v���p�e�B�̒l�͎��̈Ӗ������F

Values for the property have the following meaning:

baseline
�����̃V�t�g���s��Ȃ��B������͌��̈ʒu�̂܂܂ɂȂ�B
There is no baseline shift; the dominant-baseline remains in its original position.
sub
������͉��t�����ɑ΂������̈ʒu�փV�t�g�����B���̈ʒu�ւ̃I�t�Z�b�g�͖��ڏ�̃t�H���g�ɑ΂���t�H���g�f�[�^�ɂ�茈�܂�B�قƂ�ǂ̃t�H���g�ł͉��t�����̈ʒu�͒ʏ� "alphabetic" �����ɑ��ΓI�Ȃ��̂Ƃ��ė^������̂ŁA�t�`�́A�������̊������x�z�I�ȏꍇ�A���t�����ɑ΂�������I�Ȉʒu���v�Z���Ă��悢�B�l������v�Z�Ƃ��ẮA������̈ʒu�� "�A���t�@�x�b�g" �����̈ʒu�Ƃ̍��������t�����̈ʒu����������Ƃ���������B���ʂ̃I�t�Z�b�g�͎����I�ȉ��t�����̈ʒu�Ɏ�����e�[�u���E�t�H���g�T�C�Y���|���邱�Ƃɂ�茈�肳���B�����K�p�”\�ȃt�H���g�f�[�^�������ꍇ�A�t�`�͂��̃I�t�Z�b�g�����肷��ۂɌo���I��@��p���Ă悢�B
The dominant-baseline is shifted to the default position for subscripts. The offset to this position is determined using the font data for the nominal font. Because in most fonts the subscript position is normally given relative to the "alphabetic" baseline, the user agent may compute the effective position for subscripts for superscripts when some other baseline is dominant. The suggested computation is to subtract the difference between the position of the dominant baseline and the position of the "alphabetic" baseline from the position of the subscript. The resulting offset is determined by multiplying the effective subscript position by the dominant baseline-table font-size. If there is no applicable font data the user agent may use heuristics to determine the offset.
super
������͏�t�����ɑ΂������̈ʒu�ɃV�t�g�����B���̈ʒu�ւ̃I�t�Z�b�g�͖��ڏ�̃t�H���g�ɑ΂���t�H���g�f�[�^�ɂ���܂�B�قƂ�ǂ̃t�H���g�ł͏�t�����̈ʒu�͒ʏ� "�A���t�@�x�b�g" �����ɑ��ΓI�Ȃ��̂Ƃ��ė^������̂ŁA�t�`�́A�������̊������x�z�I�ȏꍇ�A��t�����ɑ΂�������I�Ȉʒu���v�Z���Ă悢�B�l������v�Z�Ƃ��ẮA������̈ʒu�� "�A���t�@�x�b�g" �����̈ʒu�Ƃ̍�������t�����̈ʒu����������Ƃ���������B���ʂ̃I�t�Z�b�g�͎����I�ȏ�t�����̈ʒu�Ɏ�����e�[�u���E�t�H���g�T�C�Y���|���邱�Ƃɂ�茈�肳���B�����K�p�”\�ȃt�H���g�f�[�^�������ꍇ�A�t�`�͂��̃I�t�Z�b�g�����肷��ۂɌo���I��@��p���Ă悢�B
The dominant-baseline is shifted to the default position for superscripts. The offset to this position is determined using the font data for the nominal font. Because in most fonts the superscript position is normally given relative to the "alphabetic" baseline, the user agent may compute the effective position for superscripts when some other baseline is dominant. The suggested computation is to subtract the difference between the position of the dominant baseline and the position of the "alphabetic" baseline from the position of the superscript. The resulting offset is determined by multiplying the effective superscript position by the dominant baseline-table font-size. If there is no applicable font data the user agent may use heuristics to determine the offset.
<percentage>
���̃v���p�e�B�̌v�Z�l�� 'text' �v�f����Z�o����� "line-height" �ɑ΂����̃p�[�Z���g���|���邱�Ƃɂ�蓾����B������͐e�� �e�L�X�g���e�v�f �� �V�t�g���� �i���l�̏ꍇ�j�܂��� �V�t�g���� �̔��Ε����i���l�̏ꍇ�j�֌v�Z�l�̕������V�t�g�����B�l "0%" �� "baseline" ���w�肵���̂Ɠ����ł���B
The computed value of the property is this percentage multiplied by the computed "line-height" of the 'text' element. The dominant-baseline is shifted in the shift direction (positive value) or opposite to the shift direction (negative value) of the parent text content element by the computed value. A value of "0%" is equivalent to "baseline".
<length>
������͐e�� �e�L�X�g���e�v�f �� �V�t�g���� �i���l�̏ꍇ�j�܂��� �V�t�g���� �̔��Ε����i���l�̏ꍇ�j�� <length> �̒l�����V�t�g�����B�l "0cm" �� "baseline" ���w�肵���̂Ɠ����ł���B
The dominant-baseline is shifted in the shift direction (positive value) or opposite to the shift direction (negative value) of the parent text content element by the <length> value. A value of "0cm" is equivalent to "baseline".

10.10 �t�H���g�I���v���p�e�B

SVG �͎��̃t�H���g�w��v���p�e�B��p����B���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-fonts] �ŗ^������B�����̃v���p�e�B�ɂ‚��Ă� SVG ���L�̒��ӓ_�͉��ŏq�ׂ���B

SVG uses the following font specification properties. Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-fonts]. Any SVG-specific notes about these properties are contained in the descriptions below.

'font-family'
�l�F   [[ <family-name> |
<generic-family> ],]* [<family-name> |
<generic-family>] | inherit
�����l�F   �t�`�ˑ�
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   [[ <family-name> |
<generic-family> ],]* [<family-name> |
<generic-family>] | inherit
Initial:   depends on user agent
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�̓e�L�X�g�̕`��ɂǂ̃t�H���g�t�@�~����p���邩���t�H���g�t�@�~�����^��ʃt�@�~�����̗D�揇�ʕt���̃��X�g�Ƃ��Ďw������B ���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font-family] �ŗ^������B CSS �v���p�e�B�̒l���L�q����\���K���� [CSS2-propdef] ���Q�Ƃ̂��ƁB

This property indicates which font family is to be used to render the text, specified as a prioritized list of font family names and/or generic family names. Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font-family]. The rules for expressing the syntax of CSS property values can be found at [ CSS2-propdef].

'font-style'
�l�F   normal | italic | oblique | inherit
�����l�F   normal
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   normal | italic | oblique | inherit
Initial:   normal
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�̓e�L�X�g�̕`��� normal, italic, oblique �i�W��, �C�^���b�N, �Άj�̂����ǂ̏��̂�p���邩���w������B ���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font-style] �ŗ^������B

This property specifies whether the text is to be rendered using a normal, italic or oblique face. Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font-style].

'font-variant'
�l�F   normal | small-caps | inherit
�����l�F   normal
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   normal | small-caps | inherit
Initial:   normal
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�͏������̃e�L�X�g�̕`��� normal, small-caps �̂ǂ���̃O���t��p���邩���w������B ���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font-variant] �ŗ^������B

This property indicates whether the text is to be rendered using the normal glyphs for lowercase characters or using small-caps glyphs for lowercase characters. Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font-variant].

'font-weight'
�l�F   normal | bold | bolder | lighter | 100 | 200 | 300
| 400 | 500 | 600 | 700 | 800 | 900 | inherit
�����l�F   normal
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   normal | bold | bolder | lighter | 100 | 200 | 300
| 400 | 500 | 600 | 700 | 800 | 900 | inherit
Initial:   normal
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�̓e�L�X�g�̕`��ɗp������O���t�ɑ΂���A�����t�H���g�t�@�~�����ɂ����鑊�ΓI�ȑ����܂��ׂ͍����w������B ���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font-weight] �ŗ^������B

This property refers to the boldness or lightness of the glyphs used to render the text, relative to other fonts in the same font family. Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font-weight].

'font-stretch'
�l�F   normal | wider | narrower |
ultra-condensed | extra-condensed |
condensed | semi-condensed |
semi-expanded | expanded |
extra-expanded | ultra-expanded | inherit
�����l�F   normal
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   normal | wider | narrower |
ultra-condensed | extra-condensed |
condensed | semi-condensed |
semi-expanded | expanded |
extra-expanded | ultra-expanded | inherit
Initial:   normal
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�̓e�L�X�g�̕`��ɗp������O���t�ɑ΂��鈳�k�܂��͐L���̖]�܂����ʂ��w������B ���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font-stretch] �ŗ^������B

This property indicates the desired amount of condensing or expansion in the glyphs used to render the text. Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font-stretch].

'font-size'
�l�F   <absolute-size> | <relative-size> |
<length> | <percentage> | inherit
�����l�F   medium
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��, �v�Z�l�͌p�������
�p�[�Z���g�F   �e�v�f�̃t�H���g�T�C�Y���Q�Ƃ���
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   <absolute-size> | <relative-size> |
<length> | <percentage> | inherit
Initial:   medium
Applies to:   text content elements
Inherited:   yes, the computed value is inherited
Percentages:   refer to parent element's font size
Media:   visual
Animatable:   yes

���̃v���p�e�B�́A�����s�z�u�‹��ɂ����ĕ����s�̃e�L�X�g���ׂ��g�݂ɂ����Ƃ��̗׍����s�̊����̊Ԋu�Ƃ��ăt�H���g�̃T�C�Y���w������B SVG �ɂ����ẮA <length> ���P�ʎ��ʎq�����ŗ^����ꂽ�ꍇ�i�Ⴆ�� 128 �̂悤�Ȍv�ʂ̖������j�A SVG-�t�`�� <length> �����݂̗��p���W�n�ɂ����鍂���̒l�Ƃ��ď�������B

This property refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. For SVG, if a <length> is provided without a unit identifier (e.g., an unqualified number such as 128), the SVG user agent processes the <length> as a height value in the current user coordinate system.

<length>�� �P�ʎ��ʎq �t���ŗ^����ꂽ�ꍇ�i�Ⴆ�� 12pt �� 10% �j�A SVG-�t�`�� <length> �� �P�� �ŏq�ׂ��Ă���K����K�p���Č��݂̗��p���W�n�̑Ή�����l�ɕϊ�����B

If a <length> is provided with one of the unit identifiers (e.g., 12pt or 10%), then the SVG user agent converts the <length> into a corresponding value in the current user coordinate system by applying the rules described in Units.

���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font-size] �ŗ^������B

Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font-size].

'font-size-adjust'
�l�F   <number> | none | inherit
�����l�F   none
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   �i����@�I�B 'set' �� 'animate' �v�f�̂݁j
Value:   <number> | none | inherit
Initial:   none
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes (non-additive, 'set' and 'animate' elements only)

���̃v���p�e�B�͕����쐬�҂��A�u���t�H���g�Ƃ��čŏ��ɑI�΂ꂽ�t�H���g�� x-height ���ێ�����悤�ɁA�v�f�ɑ΂���c������w�肷�邱�Ƃ��”\�ɂ���B ���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font-size-adjust] �ŗ^������B

This property allows authors to specify an aspect value for an element that will preserve the x-height of the first choice font in a substitute font. Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font-size-adjust].

'font'
�l�F   [ [ <'font-style'> || <'font-variant'> || <'font-weight'> ]?
<'font-size'> [ / <'line-height'> ]? <'font-family'> ] |
caption | icon | menu | message-box|
small-caption | status-bar | inherit
�����l�F   �X�̃v���p�e�B������i���̒��߂�����j
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   'font-size' �� 'line-height' �ł̂݋������i���ӁF SVG �ɂ����� 'font' �v���p�e�B�̏����ł́A'line-height' �̓v���p�e�B 'font-size' �̒l�ɓ��������̂Ƃ݂Ȃ����B�j
���f�B�A�F   ���o
�A�j���[�V�����F   �i����@�I�B 'set' �� 'animate' �v�f�̂݁j
Value:   [ [ <'font-style'> || <'font-variant'> || <'font-weight'> ]?
<'font-size'> [ / <'line-height'> ]? <'font-family'> ] |
caption | icon | menu | message-box|
small-caption | status-bar | inherit
Initial:   see individual properties
Applies to:   text content elements
Inherited:   yes
Percentages:   allowed on 'font-size' and 'line-height' (Note: for the purposes of processing the 'font' property in SVG, 'line-height' is assumed to be equal the value for property 'font-size')
Media:   visual
Animatable:   yes (non-additive, 'set' and 'animate' elements only)

'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', 'font-family' ��ݒ肷�邽�߂̊ȗ��L�@�̂��߂̃v���p�e�B�B SVG �ɂ����Ă� 'line-height' �v���p�e�B�̓e�L�X�g�z�u�ɉ��̉e�����^���Ȃ��B 'font' �v���p�e�B�̏����ɂ����Ă� 'line-height' �� 'font-size' �v���p�e�B�̒l�ɓ��������̂Ƃ݂Ȃ����B �K�� SVG �r���[�A �ɂ͎�X�̃V�X�e���t�H���g�̃I�v�V���� �i caption, icon, menu, message-box, small-caption, status-bar �j �̃T�|�[�g�͗v������Ă��炸�A�V�X�e���t�H���g���邢�͈�ʃt�H���g�i generic font �j�̈�‚ő�p���Ă悢�B

Shorthand property for setting 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height' and 'font-family'. The 'line-height' property has no effect on text layout in SVG. For the purposes of the 'font' property, 'line-height' is assumed to be equal to the value of the 'font-size' property. Conforming SVG Viewers are not required to support the various system font options (caption, icon, menu, message-box, small-caption and status-bar) and can use a system font or one of the generic fonts instead.

���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-font] �ŗ^������B CSS �v���p�e�B�̒l���L�q����\���K���� [CSS2-propdef] ���Q�Ƃ̂��ƁB

Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-font]. The rules for expressing the syntax of CSS property values can be found at [ CSS2-propdef].

10.11 �Ԋu�����v���p�e�B

������P��̊Ԋu�ɉe������R�‚̃v���p�e�B������F

Three properties affect the space between characters and words:

'kerning'
�l�F   auto | <length> | inherit
�����l�F   auto
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   auto | <length> | inherit
Initial:   auto
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

�l auto �͗��p�����t�H���g�Ɋ܂܂ꂽ�J�[�j���O�e�[�u���Ɋ�Â����O���t�̊Ԋu���������ׂ��ł��邱�Ƃ��t�`�Ɏw������i���������J�[�j���O������j�B

The value of auto indicates that the user agent should adjust inter-glyph spacing based on kerning tables that are included in the font that will be used (i.e., enable auto-kerning).

�l�Ƃ��� <length> ���^����ꂽ�ꍇ�A�����J�[�j���O�͂���Ȃ��B���ɗ^����ꂽ <length> �ɊԊu���ݒ肳���B�����J�[�j���O����Ȃ��悤�� 'kerning' �̒l�� 0 �ɐݒ肷�邱�Ƃ� auto �ȊO�ł͍ł���ʓI�ɗ��p�����B

If a <length> is provided, then auto-kerning is disabled. Instead, inter-character spacing is set to the given <length>. The most common scenario, other than auto, is to set 'kerning' to a value of 0 so that auto-kerning is disabled.

<length> ���P�ʎ��ʎq�����ŗ^����ꂽ�ꍇ�i�Ⴆ�� 128 �̂悤�Ȍv�ʂ̖������j�A SVG-�t�`�� <length> �����݂̗��p���W�n�ɂ����镝�̒l�Ƃ��ď�������B

If a <length> is provided without a unit identifier (e.g., an unqualified number such as 128), the SVG user agent processes the <length> as a width value in the current user coordinate system.

<length>�� �P�ʎ��ʎq �t���ŗ^����ꂽ�ꍇ�i�Ⴆ�� .25em �� 1% �j�A SVG-�t�`�� <length> �� �P�� �q�ׂ��Ă���K����K�p���Č��݂̗��p���W�n�̑Ή�����l�Ɋ��Z����B

If a <length> is provided with one of the unit identifiers (e.g., .25em or 1%), then the SVG user agent converts the <length> into a corresponding value in the current user coordinate system by applying the rules described in Units.

<length> ���^����ꂽ�Ƃ��A���̒l�� 'letter-spacing' �v���p�e�B�Ŏw�肳���Ԋu�̒l�ɉ�������B

When a <length> is provided, its value is added to the inter-character spacing value specified by the 'letter-spacing' property.

'letter-spacing'
�l�F   normal | <length> | inherit
�����l�F   normal
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   normal | <length> | inherit
Initial:   normal
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�́A 'kerning' �v���p�e�B�ɂ��Ԋu�����ɑ΂��lj��I�ȁA�e�L�X�g�̊Ԋu�����̐U�镑�����w�肷��B

This property specifies spacing behavior between text characters supplemental to any spacing due to the 'kerning' property.

SVG �ɂ����ẮA <length> ���P�ʎ��ʎq�����ŗ^����ꂽ�ꍇ�i�Ⴆ�� 128 �̂悤�Ȍv�ʂ̖������j�A���݂̗��p���W�n�ɂ����镝�̒l�Ƃ݂Ȃ����B

For SVG, if a <length> is provided without a unit identifier (e.g., an unqualified number such as 128), the SVG user agent processes the <length> as a width value in the current user coordinate system.

<length>�� �P�ʎ��ʎq �t���ŗ^����ꂽ�ꍇ�i�Ⴆ�� .25em �� 1% �j�A SVG-�t�`�� <length> �� �P�� �q�ׂ�ꂽ�K����K�p���Č��݂̗��p���W�n�ɂ�����l�Ɋ��Z����B

If a <length> is provided with one of the unit identifiers (e.g., .25em or 1%), then the SVG user agent converts the <length> into a corresponding value in the current user coordinate system by applying the rules described in Units.

���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-letter-spacing] �ŗ^������B

Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-letter-spacing].

'word-spacing'
�l�F   normal | <length> | inherit
�����l�F   normal
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �L��
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   normal | <length> | inherit
Initial:   normal
Applies to:   text content elements
Inherited:   yes
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�͒P��Ԃ̊Ԋu�����̐U�镑�����w�肷��B SVG �ɂ����ẮA <length> ���P�ʎ��ʎq�����ŗ^����ꂽ�ꍇ�i�Ⴆ�� 128 �̂悤�Ȍv�ʂ̖������j�A���݂̗��p���W�n�ɂ����镝�̒l�Ƃ݂Ȃ����B

This property specifies spacing behavior between words. For SVG, if a <length> is provided without a unit identifier (e.g., an unqualified number such as 128), the SVG user agent processes the <length> as a width value in the current user coordinate system.

<length>�� �P�ʎ��ʎq �t���ŗ^����ꂽ�ꍇ�i�Ⴆ�� .25em �� 1% �j�A SVG-�t�`�� <length> �� �P�� �q�ׂ�ꂽ�K����K�p���Č��݂̗��p���W�n�ɂ�����Ή�����l�ɕϊ�����B

If a <length> is provided with one of the unit identifiers (e.g., .25em or 1%), then the SVG user agent converts the <length> into a corresponding value in the current user coordinate system by applying the rules described in Units.

���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-word-spacing] �ŗ^������B

Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-word-spacing].

10.12 �e�L�X�g����

'text-decoration'
�l�F   none | [ underline || overline || line-through || blink ] | inherit
�����l�F   none
�K�p�ΏہF   �e�L�X�g���e�v�f
�p���F   �����i���߂�����j
�p�[�Z���g�F   N/A
���f�B�A�F   ���o
�A�j���[�V�����F   ��
Value:   none | [ underline || overline || line-through || blink ] | inherit
Initial:   none
Applies to:   text content elements
Inherited:   no (see prose)
Percentages:   N/A
Media:   visual
Animatable:   yes

���̃v���p�e�B�͗v�f���̃e�L�X�g�ɑ΂��鑕���ɂ‚��ċL�q����B �K�� SVG �r���[�A �͒l blink ���T�|�[�g���Ȃ��Ƃ��悢�B

This property describes decorations that are added to the text of an element. Conforming SVG Viewers are not required to support the blink value.

���̎d�l�ŗ^����lj����������A���̃v���p�e�B�̐����Ȓ�`�� [CSS2-text-decoration] �ŗ^������B CSS �v���p�e�B�̒l���L�q����\���K���� [CSS2-propdef] ���Q�Ƃ̂��ƁB

Except for any additional information provided in this specification, the normative definition of the property is in [ CSS2-text-decoration]. The rules for expressing the syntax of CSS property values can be found at [ CSS2-propdef].

CSS2 �d�l [CSS2] �ł� 'text-decoration' �v���p�e�B�̐U�镑�����u�u���b�N���x���v�f�v�Ɓu�C�����C���v�f�v�Ƃ����p���p���Ē�`���Ă���B 'text-decoration' �v���p�e�B�� SVG �̗p�r�ɂ����ẮA 'text' �v�f�̓u���b�N���x���v�f��\�����A 'text' �v�f�̔C�ӂ̎q�v�f�i�Ⴆ�� 'tspan' �j�̓C�����C���v�f��\������B

The CSS2 specification [ CSS2] defines the behavior of the 'text-decoration' property using the terminology "block-level elements" and "inline elements". For the purposes of the 'text-decoration' property and SVG, a 'text' element represents a block-level element and any of the potential children of a 'text' element (e.g., a 'tspan') represent inline elements.

�܂��A CSS2 �� 'text-decoration' �̒�`�ł́A�q���v�f�ɑ΂���u�����̐F�v�͓����܂܂Ƃ���Ă���B SVG �̓h��̃��f���ɂ����Ă͗l�X�Ȏ�ނ̓h��i �h��F�t�B��, �X�g���[�N, �}�[�J�V���{�� ������j���e�L�X�g�̓����ƊO�`���̗����ɑ΂��ēK�p���邱�Ƃ��”\�Ȃ̂Łi�����u�t�B���v�Ɓu�X�g���[�N�v�j�A SVG �ɂ����� 'text-decoration' �v���p�e�B�͎��̂悤�ɒ�`�����F 'text-decoration' �v���p�e�B���v�f�Ɏw�肳��Ă���ꍇ�A�v�f����т��̑S�Ă̎q���v�f�̓��e�ɑ΂��A�S�Ă̑����͓���̃t�B���ƃX�g���[�N�v���p�e�B�����ꂼ��̗v�f�ɑ��݂��邩�̂悤�ɕ`�悳��A���� 'text-decoration' �v���p�e�B���q���v�f�ɂ��w�肳��Ă���Ȃ�΁A�����炪�c��v�f�̂��̂��D�悳���B

Also, the CSS2 definition of 'text-decoration' specifies that the "color of the decorations" remain the same on descendant elements. Since SVG offers a painting model consisting of the ability to apply various types of paint (see Painting: Filling, Stroking and Marker Symbols) to both the interior (i.e., the "fill") and the outline (i.e., the "stroke") of text, for SVG the 'text-decoration' property is defined such that, for an element which has a specified value for the 'text-decoration' property, all decorations on its content and that of its descendants are rendered using the same fill and stroke properties as are present on the given element. If the 'text-decoration' property is specified on a descendant, then that overrides the ancestor.

SVG �ł̓e�L�X�g�ɑ΂��t�B�����X�g���[�N�”\�Ȃ̂ŁA�󋵂ɂ���Ă͕`�揇�����e�L�X�g�����ɉe������B�e�L�X�g�����̕`��͎��ɏq�ׂ鏇���ōs����ׂ��ł���F

Because SVG allows text to be both filled and stroked, drawing order matters in some circumstances with text decorations. Text decoration drawing order should be as follows:

Example textdecoration01 �� 'text-decoration' �̗�������‚������B�}�̃e�L�X�g�̂P�s�ڂł� 'text-decoration' �̒l���w�肳��Ă��Ȃ��̂ŁA�����l�Ƃ��� 'text-decoration:none' ���p������B�Q�s�ڂ� 'text-decoration:line-through' ��\���Ă���B�R�s�ڂ� 'text-decoration:underline' ��\���Ă���B�S�s�ڂ͓����t�B���ƃX�g���[�N�̃v���p�e�B��p����v�f�� 'text-decoration' �����‚Ƃ��ɂǂ̂悤�ɑ������`�悳��邩�̋K����\���Ă���B 'text-decoration' �� 'text' �v�f�Ɏw�肳��Ă���̂ŁA�X�̒P�ꂪ�قȂ�t�B���ƃX�g���[�N�̃v���p�e�B�l�������Ă���ɂ�������炸�A 'text' �v�f���̂��ׂẴe�L�X�g�ɑ΂��A������ 'text' �v�f�Ɏw�肳�ꂽ�����t�B���ƃX�g���[�N�i�‚̃t�B���ƐԂ̃X�g���[�N�j�ŕ`�悳���B�������Ȃ���A�P�� "different" �ɂ͖����I�� 'text-decoration' �̒l���ݒ肳��Ă���̂ŁA�����͒P�� "different" ���͂� 'tspan' �v�f�̃t�B���ƃX�g���[�N�i���F�̃t�B��, �[�΂̃X�g���[�N�j��p���ĕ`�悳���F

Example textdecoration01 provides examples for 'text-decoration'. The first line of text has no value for 'text-decoration', so the initial value of 'text-decoration:none' is used. The second line shows 'text-decoration:line-through'. The third line shows 'text-decoration:underline'. The fourth line illustrates the rule whereby decorations are rendered using the same fill and stroke properties as are present on the element for which the 'text-decoration' is specified. Since 'text-decoration' is specified on the 'text' element, all text within the 'text' element has its underline rendered with the same fill and stroke properties as exist on the 'text' element (i.e., blue fill, red stroke), even though the various words have different fill and stroke property values. However, the word "different" explicitly specifies a value for 'text-decoration'; thus, its underline is rendered using the fill and stroke properties as the 'tspan' element that surrounds the word "different" (i.e., yellow fill, darkgreen stroke):

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="4cm" viewBox="0 0 1200 400"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>Example textdecoration01 - 'text-decoration' �v���p�e�B�̐U�镑��</desc>
  <rect x="1" y="1" width="1198" height="398" fill="none" stroke="blue" stroke-width="2" />
  <g font-size="60" fill="blue" stroke="red" stroke-width="1" >
    <text x="100" y="75">Normal text</text>
    <text x="100" y="165" text-decoration="line-through" >Text with line-through</text>
    <text x="100" y="255" text-decoration="underline" >Underlined text</text>
    <text x="100" y="345" text-decoration="underline" >
      <tspan>One </tspan>
      <tspan fill="yellow" stroke="purple" >word </tspan>
      <tspan fill="yellow" stroke="black" >has </tspan>
      <tspan fill="yellow" stroke="darkgreen" text-decoration="underline" >different </tspan>
      <tspan fill="yellow" stroke="blue" >underlining</tspan>
    </text>
  </g>
</svg>
Example textdecoration01
Example textdecoration01 - simple text on a path

���̗�� SVG �Ō���i SVG ����� CSS �Ή��u���E�U�̂݁j
 

10.13 �p�X��̃e�L�X�g

10.13.1 �p�X��̃e�L�X�g�T�v

�e�L�X�g�𒼐��I�ɕ`���̂ɉ����āA SVG �ɂ̓e�L�X�g�� 'path' �v�f�̐}�`�ɉ����ăe�L�X�g��z�u������@�\���p�ӂ���Ă���B�e�L�X�g�u���b�N�� 'path' �v�f�̐}�`�ɉ����ĕ`�悳���悤�Ɏw�肷�邽�߂ɂ́A 'textPath' �v�f�Ƀe�L�X�g���܂܂�����ŁA 'path' �v�f�ւ� URI �Q�� �� xlink:href �����ɐݒ肷��B

In addition to text drawn in a straight line, SVG also includes the ability to place text along the shape of a 'path' element. To specify that a block of text is to be rendered along the shape of a 'path', include the given text within a 'textPath' element which includes an xlink:href attribute with a URI reference to a 'path' element.

10.13.2 'textPath' �v�f

<!ENTITY % SVG.textPath.extra.content "" >
<!ENTITY % SVG.textPath.element "INCLUDE" >
<![%SVG.textPath.element;[
<!ENTITY % SVG.textPath.content
    "( #PCDATA |
%SVG.tspan.qname; |
%SVG.tref.qname; |
%SVG.altGlyph.qname; |
%SVG.animate.qname; |
%SVG.set.qname; |
%SVG.animateColor.qname; |
%SVG.Description.class;
%SVG.Hyperlink.class;
       %SVG.textPath.extra.content; )*"
>
<!ELEMENT %SVG.textPath.qname; %SVG.textPath.content; >
<!-- end of SVG.textPath.element -->]]>
<!ENTITY % SVG.textPath.attlist "INCLUDE" >
<![%SVG.textPath.attlist;[
<!ATTLIST
%SVG.textPath.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.XLinkRequired.attrib;
    %SVG.External.attrib;
    startOffset %Length.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
    method ( align | stretch ) #IMPLIED
    spacing ( auto | exact ) #IMPLIED
>

������`�F

Attribute definitions:

startOffset = " <length>"
�����̌��݂̃e�L�X�g�ʒu�� 'path' �̊J�n�_����̒����Ŏw�肷��B�e�L�X�g�ʒu�̎Z�o�ɂ͂t�`�� �p�X�ɉ������� �̃A���S���Y�������p�����B
�p�[�Z���g�ȊO�� <length> ���^����ꂽ�ꍇ�A startOffset �͌��݂̗��p���W�n�ő�����p�X�ɉ���������\���B
�p�[�Z���g�ɂ���ė^����ꂽ�ꍇ�A startOffset �̓p�X�S�̂ɉ��������ɑ΂���䗦��\������B���Ȃ킿�A startOffset="0%" �� 'path' �̊J�n�_���w���A startOffset="100%" �� 'path' �̏I�~�_���w���B
���l�̓G���[�i �G���[���� ������j
���̑������w�肳��Ă��Ȃ��ꍇ�A�l "0" ���w�肳�ꂽ���̂Ƃ݂Ȃ����B
�A�j���[�V�����F��
An offset from the start of the 'path' for the initial current text position, calculated using the user agent's distance along the path algorithm.
If a <length> other than a percentage is given, then the startOffset represents a distance along the path measured in the current user coordinate system.
If a percentage is given, then the startOffset represents a percentage distance along the entire path. Thus, startOffset="0%" indicates the start point of the 'path' and startOffset="100%" indicates the end point of the 'path'.
A negative value is an error (see Error processing).
If the attribute is not specified, the effect is as if a value of "0" were specified.
Animatable: yes.
method = "align | stretch"
�e�L�X�g���p�X�ɉ����ĕ`�悷��ۂɂǂ̕��@��p����ׂ������w������B
�l align �́A�O���t�ɑ΂�������L�΂���c�܂������Ȃ��ŁA�P���� 2x3 �s��̕ϊ���p���ăO���t���`�悳���ׂ��ł��邱�Ƃ��w������B�T�^�I�ɂ́A�`�悳���e�O���t�ɑ΂��A�lj��I�ȉ�], �L�k, ���i�ϊ����s����B���̌��ʁA�O���t���������ɂȂ�悤�Ƀf�U�C�����ꂽ�t�H���g�i�Ⴆ�ΕM�L�̂̃t�H���g�j�ł́A�`�悳�ꂽ�Ƃ��ɘA����������������Ȃ����Ƃ��N���蓾��B
�l stretch �̓O���t�̊O�`�����p�X�ɕϊ����A�����̑S�Ă̒[�_�Ɛ���_���p�X�ɒ�������x�N�g���ɉ����Ē������邱�Ƃ��w������B���̌��ʁA�O���t�͈����L�΂���A�K�v�Ȃ�c�܂����B���̕��@�ł́A�M�L�̂Ȃǂ̑������O���t�̘A�������ێ������B
���̑������w�肳��Ă��Ȃ��ꍇ�A�l align ���w�肳�ꂽ���̂Ƃ݂Ȃ����B
�A�j���[�V�����F��
Indicates the method by which text should be rendered along the path.
A value of align indicates that the glyphs should be rendered using simple 2x3 transformations such that there is no stretching/warping of the glyphs. Typically, supplemental rotation, scaling and translation transformations are done for each glyph to be rendered. As a result, with align, fonts where the glyphs are designed to be connected (e.g., cursive fonts), the connections may not align properly when text is rendered along a path.
A value of stretch indicates that the glyph outlines will be converted into paths, and then all end points and control points will be adjusted to be along the perpendicular vectors from the path, thereby stretching and possibly warping the glyphs. With this approach, connected glyphs, such as in cursive scripts, will maintain their connections.
If the attribute is not specified, the effect is as if a value of align were specified.
Animatable: yes.
spacing = "auto | exact"
�p�X�ɉ����ĕ`�悳���O���t�̊Ԋu���t�`���ǂ̂悤�������ׂ������w������B
�l exact �� �p�X��̃e�L�X�g�̔z�u�K�� �Ɏ������Ԋu�����̋K���ɐ��m�ɏ]���ăO���t���`�悳���ׂ��ł��邱�Ƃ��w������B
�l auto �ł́A�t�`�́A���o�ɑi������ʂ𓾂邽�߂ɃO���t�̊Ԋu�����Ƀp�X��̃e�L�X�g�z�u�A���S���Y����p����ׂ��ł��邱�Ƃ��w������B
���̑������w�肳��Ă��Ȃ��ꍇ�A�l exact ���w�肳�ꂽ���̂Ƃ݂Ȃ����B
�A�j���[�V�����F��
Indicates how the user agent should determine the spacing between glyphs that are to be rendered along a path.
A value of exact indicates that the glyphs should be rendered exactly according to the spacing rules as specified in Text on a path layout rules.
A value of auto indicates that the user agent should use text-on-a-path layout algorithms to adjust the spacing between glyphs in order to achieve visually appealing results.
If the attribute is not specified, the effect is as if a value of exact were specified.
Animatable: yes.
xlink:href = " <uri>"
�O���t���`�悳��� 'path' �v�f�ւ� URI �Q�� �B<uri> �������ȎQ�Ƃ̏ꍇ�i�Ⴆ�Ηv�f�����݂��Ȃ�������Q�Ɛ悪 'path' �łȂ��Ȃǁj�A 'textPath' �v�f�̓G���[�ł���A�t�`�͂��̓��e�S�̂�`�悵�Ȃ��B
�A�j���[�V�����F��
A URI reference to the 'path' element onto which the glyphs will be rendered. If <uri> is an invalid reference (e.g., no such element exists, or the referenced element is not a 'path'), then the 'textPath' element is in error and its entire contents shall not be rendered by the user agent.
Animatable: yes.

�Q�Ɛ�� 'path' �v�f���̃p�X�f�[�^�̍��W�� 'path' �v�f����`�������W�n�ł͂Ȃ��A���݂� 'text' �v�f�̍��W�n�ɂ�������̂Ƃ݂Ȃ����B�Q�Ɛ�� 'path' �v�f�� transform �����́i�������݂� 'text' �v�f�ɂ� transform ����������΁A����ɂ����W�n�ϊ����܂߂āj���݂̗��p���W�n�ɑ΂���lj��I�ϊ���\������B�Ⴆ�Ύ��� SVG ���e�����ЁF

The path data coordinates within the referenced 'path' element are assumed to be in the same coordinate system as the current 'text' element, not in the coordinate system where the 'path' element is defined. The transform attribute on the referenced 'path' element represents a supplemental transformation relative to the current user coordinate system for the current 'text' element, including any adjustments to the current user coordinate system due to a possible transform attribute on the current 'text' element. For example, the following fragment of SVG content:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
  <g transform="translate(25,25)">
    <defs>
      <path id="path1" transform="scale(2)" d="..." fill="none" stroke="red"/>
    </defs>
  </g>
  <text transform="rotate(45)">
    <textPath xlink:href="#path1">Text along path1</textPath>
  </text>
</svg>

�͎��Ɠ������ʂ������炷�ׂ��ł���F

should have the same effect as the following:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
  <g transform="rotate(45)">
    <defs>
      <path id="path1" transform="scale(2)" d="..." fill="none" stroke="red"/>
    </defs>
    <text>
      <textPath xlink:href="#path1">Text along path1</textPath>
    </text>
  </g>
</svg>

transform="rotate(45)" �� 'text' �ƃp�X��̃e�L�X�g����Q�Ƃ����}�`�Ƃ��Ă� 'path' �v�f�̗��p�̗����ɓK�p��������A transform="translate(25,25)" �� 'textPath' �v�f�ɑ΂����̌��ʂ��^���Ȃ����Ƃɒ��ӁB

Note that the transform="translate(25,25)" has no effect on the 'textPath' element, whereas the transform="rotate(45)" applies to both the 'text' and the use of the 'path' element as the referenced shape for text on a path.

Example toap01 �Ƀp�X��̃e�L�X�g�̊ȒP�ȗ�������F

Example toap01 provides a simple example of text on a path:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="3.6cm" viewBox="0 0 1000 300" version="1.1"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <path id="MyPath"
          d="M 100 200
             C 200 100 300   0 400 100
             C 500 200 600 300 700 200
             C 800 100 900 100 900 100" />
  </defs>
  <desc>Example toap01 - �P���ȃp�X��̃e�L�X�g</desc>
  <use xlink:href="#MyPath" fill="none" stroke="red"  />
  <text font-family="Verdana" font-size="42.5" fill="blue" >
    <textPath xlink:href="#MyPath">
      We go up, then we go down, then up again
    </textPath>
  </text>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example toap01
Example toap01 - simple text on a path

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

Example toap02 �ɁA�X�^�C���t�������ƌ��݂̃e�L�X�g�ʒu�̒��������̃O���t��`�悷��O�ɍs�����߂́A'textPath' �v�f���ł� 'tspan' �v�f�̎g�����������B�ŏ��̕��̒P�� "up" �͓�����ԐF�ɓh����B dy �����͒P�� "up" ���������玝���グ��̂ɗp������B

Example toap02 shows how 'tspan' elements can be included within 'textPath' elements to adjust styling attributes and adjust the current text position before rendering a particular glyph. The first occurrence of the word "up" is filled with the color red. Attribute dy is used to lift the word "up" from the baseline.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="3.6cm" viewBox="0 0 1000 300" version="1.1"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <path id="MyPath"
          d="M 100 200
             C 200 100 300   0 400 100
             C 500 200 600 300 700 200
             C 800 100 900 100 900 100" />
  </defs>
  <desc>Example toap02 - textPath ���� tspan</desc>
  <use xlink:href="#MyPath" fill="none" stroke="red"  />
  <text font-family="Verdana" font-size="42.5" fill="blue" >
    <textPath xlink:href="#MyPath">
      We go
      <tspan dy="-30" fill="red" >
        up
      </tspan>
      <tspan dy="30">
        ,
      </tspan>
      then we go down, then up again
    </textPath>
  </text>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example toap02
Example toap02 - tspan within textPath

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

Example toap03 �̓e�L�X�g������̊J�n�ʒu���p�X��̓���̈ʒu�Ɏw�肷�邽�߂ɁA 'textPath' �v�f�� startOffset �����𗘗p���Ă���i �p�X��̃e�L�X�g�̔z�u�K�� ������j�B

Example toap03 demonstrates the use of the startOffset attribute on the 'textPath' element to specify the start position of the text string as a particular position along the path. Notice that glyphs that fall off the end of the path are not rendered (see text on a path layout rules).

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="3.6cm" viewBox="0 0 1000 300" version="1.1"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <path id="MyPath"
          d="M 100 200
             C 200 100 300   0 400 100
             C 500 200 600 300 700 200
             C 800 100 900 100 900 100" />
  </defs>
  <desc>Example toap03 - startOffset ���������ƒp�X��̃e�L�X�g</desc>
  <use xlink:href="#MyPath" fill="none" stroke="red"  />
  <text font-family="Verdana" font-size="42.5" fill="blue" >
    <textPath xlink:href="#MyPath" startOffset="80%">
      We go up, then we go down, then up again
    </textPath>
  </text>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example toap03
Example toap03 - text on a path with startOffset attribute

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

10.13.3 �p�X��̃e�L�X�g�̔z�u�K��

�T�O�I�ɂ́A�p�X��̃e�L�X�g�̃p�X�͉��܂��͏c�̐����Ɉ���������B�����e�L�X�g�̗������݂ł́A�p�X�͊J�n�_�������̍��[�Ɏʑ������悤�ɉ��z�̐��������Ɉ���������B�c���e�L�X�g�̗������݂ł́A�p�X�͊J�n�_�������̏�[�Ɏʑ������悤�ɉ��z�̐��������Ɉ���������B�W���� �e�L�X�g�z�u �K�������̉��z�̐����ɓK�p����A���̌��ʂ��p�X��ɋt�ʑ������B�c���Ƒo������ �e�L�X�g�z�u �K�����p�X��̃e�L�X�g�ɓK�p�����B

Conceptually, for text on a path the target path is stretched out into either a horizontal or vertical straight line segment. For horizontal text layout flows, the path is stretched out into a hypothetical horizontal line segment such that the start of the path is mapped to the left of the line segment. For vertical text layout flows, the path is stretched out into a hypothetical vertical line segment such that the start of the path is mapped to the top of the line segment. The standard text layout rules are applied to the hypothetical straight line segment and the result is mapped back onto the target path. Vertical and bidirectional text layout rules also apply to text on a path.

����� �̓p�X�ɉ����ĕ`�悳���e�O���t�ɑ΂��•ʂɒ�߂���B�����e�L�X�g�̗������݂ł́A�O���t�̊���ʂ́A�O���t���u�����p�X��̌�_����̃x�N�g���ł���A��_�ɂ�����Ȑ��̊p�x���甽���v���� 90 �x�̕������w���B�����e�L�X�g�̗������݂ł́A�O���t�̊���ʂ́A�O���t���u�����p�X��̌�_����̃x�N�g���ł���A��_�ɂ�����Ȑ��̊p�x���甽���v���� 180 �x�̕������w���B

The reference orientation is determined individually for each glyph that is rendered along the path. For horizontal text layout flows, the reference orientation for a given glyph is the vector that starts at the intersection point on the path to which the glyph is attached and which points in the direction 90 degrees counter-clockwise from the angle of the curve at the intersection point. For vertical text layout flows, the reference orientation for a given glyph is the vector that starts at the intersection point on the path to which the glyph is attached and which points in the direction 180 degrees from the angle of the curve at the intersection point.

�����I�ȉ����^�c���̃e�L�X�g�ɂ������{�I�� �e�L�X�g�z�u �K���ɑ΂��lj��I�ȃp�X��̃e�L�X�g�ɓ��L�̔z�u�K����������邽�߂ɁA���� Example toap04 ���ȉ��ŗ��p����B

Example toap04 will be used to illustrate the particular layout rules for text on a path that supplement the basic text layout rules for straight line horizontal or vertical text.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="3.6cm" viewBox="0 0 1000 300" version="1.1"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <path id="MyPath"
          d="M 100 125
             C 150 125 250 175 300 175
             C 350 175 450 125 500 125
             C 550 125 650 175 700 175
             C 750 175 850 125 900 125" />
  </defs>
  <desc>Example toap04 - �p�X��̃e�L�X�g�̔z�u�K��</desc>
  <use xlink:href="#MyPath" fill="none" stroke="red"  />
  <text font-family="Verdana" font-size="60" fill="blue" letter-spacing="2" >
    <textPath xlink:href="#MyPath">
      Choose shame or get war
    </textPath>
  </text>
  <!-- 'rect' �v�f�ɂ��L�����o�X�̊O�`����\�� -->
  <rect x="1" y="1" width="998" height="298"
        fill="none" stroke="blue" stroke-width="2" />
</svg>
Example toap04
Example toap04 - text on a path layout rules

���̗�� SVG �Ō���i SVG �Ή��u���E�U�̂݁j
 

���̐}�� 'text' �v�f�̍ŏ��̃O���t���g�債�Ď��������̂ł���B

The following picture does an initial zoom in on the first glyph in the 'text' element.

Image that shows text on a path

�}�̏��ۂ̓O���t���u�����p�X��̓_�ł���B�O���t���͂ގl�p�͂��̓_�ɂ����鉡�����Ȑ��̌X���ɕ��s�ɂȂ�悤�ɉ�]����Ă��邱�Ƃ������Ă���B���̎l�p�̓O���t�� ������ �i charwidth - ���Ȃ킿�O���t�������e�L�X�g�z�u��p���ĕ`�����Ƃ��̌��݂̃e�L�X�g�ʒu�̐����A�h�o���X�ʁj�������Ă���B

The small dot above shows the point at which the glyph is attached to the path. The box around the glyph shows the glyph is rotated such that its horizontal axis is parallel to the tangent of the curve at the point at which the glyph is attached to the path. The box also shows the glyph's charwidth (i.e., the amount which the current text position advances horizontally when the glyph is drawn using horizontal text layout).

���̐}�ł͔z�u�K���̏ڍׂ��������߂ɍX�Ɋg�債�Ă���B

The next picture zooms in further to demonstrate the detailed layout rules.

Image that shows text on a path

�p�X�ɉ�����������E�ւ̉����e�L�X�g�i�����O���t���ʂ� �s�i�s���� �ɐ����ȂƂ��j�ɂ�����z�u�K���͎��̂悤�ɂȂ�F

For left-to-right horizontal text layout along a path (i.e., when the glyph orientation is perpendicular to the inline-progression-direction), the layout rules are as follows:

�p�X�ɉ������ォ�牺�ւ̏c���e�L�X�g�̔z�u�i�����O���t���ʂ� �s�i�s���� �ɕ��s�ȂƂ��j�ɂ��A��������K�����p������B �z�u�K���͎��̂悤�ɂȂ�F

Comparable rules are used for top-to-bottom vertical text layout along a path (i.e., when the glyph orientation is parallel with the inline-progression-direction), the layout rules are as follows:

��̌v�Z�ɂ����āA�����p�X��n�_�܂��̓p�X��I�_���p�X�̒[�_���O�ɂ���ꍇ�́A�p�X�㒆�_�̎Z�o���”\�ɂ��邽�߂ɁA�p�X�̒[�_�̌X���ɕ��s�Ȓ����ɂ��[�_���z���ăp�X����������B

In the calculations above, if either the startpoint-on-the-path or the endpoint-on-the-path is off the end of the path, then extend the path beyond its end points with a straight line that is parallel to the tangent at the path at its end point so that the midpoint-on-the-path can still be calculated.

'text', 'tspan', 'tref', 'altGlyph' �v�f�� x �����^ y �����́A �s�i�s���� ���������^�c�����i�����j�̏ꍇ�̃p�X�ɉ����V������΃I�t�Z�b�g��\�����A�p�X��n�_�ɑ΂������I�ȐV�����l��^����B�������^�c�����̏ꍇ�ɂ�����A�����̗v�f�� y �����^ x �����i�����j�͖��������B

When the inline-progression-direction is horizontal, then any x attributes on 'text', 'tspan', 'tref' or 'altGlyph' elements represent new absolute offsets along the path, thus providing explicit new values for startpoint-on-the-path. Any y attributes on 'text', 'tspan', 'tref' or 'altGlyph' elements are ignored. When the inline-progression-direction is vertical, then any y attributes on 'text', 'tspan', 'tref' or 'altGlyph' elements represent new absolute offsets along the path, thus providing explicit new values for startpoint-on-the-path. Any x attributes on 'text', 'tspan', 'tref' or 'altGlyph' elements are ignored.

10.14 ��փO���t

���K�`��, ����ȗp�r�̃t�H���g�i�Ⴆ�Ίy���p�̃t�H���g�j, �A�W�A�n�e�L�X�g�̂��߂̑�փO���t�Ȃǂ̂悤�ȁA�����f�[�^�ɒʏ�͑Ή����Ȃ��O���t�̈قȂ�Z�b�g���K�v�ƂȂ�󋵂�����B

There are situations such as ligatures, special-purpose fonts (e.g., a font for music symbols) or alternate glyphs for Asian text strings where it is required that a different set of glyphs is used than the glyph(s) which normally corresponds to the given character data.

'altGlyph' �v�f�͓���̕����f�[�^�̕`��ɗ��p�����O���t�ɑ΂��鐧���񋟂���B

The 'altGlyph' element provides control over the glyphs used to render particular character data.

<!ENTITY % SVG.altGlyph.extra.content "" >
<!ENTITY % SVG.altGlyph.element "INCLUDE" >
<![%SVG.altGlyph.element;[
<!ENTITY % SVG.altGlyph.content
    "( #PCDATA %SVG.altGlyph.extra.content; )*"
>
<!ELEMENT %SVG.altGlyph.qname; %SVG.altGlyph.content; >
<!-- end of SVG.altGlyph.element -->]]>
<!ENTITY % SVG.altGlyph.attlist "INCLUDE" >
<![%SVG.altGlyph.attlist;[
<!ATTLIST %SVG.altGlyph.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.XLink.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    glyphRef CDATA #IMPLIED
    format CDATA #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
>

������`�F

Attribute definitions:

xlink:href = " <uri>"
SVG �����Ђ� 'glyph' �v�f�܂��� 'altGlyphDef' �v�f�ւ� URI �Q�� �B

�Q�Ɛ悪 'glyph' �v�f�ł���A���‚��̃O���t�����݂���΁A���̃O���t�� 'altGlyph' �v�f���̕����̂����ɕ`�悳���B

�Q�Ɛ悪 'altGlyphDef' �v�f�ł���A���“K�؂ȑ�փO���t�̃Z�b�g�� 'altGlyphDef' �v�f�̏����ɂ���ē��肳���΁A�����̑�փO���t�� 'altGlyph' �v�f���̕����̂����ɕ`�悳���B

�A�j���[�V�����F�s��

A URI reference either to a 'glyph' element in an SVG document fragment or to an 'altGlyphDef' element.

If the reference is to a 'glyph' element and that glyph is available, then that glyph is rendered instead of the character(s) that are inside of the 'altGlyph' element.

If the reference is to an 'altGlyphDef' element, then if an appropriate set of alternate glyphs is located from processing the 'altGlyphDef' element, then those alternate glyphs are rendered instead of the character(s) that are inside of the 'altGlyph' element.

Animatable: no.

glyphRef = "<string>"
�O���t���ʎq�̌`���́A format �����ŗ^������t�H���g�̌`���Ɉˑ�����i 'glyphRef' �v�f�� glyphRef �����Ɠ����Ӗ��Łj�B
�A�j���[�V�����F�s��
The glyph identifier, the format of which is dependent on the format of the given font. (Same meaning as the glyphRef attribute on the 'glyphRef' element.)
Animatable: no.
format = "<string>"
�t�H���g�̌`���B�t�H���g�� [ CSS2-src] �d�l�ɋ�����ꂽ���́i�Ⴆ�� TrueDoc™ Portable Font Resource �� Embedded OpenType�j�ł���΁A<string> �� [ CSS2-src] �Œ�`�����Ή�����t�H���g�`���̕�������܂�ł��Ȃ���΂Ȃ�Ȃ� �i�Ⴆ�� truedoc-pfr �� embedded-opentype�j�B�i 'glyphRef' �v�f�� format �����Ɠ����Ӗ��ŁB�j
�A�j���[�V�����F�s��
The format of the given font. If the font is in one of the formats listed in the [ CSS2-src] specification (e.g., TrueDoc™ Portable Font Resource or Embedded OpenType), then the <string> must contain the corresponding font format string defined in [ CSS2-src] (e.g., truedoc-pfr or embedded-opentype). (Same meaning as the format attribute on the 'glyphRef' element.)
Animatable: no.
x = " <coordinate>+"
<coordinate> �̒l�� 'tspan' �v�f�� x �����Ɠ����悤�ɂ��ď�������邪�A���̗�O�������F�����Q�Ɛ�̑�փO���t������ 'altGlyph' �v�f�Ɋ܂܂�郆�j�R�[�h�����̂����ɕ`�悳���Ȃ�΁A���� 'altGlyph' �v�f���̂Q�Ԗڂ��� <n> �Ԗڂ܂ł̃��j�R�[�h�����ɑΉ�����A���̗v�f�Ƃ��̔C�ӂ̑c��� 'text' ����� 'tspan' �v�f�� x �����Ŏw�肳����΂w���W�͖��������B���� 'altGlyph' �v�f���̍ŏ��̃��j�R�[�h�����ɑΉ�����A���̗v�f�܂��͂��̂����ꂩ�̑c��� 'text' ���邢�� 'tspan' �v�f�� x �����ɂ��w�肳����΂w���W�́A�ŏ��̑�փO���t���`�悳���O�� ���݂̃e�L�X�g�ʒu �ɑ΂����΂w���W��V�����ݒ肷��B
�A�j���[�V�����F��
The <coordinate> values are processed in the same manner as the x attribute on the 'tspan' element, with the following exception: If the referenced alternate glyphs are rendered instead of the Unicode characters inside the 'altGlyph' element, then any absolute X coordinates specified via an x attribute on this element or any ancestor 'text' or 'tspan' elements for Unicode characters 2 through <n> within the 'altGlyph' element are ignored. Any absolute X coordinate specified via an x attribute on this element or any ancestor 'text' or 'tspan' elements for the first Unicode character within the 'altGlyph' element sets a new absolute X coordinate for the current text position before rendering the first alternate glyph.
Animatable: yes.
y = " <coordinate>+"
'altGlyph' �v�f�̕`��ɂ�����i x �����ɑ�������j��΂x���W�B
�A�j���[�V�����F��
The corresponding absolute Y coordinates for rendering the 'altGlyph' element.
Animatable: yes.
dx = " <length>+"
<length> �l�� 'tspan' �v�f�� dx �����Ɠ����悤�ɂ��ď�������邪�A���̗�O�������F�����Q�Ɛ�̑�փO���t������ 'altGlyph' �v�f�Ɋ܂܂�郆�j�R�[�h�����̂����ɕ`�悳���Ȃ�΁A���� 'altGlyph' �v�f���̂Q�Ԗڂ��� <n> �Ԗڂ܂ł̃��j�R�[�h�����ɑΉ�����A���̗v�f�Ƃ��̔C�ӂ̑c��� 'text' ����� 'tspan' �v�f�� dx �����Ŏw�肳��鑊�΂w���W�͖��������B���� 'altGlyph' �v�f���̍ŏ��̃��j�R�[�h�����ɑΉ�����A���̗v�f�܂��͂��̂����ꂩ�̑c��� 'text' ���邢�� 'tspan' �v�f�� dx �����ɂ��w�肳��鑊�΂w���W�́A�ŏ��̑�փO���t���`�悳���O�� ���݂̃e�L�X�g�ʒu �ɑ΂��鑊�΂w���W��V�����ݒ肷��B
�A�j���[�V�����F��
The <length> values are processed in the same manner as the dx attribute on the 'tspan' element, with the following exception: If the referenced alternate glyphs are rendered instead of the Unicode characters inside the 'altGlyph' element, then any relative X coordinates specified via an dx attribute on this element or any ancestor 'text' or 'tspan' elements for Unicode characters 2 through <n> within the 'altGlyph' element are ignored. Any relative X coordinate specified via an dx attribute on this element or any ancestor 'text' or 'tspan' elements for the first Unicode character within the 'altGlyph' element sets a new relative X coordinate for the current text position before rendering the first alternate glyph.
Animatable: yes.
dy = " <length>+"
'altGlyph' �v�f�̕`��ɂ�����i dx �����ɑ�������j���΂x���W�B
�A�j���[�V�����F��
The corresponding relative Y coordinates for rendering the 'altGlyph' element.
Animatable: yes.
rotate = " <number>+"
<number> �l�� 'tspan' �v�f�� rotate �����Ɠ����悤�ɂ��ď�������邪�A���̗�O�������F �����Q�Ƃ�����փO���t������ 'altGlyph' �v�f�Ɋ܂܂�郆�j�R�[�h�����̂����ɕ`�悳���Ȃ�΁A���� 'altGlyph' �v�f���̂Q�Ԗڂ��� <n> �Ԗڂ܂ł̃��j�R�[�h�����ɑΉ�����A���̗v�f�Ƃ��̔C�ӂ̑c��� 'text' ����� 'tspan' �v�f�� rotate �����Ŏw�肳���lj��I��]�͖��������B���� 'altGlyph' �v�f���̍ŏ��̃��j�R�[�h�����ɑΉ�����A���̗v�f�܂��͂��̂����ꂩ�̑c��� 'text' ���邢�� 'tspan' �v�f�� rotate �����ɂ��w�肳���lj��I��]�́A�ŏ��̑�փO���t���`�悳���O�ɁA ���݂̃e�L�X�g�ʒu �ɑ΂���lj��I��]�p�x��V�����ݒ肷��B
�A�j���[�V�����F�i����@�I, 'set' �� 'animate' �v�f�̂݁j
The <number> values are processed in the same manner as the rotate attribute on the 'tspan' element, with the following exception: If the referenced alternate glyphs are rendered instead of the Unicode characters inside the 'altGlyph' element, then any supplemental rotation values specified via an rotate attribute on this element or any ancestor 'text' or 'tspan' elements for Unicode characters 2 through <n> within the 'altGlyph' element are ignored. Supplemental rotation values specified via an rotate attribute on this element or any ancestor 'text' or 'tspan' elements for the first Unicode character within the 'altGlyph' element sets a new supplemental rotation angle before rendering the alternate glyphs.
Animatable: yes (non-additive, 'set' and 'animate' elements only).

������փO���t�ւ̎Q�Ƃ̌��ʁA���p�����փO���t�̓��肪�ł��Ȃ��ꍇ�A 'altGlyph' �v�f���̕������A 'altGlyph' �v�f�� 'tspan' �v�f�ł��邩�̂悤�ɂ��ĕ`�悳���B

If the references to alternate glyphs do not result in successful identification of alternate glyphs to use, then the character(s) that are inside of the 'altGlyph' element are rendered as if the 'altGlyph' element were a 'tspan' element instead.

'altGlyph' �v�f�ɂ��Q�Ɛ�͎��̂ǂ��炩�Ŏw��ł���F xlink:href �����ɂ�� 'glyph' �v�f�܂��� 'altGlyphDef' �v�f�A���邢�� �t�H���g�I���v���p�e�B �i�����O���t���ʎq�ƃt�H���g�`���j�ɂ����肳���O���t�B���� xlink:href �������w�肳�ꂽ�ꍇ�A�����炪�D�悳��A���̃O���t���ʑ����^�v���p�e�B�͖��������B

An 'altGlyph' element either references a 'glyph' element or an 'altGlyphDef' element via its xlink:href attribute or identifies a glyph by means of font selection properties, a glyph identifier and a font format. If the xlink:href attribute is specified, it takes precedence, and the other glyph identification attributes and properties are ignored.

'altGlyphDef' �v�f�͉”\�ȃO���t�̒u���Z�b�g���`����B

The 'altGlyphDef' element defines a set of possible glyph substitutions.

<!ENTITY % SVG.altGlyphDef.extra.content "" >
<!ENTITY % SVG.altGlyphDef.element "INCLUDE" >
<![%SVG.altGlyphDef.element;[
<!ENTITY % SVG.altGlyphDef.content
    "((
%SVG.glyphRef.qname;+ |
%SVG.altGlyphItem.qname;+ )
        %SVG.altGlyphDef.extra.content; )"
>
<!ELEMENT %SVG.altGlyphDef.qname; %SVG.altGlyphDef.conte
nt; >
<!-- end of SVG.altGlyphDef.element -->]]>
<!ENTITY % SVG.altGlyphDef.attlist "INCLUDE" >
<![%SVG.altGlyphDef.attlist;[
<!ATTLIST %SVG.altGlyphDef.qname;
    %SVG.Core.attrib;
>
 

'altGlyphDef' �͎��̂�������܂܂��邱�Ƃ��ł���F

An 'altGlyphDef' can contain either of the following:

'altGlyphItem' �v�f�͉”\�ȃO���t�u���̌��̏W�����`����B�Q�Ɛ�̃O���t�S�Ă����p�”\�ł���悤�� 'altGlyphItem' �v�f�̂����̍ŏ��̂��̂��I�΂��B�����̃O���t�������Q�ƌ��� 'altGlyph' �v�f���̕����̂����ɕ`�悳���B

The 'altGlyphItem' element defines a candidate set of possible glyph substitutions. The first 'altGlyphItem' element whose referenced glyphs are all available is chosen. Its glyphs are rendered instead of the character(s) that are inside of the referencing 'altGlyph' element

<!ENTITY % SVG.altGlyphItem.extra.content "" >
<!ENTITY % SVG.altGlyphItem.element "INCLUDE" >
<![%SVG.altGlyphItem.element;[
<!ENTITY % SVG.altGlyphItem.content
    "( %SVG.glyphRef.qname;+ %SVG.altGlyphItem.extra.con
tent; )"
>
<!ELEMENT %SVG.altGlyphItem.qname; %SVG.altGlyphItem.content; >
<!-- end of SVG.altGlyphItem.element -->]]>
<!ENTITY % SVG.altGlyphItem.attlist "INCLUDE" >
<![%SVG.altGlyphItem.attlist;[
<!ATTLIST %SVG.altGlyphItem.qname;
    %SVG.Core.attrib;
>
 

'glyphRef' �v�f�͗��p�”\�ȃO���t���`����B

The 'glyphRef' element defines a possible glyph to use.

<!ENTITY % SVG.glyphRef.element "INCLUDE" >
<![%SVG.glyphRef.element;[
<!ENTITY % SVG.glyphRef.content "EMPTY" >
<!ELEMENT %SVG.glyphRef.qname; %SVG.glyphRef.content; >
<!-- end of SVG.glyphRef.element -->]]>
<!ENTITY % SVG.glyphRef.attlist "INCLUDE" >
<![%SVG.glyphRef.attlist;[
<!ATTLIST %SVG.glyphRef.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Font.attrib;
    %SVG.XLink.attrib;
    x %Number.datatype; #IMPLIED
    y %Number.datatype; #IMPLIED
    dx %Number.datatype; #IMPLIED
    dy %Number.datatype; #IMPLIED
    glyphRef CDATA #IMPLIED
    format CDATA #IMPLIED
>

������`�F

Attribute definitions:

xlink:href = " <uri>"
SVG �����Ђ� 'glyph' �v�f�ւ� URI �Q�� �B�Q�Ɛ�� 'glyph' ����փO���t�Ƃ��ĕ`�悳���B
�A�j���[�V�����F�s��
A URI reference to a 'glyph' element in an SVG document fragment. The referenced 'glyph' is rendered as an alternate glyph.
Animatable: no.
glyphRef = "<string>"
�O���t���ʎq�B���̌`���� format �����ŗ^������t�H���g�̌`���Ɉˑ�����B
�A�j���[�V�����F�s��
The glyph identifier, the format of which is dependent on the format of the given font.
Animatable: no.
format = "<string>"
�^����ꂽ�t�H���g�̌`���B�t�H���g�� [ CSS2-src] �d�l�ɋ�����ꂽ���́i�Ⴆ�� TrueDoc™ Portable Font Resource �� Embedded OpenType�j�ł���΁A<string> �� [ CSS2-src] �Œ�`�����Ή�����t�H���g�`���̕�������܂�ł��Ȃ���΂Ȃ�Ȃ��i�Ⴆ�� truedoc-pfr �� embedded-opentype�j�B
�A�j���[�V�����F�s��
The format of the given font. If the font is in one of the formats listed in [ CSS2-src] (e.g., TrueDoc™ Portable Font Resource or Embedded OpenType), then the <string> must contain the corresponding font format string defined in [ CSS2-src] (e.g., truedoc-pfr or embedded-opentype).
Animatable: no.
x = " <number>"
���̒l�́A���̃O���t�̃t�H���g�̍��W�n�ɂ�����V������΂w���W��\���B
�t�H���g�̍��W�n�́A"Cascading Style Sheets (CSS) level 2" �d�l [CSS2] �� "Fonts" �͂ŏq�ׂ���A�G�������̃��f���Ɋ�Â��B
���̑������w�肳��Ă��Ȃ��ꍇ�A�ŏ��� 'glyphRef' �q�v�f�ɑ΂��ẮA���̑����� "0" �Ƃ݂Ȃ�������A�㑱�� 'glyphRef' �q�v�f�ɑ΂��ẮA���̑����͑O�� 'glyphRef' �v�f����̏I�_�w���W�ɐݒ肳���B
�A�j���[�V�����F�s��
This value represents the new absolute X coordinate within the font's coordinate system for this glyph.
The font coordinate system is based on the em square model described in the "Fonts" chapter of the "Cascading Style Sheets (CSS) level 2" specification [ CSS2].
If the attribute is not specified, for the first 'glyphRef' child element, the effect is as if the attribute were set to "0", whereas for subsequent 'glyphRef' child elements, the effect is as if the attribute were set to the end X coordinate from the previous 'glyphRef' element.
Animatable: no.
y = " <number>"
���̃O���t�̃t�H���g�̍��W�n�ɂ�����A�i x �����ɑ�������j�V������΂x���W�B
�A�j���[�V�����F�s��
The corresponding new absolute Y coordinate within the font's coordinate system for this glyph.
Animatable: no.
dx = " <number>"
���̒l�́A���̃O���t�̃t�H���g�̍��W�n�ɂ����鑊�΂w���W��\���B���Ȃ킿�t�H���g�̍��W�n�ɂ����āA�O���t�� x �����i�����I�Ɏw�肳�ꂽ x �����܂��� x �����̏����ɂ�����̒l�j�ɂ���Ċm�����ꂽ��΂w���W���� <number> �̕������w���������ɂ��炳���B
�t�H���g�̍��W�n�́A"Cascading Style Sheets (CSS) level 2" �d�l [CSS2] �� "Fonts" �͂ŏq�ׂ�ꂽ�Aem square ���f���Ɋ�Â��B
���̑������w�肳��Ă��Ȃ��ꍇ�A"0" ���w�肳�ꂽ���̂Ƃ݂Ȃ����B
�A�j���[�V�����F�s��
This value represents the relative X coordinate within the font's coordinate system for this glyph. The glyph is thus shifted by <number> units along the positive X axis within the font's coordinate system supplemental to the absolute X coordinate established by the x attribute (either due to an explicit x attribute or due to default value processing for the x attribute).
The font coordinate system is based on the em square model described in the "Fonts" chapter of the "Cascading Style Sheets (CSS) level 2" specification [ CSS2].
If the attribute is not specified, the effect is as if the attribute were set to "0".
Animatable: no.
dy = " <number>"
�t�H���g�̍��W�n�ɂ�����i dx �����ɑ�������j y �����ɂ���Ċm�����ꂽ��΂x���W����̂x���������ւ̃O���t�̂���ʁB
�A�j���[�V�����F�s��
The corresponding number of units within the font's coordinate system to shift the glyph along the positive Y axis relative to the absolute Y coordinate established by the y attribute.
Animatable: no.

'glyphRef' �v�f�ɂ��Q�Ɛ�͎��̂����ꂩ�Ŏw��ł���F xlink:href �����ɂ�� SVG �����Ђ� 'glyph' �v�f�̎Q�ƁA �t�H���g�I���v���p�e�B �i�����O���t���ʎq�ƃt�H���g�`���j�ɂ�莯�ʂ����O���t�B����������v���p�e�B�̎w�肪�O���t�̓���ɕs�\���ȏꍇ�A 'glyphRef' �̏����́A�O���t�Q�Ƃ����S�Ɏw�肳��Ă͂��邪�^����ꂽ�O���t�����p�s�\�ȂƂ��Ɠ����ɂȂ�B xlink:href �������w�肳��Ă����ꍇ�͂����炪�D�悳��A���̃O���t���ʑ����^�v���p�e�B�͖��������B

A 'glyphRef' either references a 'glyph' element in an SVG document fragment via its xlink:href attribute or identifies a glyph by means of font selection properties, a glyph identifier and a font format. If insufficient attributes and properties have been specified to identify a glyph, then the 'glyphRef' is processed in the same manner as when a glyph reference is fully specified, but the given glyph is not available. If the xlink:href attribute is specified, it takes precedence, and the other glyph identification attributes and properties are ignored.

10.15 �󔒏���

XML �̕����f�[�^�ɂ�����󔒗ނ̕����̈������w�肷�邽�߂̕W�� XML ���� xml:space �́A SVG �� 'text' �v�f���̕����f�[�^�ɂ����Ă��T�|�[�g�����B �i �G���[�^ �F����}���j 'text' �v�f�̂ǂ̎q�v�f�������̃e�L�X�g���e�ɓK�p����邱�ƂɂȂ� xml:space ���������‚��Ƃɒ��ӁB SVG-�t�`�́A�ȉ��ŏq�ׂ��邱�̑����Ɋւ�����ʂȏ����K�������B������ XML �̍\����� [XML10] �ƕ����I�u�W�F�N�g���f�� [DOM2] �̍\�z������������ɑ����U�镑���ł���B

SVG supports the standard XML attribute xml:space to specify the handling of white space characters within a given 'text' element's character data. The SVG user agent has special processing rules associated with this attribute as described below. These are behaviors that occur subsequent to XML parsing [ XML10] and any construction of a Document Object Model [ DOM2].

xml:space �͌p���”\�ȑ����ł���A�Q��ނ̒l���Ƃ��F

xml:space is an inheritable attribute which can have one of two values:

���̗�� xml:space="default" �����p�����Ƃ��ɍs�̃C���f���g���d�v�ȈӖ������‚��Ƃ������B���̕����Ђɂ͂Q�‚̎����悤�� 'text' �v�f�̑΂�����B�ǂ���� 'text' �v�f�ɂ� xml:space='default' �����p����Ă���B�ǂ̍s�̏I��ɂ��󔒗ނ͂Ȃ����̂Ƃ���i�����A�s�̍Ō�̉Ž������̒���ɉ��s�������j�B

The following example illustrates that line indentation can be important when using xml:space="default". The fragment below show two pairs of similar 'text' elements, with both 'text' elements using xml:space='default'. For these examples, there is no extra white space at the end of any of the lines (i.e., the line break occurs immediately after the last visible character).

[01]  <text xml:space='default'>
[02]    WS example
[03]    indented lines
[04]  </text>
[05]  <text xml:space='preserve'>WS example indented lines</text>
[06]
[07]  <text xml:space='default'>
[08]WS example
[09]non-indented lines
[10]  </text>
[11]  <text xml:space='preserve'>WS examplenon-indented lines</text>

�ŏ��� 'text' �v�f�̑΂̓C���f���g���ꂽ�����f�[�^�������Ă���B�ŏ��� 'text' �v�f�̑��� xml:space='default' �́A�t�`�Ɏ����w������F

The first pair of 'text' elements above show the effect of indented character data. The attribute xml:space='default' in the first 'text' element instructs the user agent to:

��̕��� 'text' �v�f�̑΂̓C���f���g����Ă��Ȃ������f�[�^�������Ă���B�R�Ԗڂ� 'text' �v�f�̑��� xml:space='default' �́A�t�`�Ɏ����w������F

The second pair of 'text' elements above show the effect of non-indented character data. The attribute xml:space='default' in the third 'text' element instructs the user agent to:

XML �\����͏����ł́A�����f�[�^���A�v���P�[�V�����ɓn���O�ɁA���s�w���̕W���\���i�Ⴆ�΁A�Q�����̃��e���� "#xD#xA" ���P�����̃��e���� #xD �܂��� #xA �j��P��̕��� #xA �ɕϊ����邱�Ƃ��v������Ă��邱�Ƃɒ��ӁB���Ȃ킿 SVG �̊e���s�́A���̃��\�[�X�ɗ��p����Ă�����s�\���Ɋ֌W�Ȃ��A��‚̕��� #xA �ŕ\�������B�i XML end-of-line handling �Q�ƁB�j

Note that XML parsers are required to convert the standard representations for a newline indicator (e.g., the literal two-character sequence "#xD#xA" or the stand-alone literals #xD or #xA) into the single character #xA before passing character data to the application. Thus, each newline in SVG will be represented by the single character #xA, no matter what representation for newlines might have been used in the original resource. (See XML end-of-line handling.)

�v�f 'text', 'tspan', 'tref', 'altGlyph' �̑��� x, y, dx, dy, rotate �Ȃǂ́A�����̌���鏇�ԂɊ�Â� SVG ����܂��� SVG DOM �ɂ�����d�g�́A�����ŏq�ׂ�ꂽ�󔒗ނ̏����̓K�p��̕�����Ɋ�Â��B���� xml:space="default" �̂Ƃ��A�󔒕����͂����Ă������̈ꕔ�Ƃ��Ď�菜�����B�e�L�X�g������̊e�����ɑ΂���ԍ��t���́A���̐߂̋K���ɂ���ċ󔒕�������菜���ꂽ��ɍs����B

Any features in the SVG language or the SVG DOM that are based on character position number, such as the x, y, dx, dy and rotate attributes on the 'text', 'tspan', 'tref' 'altGlyph' elements, are based on character position after applying the white space handling rules described here. In particular, if xml:space="default", it is often the case that white space characters are removed as part of processing. Character position numbers index into the text string after the white space characters have been removed per the rules in this section.

xml:space �����ł́F

The xml:space attribute is:

     �A�j���[�V�����F�s��

     Animatable: no.

10.16 �e�L�X�g�I���ƃN���b�v�{�[�h����

�V�X�e�����e�L�X�g�I���”\�ł���i�Ⴆ�΃}�E�X�̂悤�ȃ|�C���e�B���O���u�𑕔������V�X�e���j�A�R�s�[�ƃy�[�X�g�����̂��߂̃N���b�v�{�[�h�������Ă���ꍇ�A �K�� SVG �r���[�A �ɂ͎��ɋ�������̂̃T�|�[�g���v�������F

Conforming SVG viewers on systems which have the capacity for text selection (e.g., systems which are equipped with a pointer device such as a mouse) and which have system clipboards for copy/paste operations are required to support:

�e�L�X�g�I�������͎��ɋ�����S�Ă��������Ƃ��ɊJ�n�����F

A text selection operation starts when all of the following occur:

�e�L�X�g�I�𑀍�̊ԁi�Ⴆ�Η��p�҂��}�E�X�{�^��������������j���̃O���t�B�b�N�X�v�f�Ɋ֘A����C�x���g�S�Ă͖�������i�����e�L�X�g�I�𑀍�̓��_�[���ɂȂ�j�A SVG-�t�`�͑I�����ꂽ�O���t���F�ōĕ`�悷��Ȃǂ̓K�؂ȃn�C���C�g�ɂ��A�ǂ̕������I������Ă��邩�𓮓I�ɕ\�����邱�ƂɂȂ�B�e�L�X�g�I�𑀍�ɂ����ă}�E�X�|�C���^�������‚Â���ԁA�I�𕔕��ɂ�����Ō�̃O���t�́A���� 'text' �v�f���̃O���t�ŁA�O���t�Z�����|�C���^�ɂ����Ƃ��߂����̂ƂȂ�B 'text' �v�f���ł̈ʒu���I�𕔕��̎n�߂ƏI���̊Ԃɍ݂邷�ׂĂ̕����́A�L�����o�X��̈ʒu�Ɋ֌W�Ȃ��A�O���t�B�b�N�X�v�f���I�𕔕��̏I���̏�𕢂����ǂ����ɂ��֌W�Ȃ��A�n�C���C�g����邱�ƂɂȂ�B

As the text selection operation proceeds (e.g., the user continues to press the given mouse button), all associated events with other graphics elements are ignored (i.e., the text selection operation is modal) and the SVG user agent shall dynamically indicate which characters are selected by an appropriate highlighting technique, such as redrawing the selected glyphs with inverse colors. As the pointer is moved during the text selection process, the end glyph for the text selection operation is the glyph within the same 'text' element whose glyph cell is closest to the pointer. All characters within the 'text' element whose position within the 'text' element is between the start of selection and end of selection shall be highlighted, regardless of position on the canvas and regardless of any graphics elements that might be above the end of selection point.

��x�e�L�X�g�I�𑀍삪��������΁i�Ⴆ�Η��p�҂��}�E�X�̉�������߂��Ƃ��j�I�����ꂽ�e�L�X�g�́A�|�C���e�B���O���u�ɂ��C�x���g�Ȃǁi�Ⴆ�΃}�E�X�{�^���̉����j�A�e�L�X�g�I������������C�x���g����������܂ŁA�n�C���C�g��������B

Once the text selection operation ends (e.g., the user releases the given mouse button), the selected text will stay highlighted until an event occurs which cancels text selection, such as a pointer device activation event (e.g., pressing a mouse button).

�e�L�X�g�I�𑀍쒆�ɂǂ̕������n�C���C�g�������邩�̋K���̏ڍׂ� �e�L�X�g�I���̎�����̒��� �ŗ^������B

Detailed rules for determining which characters to highlight during a text selection operation are provided in Text selection implementation notes.

�V�X�e���N���b�v�{�[�h�����ƒV�X�e���ɂ����ẮA�V�X�e���N���b�v�{�[�h�ɑI������Ă���e�L�X�g���R�s�[���邽�߂̃��[�U�[�C���^�[�t�F�[�X��񋟂��邱�Ƃ� SVG-�t�`�ɗv�������B SVG-�t�`�́A�I�����ꂽ�e�L�X�g��������N���b�v�{�[�h�ɓn���ہA�V�X�e���ɂ�����f�̃e�L�X�g�̂��߂̓K�؂ȃN���b�v�{�[�h�f�[�^�`���ɂ��邾���ł��\���ł��邪�A�e�L�X�g�Ɋ֘A�Â���ꂽ��X�� �t�H���g�v���p�e�B ���܂߂����b�`�e�L�X�g���n�������D�܂����B

For systems which have system clipboards, the SVG user agent is required to provide a user interface for initiating a copy of the currently selected text to the system clipboard. It is sufficient for the SVG user agent to post the selected text string in the system's appropriate clipboard format for plain text, but it is preferable if the SVG user agent also posts a rich text alternative which captures the various font properties associated with the given text string.

�o�����e�L�X�g�ɑ΂��ẮA�_�������ɂ��e�L�X�g�I�����T�|�[�g���邱�Ƃ��t�`�ɗv�������B���̏ꍇ�̑I�����ʂ́A�o�����ɂ��Ĕz��ɂ��O���t�̃n�C���C�g���s�A���ɂȂ蓾��B�t�`�́A�o�����e�L�X�g�̑I�������o�I�`�揇���i���� �o���� �e�L�X�g�z�u�A���S���Y�����K�p���ꂽ��j�ɏ]���悤�ȑ�ւ̋@�\��񋟂��Ă悢���A�I�����ꂽ�����f�[�^���_�������ɂ����ĕs�A���ƂȂ蓾��B���̏ꍇ�A���p�҂��o�����e�L�X�g�̃N���b�v�{�[�h�ւ̃R�s�[��v�������Ƃ��́A���o�I�ɑI�����ꂽ���������݂̂��R�s�[����悤�ɁA�K�؂Ȓ������s�����Ƃ��t�`�ɗv�������B

For bidirectional text, the user agent must support text selection in logical order, which will result in discontinuous highlighting of glyphs due to the bidirectional reordering of characters. User agents can provide an alternative ability to select bidirectional text in visual rendering order (i.e., after bidirectional text layout algorithms have been applied), with the result that selected character data might be discontinuous logically. In this case, if the user requests that bidirectional text be copied to the clipboard, then the user agent is required to make appropriate adjustments to copy only the visually selected characters to the clipboard.

�”\�Ȃ�A SVG �W�F�l���[�^�́A�E�F�u�u���E�U�̂悤�� SVG �\���\�t�g�E�G�A�̒��Ő����������t����ꂽ�e�L�X�g�I����e�Ղɂ���悤�ɁA�e�L�X�g������������t���邱�Ƃ����������B

When feasible, it is recommended that generators of SVG attempt to order their text strings to facilitate properly ordered text selection within SVG viewing applications such as Web browsers.


10.17 Text ���W���[��

�v�f ���� ���e���f��
text Core.attrib, Conditional.attrib, External.attrib, Style.attrib, transform, x, y, dx, dy, rotate, textLength, lengthAdjust, GraphicalEvents.attrib, Paint.attrib, Paint.attrib, Font.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, TextContent.attrib, Text.attrib (#PCDATA | Description.class | TextContent.class | Hyperlink.class | Animation.class)*
tspan Core.attrib, Conditional.attrib, External.attrib, Style.attrib, x, y, dx, dy, rotate, textLength, lengthAdjust, GraphicalEvents.attrib, Paint.attrib, Paint.attrib, Font.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, TextContent.attrib (#PCDATA | Description.class | TextContent.class | Hyperlink.class | Animation.class)*
tref Core.attrib, Conditional.attrib, External.attrib, Style.attrib, XLinkRequired.attrib, x, y, dx, dy, rotate, textLength, lengthAdjust, GraphicalEvents.attrib, Paint.attrib, Paint.attrib, Font.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, TextContent.attrib (#PCDATA | Description.class | Animation.class)*
textPath Core.attrib, Conditional.attrib, External.attrib, Style.attrib, startOffset, textLength, lengthAdjust, method, spacing, XLinkRequired.attrib, GraphicalEvents.attrib, Paint.attrib, Paint.attrib, Font.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, TextContent.attrib (#PCDATA | Description.class | TextContent.class | Hyperlink.class | Animation.class)*
altGlyph Core.attrib, Conditional.attrib, External.attrib, Style.attrib, x, y, dx, dy, rotate, textLength, glyphRef, format, XLink.attrib, lengthAdjust, GraphicalEvents.attrib, Paint.attrib, Paint.attrib, Font.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, TextContent.attrib (PCDATA)*
altGlyphDef Core.attrib (glyphRef+ | altGlyphItem+)
altGlyphItem Core.attrib (glyphRef+)
glyphRef Core.attrib, External.attrib, Style.attrib, x, y, dx, dy, glyphRef, format, XLink.attrib, lengthAdjust, Font.attrib Empty

10.17.1 Text ���e�Z�b�g

Text ���W���[���� Text.class �� TextContent.class ���e�Z�b�g���`����B

The Text Module defines the Text.class and TextContent.class content sets.

���e�Z�b�g�� ���e�Z�b�g���̗v�f
Text.class text, altGlyphDef
TextContent.class tspan, tref, textPath, altGlyph

10.17.2 Text �����Z�b�g

Text ���W���[���� Text.attrib, TextContent.attrib, Font.attrib �����Z�b�g���`����B

The Text Module defines the Text.attrib, TextContent.attrib and Font.attrib attribute sets.

�R���N�V������ �R���N�V�������̑���
Text.attrib writing-mode
TextContent.attrib alignment-baseline, baseline-shift, direction, dominant-baseline, glyph-orientation-horizontal, glyph-orientation-vertical, kerning, letter-spacing, text-anchor, text-decoration, unicode-bidi, word-spacing
Font.attrib font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight


10.18 ��{ Text ���W���[��

�v�f ���� ���e���f��
text Core.attrib, Conditional.attrib, External.attrib, Style.attrib, transform, x, y, rotate, GraphicalEvents.attrib, Paint.attrib, Paint.attrib, Font.attrib, Opacity.attrib, Graphics.attrib, Cursor.attrib, Filter.attrib, Mask.attrib, GraphicalEvents.attrib, Clip.attrib, TextContent.attrib, Text.attrib (#PCDATA | Description.class | Hyperlink.class | Animation.class)*

10.18.1 ��{ Text ���e�Z�b�g

��{ Text ���W���[���� Text.class �� TextContent.class ���e�Z�b�g���`����B

The Basic Text Module defines the Text.class and TextContent.class content sets.

���e�Z�b�g�� ���e�Z�b�g���̗v�f
Text.class text
TextContent.class Empty

10.18.2 ��{ Text �����Z�b�g

��{ Text ���W���[���� Font.attrib �� TextContent.attrib �����Z�b�g���`����B

The Basic Text Module defines the Font.attrib and TextContent.attrib attribute sets.

�R���N�V������ �R���N�V�������̑���
Font.attrib font-family, font-size, font-style, font-weight
TextContent.attrib text-anchor

10.19 DOM �C���^�[�t�F�[�X

���ɋ�����C���^�[�t�F�[�X���ȉ��Œ�`�����F SVGTextContentElement, SVGTextPositioningElement, SVGTextElement, SVGTSpanElement, SVGTRefElement, SVGTextPathElement, SVGAltGlyphElement, SVGAltGlyphDefElement, SVGAltGlyphItemElement, SVGGlyphRefElement


�C���^�[�t�F�[�X SVGTextContentElement

SVGTextContentElement �C���^�[�t�F�[�X�͎�X�̃e�L�X�g�֘A�̃C���^�[�t�F�[�X�F SVGTextElement, SVGTSpanElement, SVGTRefElement, SVGAltGlyphElement, SVGTextPathElement �̊��C���^�[�t�F�[�X�ƂȂ���̂ł���B

�i �G���[�^ �F����lj��j

���̃C���^�[�t�F�[�X�̕����̃C���f�b�N�X�^�����Q�Ƃ��郁�\�b�h�ɂ����āA�����̎Q�Ƃ� UTF-16 �R�[�h�P�ʂ̃C���f�b�N�X�^���Ɖ��߂����B����́A DOM2 Core �� CharacterData �C���^�[�t�F�[�X�̃��\�b�h���C���f�b�N�X�ƌ��Ƃ��ĕ����f�[�^���� UTF-16 �R�[�h�P�ʂ𗘗p���邱�ƂƂ̈�ѐ���ۂ‚��߂ł���B�]���ėႦ�΁A 'text' �v�f�̃e�L�X�g���e�� U+10000 �Ȃǂ̂P�‚̔� BMP �����Ȃ�΁A�Q�‚� UTF-16 �R�[�h�P�ʁi�T���Q�[�g�y�A�j���P�‚̕�����\������̂ŁA�v�f�ɑ΂��� getNumberOfChars �̌Ăяo���ł� 2 ���Ԃ���邱�ƂɂȂ�B


IDL ��`
interface SVGTextContentElement :
                SVGElement,
                SVGTests,
                SVGLangSpace,
                SVGExternalResourcesRequired,
                SVGStylable,
                events::EventTarget {
  // lengthAdjust Types
  const unsigned short LENGTHADJUST_UNKNOWN   = 0;
  const unsigned short LENGTHADJUST_SPACING     = 1;
  const unsigned short LENGTHADJUST_SPACINGANDGLYPHS     = 2;
  readonly attribute SVGAnimatedLength      textLength;
  readonly attribute SVGAnimatedEnumeration lengthAdjust;
  long     getNumberOfChars (  );
  float    getComputedTextLength (  );
  float    getSubStringLength ( in unsigned long charnum, in unsigned long nchars )
                  raises( DOMException );
  SVGPoint getStartPositionOfChar ( in unsigned long charnum )
                  raises( DOMException );
  SVGPoint getEndPositionOfChar ( in unsigned long charnum )
                  raises( DOMException );
  SVGRect  getExtentOfChar ( in unsigned long charnum )
                  raises( DOMException );
  float    getRotationOfChar ( in unsigned long charnum )
                  raises( DOMException );
  long     getCharNumAtPosition ( in SVGPoint point );
  void     selectSubString ( in unsigned long charnum, in unsigned long nchars )
                  raises( DOMException );
};

��`�O���[�v lengthAdjust Types
��`����Ă���萔
LENGTHADJUST_UNKNOWN �^�C�v����`�ς݂̂��̂ł͂Ȃ����Ƃ�\���B�V�����l�ɂ��̃^�C�v���߂���A�����̒l�����̃^�C�v�ɕύX���鎎�݂͖����ł���B
LENGTHADJUST_SPACING �l spacing �ɑΉ�����B
LENGTHADJUST_SPACINGANDGLYPHS �l spacingAndGlyphs �ɑΉ�����B
����
readonly SVGAnimatedLength textLength
�^����ꂽ�v�f�� textLength �����ɑΉ�����B
readonly SVGAnimatedEnumeration lengthAdjust
�^����ꂽ�v�f�� lengthAdjust �����ɑΉ�����B��� lengthAdjust Types �Œ�`���ꂽ�萔�̂����ꂩ�B
���\�b�h
getNumberOfChars
���݂̗v�f���ŕ`�悳���S��������Ԃ��B 'tref' �Q�Ƃɂ���荞�܂�镶�����v�Z�Ɋ܂܂��B �i �G���[�^ �F���ɒu���j ���݂̗v�f���̕`��Ώۂ̑S���������A����炪�`�悳��邩�ǂ����Ɋւ�炸�A 'tref' ����Q�Ƃ���镶�����܂߂ĕԂ��B������A����� DOM3 Core �� textContent ������ length �ɁA���̑����� 'tref' ���W�J�����ꍇ�ɂ����āA�������Ȃ�B
�p�����^����
�߂�l
long �S�������B
��O����
getComputedTextLength
���̗v�f���̕`�悳���S�Ă̕����ɑ΂���S�ẴA�h�o���X�l�̑��a�B�O���t�́i�����܂��͐����j�A�h�o���X�l, 'kerning', 'letter-spacing', 'word-spacing' �v���p�e�B�ɂ�����, 'tspan' �v�f�� dx, dy �����ɂ�钲�����v�Z�Ɋ܂܂��B��`��‹��ɂ����ẮA�t�`�̓O���t�̊􉽌v�ʂɑ΂��鍇���I�ȉ�������邱�ƂɂȂ�B
�p�����^����
�߂�l
float �e�L�X�g�A�h�o���X�����B
��O����
getSubStringLength
�w�肳�ꂽ����������ɑ΂���S�ẴA�h�o���X�l�̑��a�B�O���t�́i�����܂��͐����j�A�h�o���X�l, 'kerning', 'letter-spacing', 'word-spacing' �v���p�e�B�ɂ�����, 'tspan' �v�f�� dx, dy �����ɂ�钲�����v�Z�Ɋ܂܂��B��`��‹��ɂ����ẮA�t�`�̓O���t�̊􉽌v�ʂɑ΂��鍇���I�ȉ�������邱�ƂɂȂ�B �i �G���[�^ �F����lj��j �����̘A�����镶�����s�•��ɕ`�悳��i�Ⴆ�΁A�P�‚̃O���t���A�̃O���t�ɁA���邢�͔͈͂��T���Q�[�g�y�A�̂𕪊�����Ƃ��Ȃǁj�A���� nchars �� 0 ���傫���ꍇ�A�v�ʔ͈͕͂s�•��̕������܂܂��悤�Ɋg�傳�����̂Ƃ���B
�p�����^
in unsigned long charnum ����������̍ŏ��̕����̃C���f�b�N�X�B�ŏ��̕������C���f�b�N�X�O�ł���B
in unsigned long nchars ����������̕������B �i �G���[�^ �F����lj��j nchars �����݂��镶����葽���̕������w�肵�Ă���ꍇ�A����������� charnum ���當����̖��[�܂ł̕�������Ȃ���̂Ƃ���B
�߂�l
float �e�L�X�g�A�h�o���X�����B
��O
DOMException
INDEX_SIZE_ERR �F charnum �����ł��邩�A charnum + nchars charnum�����̃m�[�h�̕������ȏ�̂Ƃ��Ƀ��C�Y�����B �i �G���[�^ �j
getStartPositionOfChar
�w�肳�ꂽ�����ɑΉ�����O���t�i�����j�ɑ΂���`�撼�O�̗��p���W�n�ɂ����錻�݂̃e�L�X�g�ʒu��Ԃ��B���̌��݂̃e�L�X�g�ʒu�ɂ́A 'kerning', 'letter-spacing', 'word-spacing' �v���p�e�B�ɂ�镶���̊Ԋu�����A����� x, y, dx, dy �����ɂ�钲���ɂ����ʂ��D�荞�܂�Ă���B�A�����镡���̕������s�•��Ȍ`�Łi�P�ˆȏ�̃O���t�Ƃ��āj�`�悳���ꍇ�A�ŏ��̃O���t�̊J�n�ʒu��Ԃ��B
�p�����^
in unsigned long charnum �����̃C���f�b�N�X�B�ŏ��̕������C���f�b�N�X�O�ł���B
�߂�l
SVGPoint �����̊J�n�ʒu�B
��O
DOMException
INDEX_SIZE_ERR �F charnum �����ł��邩�A���̃m�[�h�̕������ȏ�̂Ƃ��Ƀ��C�Y�����B
getEndPositionOfChar
�w�肳�ꂽ�����ɑΉ�����O���t�i�����j�ɑ΂��镶���̕`�撼��̗��p���W�n�ɂ����錻�݂̃e�L�X�g�ʒu��Ԃ��B���̌��݂̃e�L�X�g�ʒu�ɂ́A���̕����̂��߂̊Ԋu�����Ȃǂ̌��ʂ��܂܂�Ȃ��B���Ȃ킿 'kerning', 'letter-spacing', 'word-spacing' �v���p�e�B�ɂ�镶���̊Ԋu�����A����� x, y, dx, dy �����ɂ�钲���ɂ����ʂ͐D�荞�܂�Ȃ��B �A�����镡���̕������i�P�ˆȏ�̃O���t�Ƃ��āj�s�•��Ȍ`�ŕ`�悳���ꍇ�A�����̕����ɑ΂��Ă͍Ō�̃O���t�̏I���ʒu��Ԃ��B
�p�����^
in unsigned long charnum �����̃C���f�b�N�X�B�ŏ��̕������C���f�b�N�X�O�ł���B
�߂�l
SVGPoint �����̏I�_�B
��O
DOMException
INDEX_SIZE_ERR �F charnum �����ł��邩�A���̃m�[�h�̕������ȏ�̂Ƃ��Ƀ��C�Y�����B
getExtentOfChar
�w�肳�ꂽ�����ɑΉ�����O���t�̕`��ɂ����ė��p���W�n�Ő�߂�ŏ��̕�܃{�b�N�X��Ԃ��B�Z�o�ɂ����Ă̓O���t�̓t�H���g�� full standard �O���t�Z�����߂���̂Ƃ݂Ȃ����B �A�����镡���̕������s�•��Ȍ`�Łi�P�ˆȏ�̃O���t�Ƃ��āj�`�悳���ꍇ�A�����̕����ɑ΂��Ă͓����傫���̂��̂��Ԃ����B
�p�����^
in unsigned long charnum �����̃C���f�b�N�X�B�ŏ��̕������C���f�b�N�X�O�ł���B
�߂�l
SVGRect �`�悳�ꂽ�w�肳�ꂽ�����ɑΉ�����O���t��S�Ĉ͂ދ�`�B
��O
DOMException
INDEX_SIZE_ERR �F charnum �����ł��邩�A���̃m�[�h�̕������ȏ�̂Ƃ��Ƀ��C�Y�����B
getRotationOfChar
�w�肳�ꂽ�����ɑΉ�����O���t�̕`��ɗ��p����錻�݂̗��p���W�n�ɑ��ΓI�ȉ�]�p�x��Ԃ��B�P�‚̕����ɑ΂������̃O���t�����p����A���ꂼ��̃O���t�ɈقȂ��]�������ꍇ�i�Ⴆ�΃p�X��̃e�L�X�g�j�A�t�`�͂����̕��ϒl��Ԃ����ƂɂȂ�i�Ⴆ�΃O���t�������`�悳���p�X��Ԃ̒��ԓ_�ɂ������]�p�x�j�B��]�p�x�� 'glyph-orientation-horizontal', 'glyph-orientation-vertical' �v���p�e�B�ɂ���]�ɑ΂��lj��I�ȉ�]��\���B���Ȃ킿�A�����̃v���p�e�B�ɂ��O���t�̉�]�͕Ԃ�l�̉�]�p�x�ɂ��D�荞�܂�Ȃ��B �A�����镡���̕������s�•��Ȍ`�Łi�P�ˆȏ�̃O���t�Ƃ��āj�`�悳���ꍇ�A�����̕����ɑ΂����]�p�x�͓����ł���B
�p�����^
in unsigned long charnum �����̃C���f�b�N�X�B�ŏ��̕������C���f�b�N�X�O�ł���B
�߂�l
float ��]�p�x�B
��O
DOMException
INDEX_SIZE_ERR �F charnum �����ł��邩�A���̃m�[�h�̕������ȏ�̂Ƃ��Ƀ��C�Y�����B
getCharNumAtPosition
�Ή�����O���t�̃Z����܃{�b�N�X���^����ꂽ�_���܂ނ悤�ȕ����̃C���f�b�N�X��Ԃ��B �Z�o�ɂ����Ă̓O���t�̓t�H���g�� full standard �O���t�Z�����߂���̂Ƃ݂Ȃ����B ���̗l�ȕ��������݂��Ȃ��ꍇ�A�l -1 ���Ԃ����B���̗l�ȕ������������݂���ꍇ�A�v�f�Ɋ܂܂�邻���̕����̂����Ō�ɕ`�悳�ꂽ�O���t�ɑΉ����镶�����I�΂��i�����o�������ɂ��Ĕz����v�Z�ɓ����j�B �A�����镡���̕������s�•��Ȍ`�Łi�P�ˆȏ�̃O���t�Ƃ��āj�`�悳���ꍇ�A�t�`�͂����̕����ɂ��e�L�X�g�A�h�o���X�ʂ̍��v�𓙕����邱�Ƃɂ�蕶����I�����邱�ƂɂȂ�B
�p�����^
in SVGPoint point ���p��ԓ��̓_�B
�߂�l
long �^����ꂽ�_�ɑ��݂��镶���̃C���f�b�N�X�B�ŏ��̕������C���f�b�N�X�O�ł���B
��O����
selectSubString
���p�҂��������I������̂ƑS�������l�ɁA�w�肳�ꂽ�����̕������I������B
�p�����^
in unsigned long charnum �I�𕔕��ɂ�����J�n�����̃C���f�b�N�X�B�ŏ��̕������C���f�b�N�X�O�ł���B
in unsigned long nchars �I�𕔕��̕������B nchars ���”\�ȕ������𒴂����ꍇ�́A�Ō�̕����܂őI�������B
�߂�l����
��O
DOMException
INDEX_SIZE_ERR �F charnum �܂��� nchars �����ł��邩�A charnum �����̃m�[�h�̕������ȏ�̂Ƃ��Ƀ��C�Y�����B �i �G���[�^ �j

�C���^�[�t�F�[�X SVGTextPositioningElement

SVGTextPositioningElement �C���^�[�t�F�[�X�̓e�L�X�g�֘A�̃C���^�[�t�F�[�X�F SVGTextElement, SVGTSpanElement, SVGTRefElement, SVGAltGlyphElement �Ɍp�������B


IDL ��`
interface SVGTextPositioningElement : SVGTextContentElement {
  readonly attribute SVGAnimatedLengthList x;
  readonly attribute SVGAnimatedLengthList y;
  readonly attribute SVGAnimatedLengthList dx;
  readonly attribute SVGAnimatedLengthList dy;
  readonly attribute SVGAnimatedNumberList rotate;
};

����
readonly SVGAnimatedLengthList x
�^����ꂽ�v�f�� x �����ɑΉ�����B
readonly SVGAnimatedLengthList y
�^����ꂽ�v�f�� y �����ɑΉ�����B
readonly SVGAnimatedLengthList dx
�^����ꂽ�v�f�� dx �����ɑΉ�����B
readonly SVGAnimatedLengthList dy
�^����ꂽ�v�f�� dy �����ɑΉ�����B
readonly SVGAnimatedNumberList rotate
�^����ꂽ�v�f�� rotate �����ɑΉ�����B

�C���^�[�t�F�[�X SVGTextElement

SVGTextElement �C���^�[�t�F�[�X�� 'text' �v�f�ɑΉ�����B


IDL ��`
interface SVGTextElement :
                SVGTextPositioningElement,
                SVGTransformable {};


�C���^�[�t�F�[�X SVGTSpanElement

SVGTSpanElement �C���^�[�t�F�[�X�� 'tspan' �v�f�ɑΉ�����B


IDL ��`
interface SVGTSpanElement : SVGTextPositioningElement {};


�C���^�[�t�F�[�X SVGTRefElement

SVGTRefElement �C���^�[�t�F�[�X�� 'tref' �v�f�ɑΉ�����B


IDL ��`
interface SVGTRefElement :
                SVGTextPositioningElement,
                SVGURIReference {};


�C���^�[�t�F�[�X SVGTextPathElement

SVGTextPathElement �C���^�[�t�F�[�X�� 'textPath' �v�f�ɑΉ�����B


IDL ��`
interface SVGTextPathElement :
                SVGTextContentElement,
                SVGURIReference {
  // textPath Method Types
  const unsigned short TEXTPATH_METHODTYPE_UNKNOWN   = 0;
  const unsigned short TEXTPATH_METHODTYPE_ALIGN     = 1;
  const unsigned short TEXTPATH_METHODTYPE_STRETCH     = 2;
  // textPath Spacing Types
  const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN   = 0;
  const unsigned short TEXTPATH_SPACINGTYPE_AUTO     = 1;
  const unsigned short TEXTPATH_SPACINGTYPE_EXACT     = 2;
  readonly attribute SVGAnimatedLength              startOffset;
  readonly attribute SVGAnimatedEnumeration method;
  readonly attribute SVGAnimatedEnumeration spacing;
};

��`�O���[�v textPath Method Types
��`����Ă���萔
TEXTPATH_METHODTYPE_UNKNOWN �^�C�v����`�ς݂̂��̂ł͂Ȃ����Ƃ�\���B�V�����l�ɂ��̃^�C�v���߂���A�����̒l�����̃^�C�v�ɕύX���鎎�݂͖����ł���B
TEXTPATH_METHODTYPE_ALIGN �l align �ɑΉ�����B
TEXTPATH_METHODTYPE_STRETCH �l stretch �ɑΉ�����B
��`�O���[�v textPath Spacing Types
��`����Ă���萔
TEXTPATH_SPACINGTYPE_UNKNOWN �^�C�v����`�ς݂̂��̂ł͂Ȃ����Ƃ�\���B�V�����l�ɂ��̃^�C�v���߂���A�����̒l�����̃^�C�v�ɕύX���鎎�݂͖����ł���B
TEXTPATH_SPACINGTYPE_AUTO �l auto �ɑΉ�����B
TEXTPATH_SPACINGTYPE_EXACT �l exact �ɑΉ�����B
����
readonly SVGAnimatedLength startOffset
'textPath' �v�f�� startOffset �����ɑΉ�����B
readonly SVGAnimatedEnumeration method
'textPath' �v�f�� method �����ɑΉ�����B��� textPath Method Types �Œ�`���ꂽ�萔�̂����ꂩ�B
readonly SVGAnimatedEnumeration spacing
'textPath' �v�f�� spacing �����ɑΉ�����B��� textPath Spacing Types �Œ�`���ꂽ�萔�̂����ꂩ�B

�C���^�[�t�F�[�X SVGAltGlyphElement

SVGAltGlyphElement �C���^�[�t�F�[�X�� 'altGlyph' �v�f�ɑΉ�����B


IDL ��`
interface SVGAltGlyphElement :
                SVGTextPositioningElement,
                SVGURIReference {
           attribute DOMString glyphRef;
                       // raises DOMException on setting
           attribute DOMString format;
                       // raises DOMException on setting
};

����
DOMString glyphRef
�^����ꂽ�v�f�� glyphRef �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B
DOMString format
�^����ꂽ�v�f�� format �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B

�C���^�[�t�F�[�X SVGAltGlyphDefElement

SVGAltGlyphDefElement �C���^�[�t�F�[�X�� 'altGlyphDef' �v�f�ɑΉ�����B


IDL ��`
interface SVGAltGlyphDefElement : SVGElement {};


�C���^�[�t�F�[�X SVGAltGlyphItemElement

SVGAltGlyphItemElement �C���^�[�t�F�[�X�� 'altGlyphItem' �v�f�ɑΉ�����B


IDL ��`
interface SVGAltGlyphItemElement : SVGElement {};


�C���^�[�t�F�[�X SVGGlyphRefElement

SVGGlyphRefElement �C���^�[�t�F�[�X�� 'glyphRef' �v�f�ɑΉ�����B


IDL ��`
interface SVGGlyphRefElement :
                SVGElement,
                SVGURIReference,
                SVGStylable {
           attribute DOMString glyphRef;
                       // raises DOMException on setting
           attribute DOMString format;
                       // raises DOMException on setting
           attribute float    x;
                       // raises DOMException on setting
           attribute float    y;
                       // raises DOMException on setting
           attribute float    dx;
                       // raises DOMException on setting
           attribute float    dy;
                       // raises DOMException on setting
};

����
DOMString glyphRef
�^����ꂽ�v�f�� glyphRef �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B
DOMString format
�^����ꂽ�v�f�� format �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B
float x
�^����ꂽ�v�f�� x �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B
float y
�^����ꂽ�v�f�� y �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B
float dx
�^����ꂽ�v�f�� dx �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B
float dy
�^����ꂽ�v�f�� dy �����ɑΉ�����B
�ݒ莞�̗�O
DOMException
NO_MODIFICATION_ALLOWED_ERR �F�ǂݏo����p�̑����l�̕ύX�����݂��Ƃ��Ƀ��C�Y�����B