で定義したとおり、パスはパスセグメントから構成され、パスセグメントは、パス要素から構成される。
connected (1) if they are in
sequence in anypath segment or (2) if they are the initial and final path
elements of a closedpath segment.
]]>
二つのパス要素は、(1)それらが同じパスセグメントに含まれている連続したパス
要素である場合、又は(2)それらがある閉パスセグメントの先頭のパス要素と末尾の
パス要素である場合、接続しているという。
connection
point.
]]>
二つのパス要素が連結している点を接続点と呼ぶ。
closed path segment is one for which the end point of
the last path element coincides with and is connected to the start point of
the initial path element.
]]>
最後のパス要素の最終点が最初のパス要素の始点と一致し、連結しているパスセ
グメントを、閉パスセグメントとする。
closed path is one consisting solely of closed path segments.
]]>
閉パスセグメントだけからなるパスを、閉パスとする。
CurrentPath.
]]>
パスは、基本演算子によって作られ、
作図状態変数CurrentPathに保持される。
SetPosition and may be extended by
operators such asLineTo and CurveTo.
]]>
パスセグメントはSetPositionによって開始され、
LineTo、CurveToなどの演算子によって延長することができる。
CurrentPathcan be obtained by GetPath and set
by SetPath,and is cleared to the nullpath by the
NewPath operator or by the imaging and clipping operators.
]]>
CurrentPathはGetPath演算子によって得ることができ、
SetPath演算子によって設定することができる。
またCurrentPathは、
NewPath演算子並びに作画及びクリップの演算子によってクリアされ、空パスとなる。
RectangleFilland
RectangleStroke, and the clippingoperator
RectangleClip construct a path in conjunction with their other
activities.
]]>
幾つかの作画演算子、すなわちRectangleFill及びRectangleStroke、並びにクリップ演算子RectangleClip は、それら自身の作用
を行うとともに、パスを構築する。
パスは、マスク又はクリップ領域を指定するのに使われる場合に限り、幾何的に
解釈される。
このとき、パスを定義する点はユーザ座標系における幾何図形を定義するものと
して解釈される。
StrokePath,
FillPath,FillPathEvenOdd,
RectangleFill,RectangleStroke, and the clipping
operatorsClipPath, ClipPathEven and
RectangleClipconvert this geometry to the Reference Coordinate
System by applying theCurrentTransformation.
]]>
作画演算子StrokePath、FillPath、
FillPathEvenOdd、RectangleFill、
RectangleStroke及びクリップ演算子
ClipPath、ClipPathEven、RectangleClipはこの
幾何図形を、CurrentTransformationを適用することによって、参照座標
系における幾何図形に変換する。
これら演算子の実行の結果できる幾何形状は演算子の定義によって決まる。
パスの構築及び操作に関する演算子
では、パスを構築する演算子及びパスを直接操作する演算
子について記述する。
CurrentPathGraphics State Variable also implicitly set the
value of theCurrentPositionGraphics State Variable to the end
point of the current path.
]]>
作図状態変数CurrentPathの値に影響を与えるすべてのパス構築演算
子は、暗黙のうちに現パスの終点の値を作図状態変数CurrentPositionの
値として設定する。
CurrentPositionGraphics State Variable is undefined.
]]>
空パスは現位置をもたない。空パスが生成された場合、作図状態変数Curren
tPositionの値は未定義となる。
これら演算子及びその意味に関する規定は、演算子を解釈した結果として内容例
外を発生させうる条件についての規定を含む。
.
]]>
内容例外及び例外処理についてはで定義する。
演算子固有の例外に加えて、ほとんどどの演算子の解釈時にも発生しうる共通的
な例外がある。
.
]]>
これらの共通例外及びその意味についてはで述べる。
AppendPath
AppendPath imaging operator takes one operand
]]>
AppendPath演算子は、次に示す1個のオペランドをとる。
<
]]>
<
結果は返さない。
path
to the Path
referenced by the value of the CurrentPathGraphics State
Variable.
]]>
AppendPath演算子はpathが参照するパスの複製を作図状態変数CurrentPathの値が参照するパスに連結する。
CurrentPosition GraphicsState Variable is set to the end
point of the last path segment in the appended Path.
]]>
作図状態変数CurrentPositionの値は、連結されてできたパスの最後
のパスセグメントの終点となる。
ArcToClockwise
ArcToClockwise imaging operator takes five operands
]]>
ArcToClockwise作画演算子は、次に示す5個のオペランドをとる。
<2/: <1/: <<<
]]>
<2/: <1/: <<<
結果は返さない。
ArcToClockwise作画演算子は、次に示す有向円弧からなる新しいパ
ス要素を生成する。
-
中心は、(
半径は、1/);
]]>
始点は、(1/)である点
- 2/),
]]>
終点は、(2/)である点
-
向きは、時計回り
CurrentPosition
Graphics State Variable is set to that
end point.
]]>
作図状態変数CurrentPositionの値は、生成したパス要素の終点の
値となる。
CurrentPath
is the null
path,ArcToClockwise begins a new path segment consisting of the
start point of the new path element followed by the new path element.
]]>
CurrentPathが空パスの場合、ArcToClockwiseは新しい
パス要素の始点にその新しいパス要素を続けた新しいパスセグメントを開始する。
CurrentPath
is not the null path, and if the start
point of the new path element coincides with the end point of thelast
segment of the CurrentPath, the path element is appendedto that
path segment.
]]>
CurrentPathが空パスでなく、
新しいパス要素の始点がCurrentPathの
最後のパスセグメントの終点と一致する場合、
ArcToClockwise作画演算子は、
そのパス要素をそのパスセグメントに連結する。
CurrentPath,
ArcToClockwise appends to theCurrentPath a line
segment whose startpoint is the end point of the last segment of the
CurrentPath and whose end point is the start point of the new
path element, then appends the new path element to the line segment.
]]>
そうではなく、
新しいパス要素の始点が
CurrentPathの最後のパスセグメントの終点と一致しない場合、
ArcToClockwiseは、
始点がCurrentPathの最後のパスセグメントの終点であり、
終点が新しいパス要素の始点である線分をCurrentPathに連結し、
次に、その新しいパス要素をその線分に連結する。
>
ArcToCounterClockwise>
ArcToCounterClockwise imaging operator has the
same semantics as the ArcToClockwise
operator (see ), but draws a counterclockwise
arc.
]]>
ArcToCounterClockwise作画演算子は、
反時計回りの弧を描くことを除いて、
ArcToClockwise演算子(参照)と
同一の意味をもつ。
ArcToCounterClockwise operator
takes five operands
]]>
特に、ArcToCounterClockwise演算子は、
次に示す5個のオペランドをとる。
<t2: Number>
<t1: Number>
<r: Number>
<y: Number>
<x: Number>
]]>
<2/: <1/: <<<
結果は返さない。
ArcToCounterClockwise作画演算子は、次に示す有向円弧からなる
新しいパ
ス要素を生成する。
);
]]>
中心は、(
r;
]]>
半径は、
x,
y) are (r, t1);
]]>
始点は、(1/)である点
x,
y) are (r, t2),
]]>
終点は、(2/)である点
向きは、反時計回り
CurrentPosition
Graphics State Variable is set
to that end point.
]]>
作図状態変数CurrentPositionの値は、生成したパス要素の
終点の値となる。
CurrentPath is the null path,
ArcToCounterClockwise begins a new path segment consisting
of the start point of the new path element followed by the new path element.
]]>
CurrentPathが空パスの場合、
ArcToCounterClockwiseは、
新しいパス要素の始点に
その新しいパス要素を続けた新しいパスセグメントを開始する。
CurrentPath is not the null path, and if the
start point of the new path element coincides with the end point of
the last segment of the CurrentPath, the path element is appended
to that path segment.
]]>
CurrentPathが空パスでなく、
新しいパス要素の始点がCurrentPathの
最後のパスセグメントの終点と一致する場合、
ArcToCounterClockwise作画演算子は、
そのパス要素をそのパスセグメントに連結する。
CurrentPath,
ArcToCounterClockwise appends to the CurrentPath
a line segment whose start point is the end point of the last segment of
the CurrentPath and whose end point is the start point of the new
path element, then appends the new path element to the line segment.
]]>
そうではなく、
新しいパス要素の始点が
CurrentPathの最後のパスセグメントの終点と一致しない場合、
ArcToCounterClockwiseは、
始点がCurrentPathの最後のパスセグメントの終点であり、
終点が新しいパス要素の始点である線分をCurrentPathに連結し、
次に、その新しいパス要素をその線分に連結する。
>
ClosePathSegment
ClosePathSegment imaging operator takes no operand and
returns no results.
]]>
ClosePathSegment演算子はオペランドをとらず、結果も返さない。
CurrentPath is the null path,ClosePathSegment has no
effect.
]]>
現パスセグメントがすでに閉じている場合、又はCurrentPathが空パスである場合、ClosePathSegmentは何もしない。
cpsbx,
cpsby)are the UCS coordinates of the start
point of the last path segment of the CurrentPath,
ClosePathSegmentis equivalent to
{cpsbxcpsbyLineTo }, with the additional property that the initial path
element of the last path segment is connected to the new final path element
of that path segment at the start point of the initial path element and the
end point of the new path element.
]]>
そうではなく、CurrentPathの最後のパスセグメントの始点
のユーザ座標系における座標が(cpsbx,
cpsby)である場合、
ClosePathSegmentは、
{cpsbx
cpsby LineTo}
と等価となる。これに加えて、最後のパスセグメントの最初のパス要
素は、そのパスセグメントに新たに追加されたパス要素に、最初のパス
要素の始点、すなわち新しいパス要素の終点において接続される。
CurrentPositionGraphics State Variable is set to the
point with UCS
coordinates(cpsbx, cpsby).
]]>
作図状態変数CurrentPositionの値は、ユーザ座標系における点(cpsbx, cpsby)となる。
StrokePathoperator, appropriate stroke ends will be realized at
the start and end points of that path segment (see ).
]]>
パスセグメントの最後のパス要素の終点をそのパスセグメントの始点に一致させ
ても、閉パスとはならない。そのようなパスは、まだ開パスであり、StrokePath演算子を実行すると、そのパスセグメントの始点及び終点に特定の終端形状
が現れる。
丸型終端の場合、その効果はそのパスセグメントの接続点に丸型接続を適用した
場合と区別できなくてもよい。
CurrentPathimmediately after a ClosePathSegment
operator will begin a new pathsegment, even if it is drawn from the end
point reached byClosePathSegment.
]]>
ClosePathSegment演算子実行の直後に別のセグメントを CurrentPathに連結すると、新しいパスセグメントを開始する。たとえ、ClosePathSegmentによる終点から描かれる場合でも。
CurveTo
CurveTo imaging operator takes six operands
]]>
CurveTo演算子は、次に示す6個のオペランドをとる。
<3/: <3/: <2/: <2/: <1/: <1/:
]]>
<1/: <3/: <3/: <2/: <2/: <1/:
結果は返さない。
CurrentPath
Graphics State Variable.
]]>
CurveTo演算子は、
ベジエ曲線からなる新しいパス要素を作図状態変数
CurrentPathの最後のパスセグメントに連結する。
CurrentPath.
]]>
このパス要素の始点は、
CurrentPathの最後のセグメントの終点とする。
x3, y3).
]]>
このパス要素の終点は、ユーザ座標系で
(x3,
y3)となる。
CurrentPositionGraphics State Variable is set to that end
point.
]]>
作図状態変数CurrentPositionの値は、生成したパス要素の終点と
なる。
x1, y1)and
(x2, y2).
]]>
このパス要素は、
ユーザ座標が(x1,
y1)及び
(x2,
y)
である二つのベジエ制御点をもつ。
CurrentPath
is (x0,
y0),the new path element consists of the
points onthe parametric curve represented by the equations
]]>
より正確には、
CurrentPathの最後のパスセグメントの終点が
点(x0,
y0)の場合、
新しいパスセグメントは、
次の方程式によって記述されるパラメトリック曲線上の点からなる。
0 ≤ t ≤ 1の範囲のtについて、
x = axt3
+ bxt2
+ cxt
+ dx
y = ayt3
+ byt2
+ cyt
+ dy
ここで、
ax =
x3 - 3x2 + 3x1 - x0
ay =
y3 - 3y2 + 3y1 - y0
bx =
3x2 - 6x1 + 3x0
by =
3y2 - 6y1 + 3y0
cx =
3x1 - 3x0
cy =
3y1 - 3y0
dx = x0
dy = y0
x
0, y0) to
(x1, y1) at
itsstart point and is tangent to the line segment
from(x2, y2) to
(x3, y3) at its
end point, provided those points are distinct.
]]>
新しいパス要素は、点
(x0, y0)
から点
(x1, y1)
への線分にその始点で接し、点
(x2, y2)
から点
(x3, y3)
への線分にその終点で接する。ただし、これらの点が異なる点である場
合に限る。
CurrentPath
is the null path,
RaiseErrorshall be invoked with NoCurrentPosition as
its operand.
]]>
CurrentPathが空パスの場合、
NoCurrentPositionをオペランドとして
RaiseErrorを実行する。
CurveToRelative
CurveToRelative imaging operator takes six operands
]]>
CurveToRelative 演算子は、次に示す6個のオペランドをとる。
<3/: <3/: <2/: <2/: <1/: <1/:
]]>
<3/: <3/: <2/: <2/: <1/: <1/:
結果は返さない。
cpsx, cpsy
) is the UCS point which corresponds to the end
point of the last path segment of the
CurrentPath,CurveToRelative appends a new path
element consisting of a Bézier curve to the last path segment of the
CurrentPath Graphics State Variable.
]]>
(x/, y/)が
現パスの最後のセグメントの終点のユーザ座標系での点である場合、
CurveToRelative>は、
ベジエ曲線からなる新しいパス要素を
作図状態変数CurrentPathの最後のパスセグメントに連結する。
CurrentPath.
]]>
このパス要素の始点は、CurrentPathの最後のセグメントの終点とする。
cpsx+x3, cpsy+
y3).
]]>
このパス要素の終点は、ユーザ座標系上で
(cpsx+x3,
cpsy+y3)となる。
CurrentPosition Graphics State Variable is set tothat end
point.
]]>
作図状態変数CurrentPositionの値は、
生成されたパス要素の終点となる。
cpsx+x2, cpsy+y2)and
(cpsx+x3, cpsy+y3).
]]>
このパス要素は、ユーザ座標が
(cpsx+x2,
cpsy+y2)及び
(cpsx+x3,
cpsy+y3)である
二つのベジエ制御点をもつ。
.
]]>
この曲線の方程式はで示す。
CurrentPath
is the null path, RaiseError
shall be invoked withNoCurrentPosition as its operand.
]]>
CurrentPathが空パスの場合、
NoCurrentPositionをオペランドとして
RaiseErrorを実行する。
GetPath
GetPath imaging operator takes no operands andreturns
one result
]]>
GetPath演算子はオペランドをとらず、次に示す1個の結果を返す。
<
]]>
<
path
is a reference to a copy of the Path thatis
referenced by the value of the CurrentPathGraphics State
Variable.
]]>
ここで path は、作図状態変数CurrentPathの値が参照するパスの
複製への参照とする。
CurrentPath is not affected by GetPath.
]]>
CurrentPathは、GetPath演算子の影響を受けない。
GlyphToPath
GlyphToPath imaging operator takes two operands
]]>
GlyphToPath 演算子は、次に示す2個のオペランドをとる。
<<
]]>
<<
結果は返さない。
GlyphToPath appends to theCurrentPatha set of path
segments which describe the glyph shapes as they would be presentedby the
ShowString operator (see ).
]]>
GlyphToPath はCurrentPathに ShowString演算子(参照)を実行した場合に提示されるグリフ形状を記述するパス
セグメントの集合を連結する。
fill
is true, the path segments are
constructed in such a way as to make them suitablefor filling or clipping
via the FillPath or one of theClipPath operators.
]]>
FillPathによる塗りつぶ(潰し)し又はClipPath演算子群のいずれかのよるクリップに適したパスセグメントが構築される。
fill is false, the path segments
areconstructed in such a way as to make them suitable only for being
stroked viathe StrokePath operator.
]]>
StrokePath演算子による線引きに適したパ
スセグメントが構築される。
CurrentPositionGraphics State Variable is set to the end
point of the last generated path segmentadded to the
CurrentPath.
]]>
作図状態変数CurrentPositionの値は、最後に生成されたCurrentPathに追加されたパスセグメントの終点となる。
StrokePath operator to a path
suitablefor filling, or of applying the FillPath or one of
thetwo ClipPath operatorsto a path suitable for stroking, is not
defined by this International Standardand may result in an exception being
raised.
]]>
StrokePath演算子を塗りつぶ(潰)しに適したパスに適用した場合、又はFillPath演算子若しくは2種類の ClipPath演算子のうちの一
つを線引きに適したパスに適用した場合の結果は、この規格では定義しない。この場
合、例外が発生してもよい。
CurrentPath
is the null path, RaiseError
shall be invoked withNoCurrentPosition as its operand.
]]>
CurrentPathが空パスの場合、
NoCurrentPositionをオペランドとして
RaiseErrorを実行する。
LineTo
LineToimaging operator takes two operands
]]>
LineTo演算子は、次に示す2個のオペランドをとる。
<<
]]>
<<
結果は返さない。
CurrentPath
and whose end point has UCS coordinates(x,
y), tothe CurrentPath Graphics State Variable.
]]>
LineTo演算子は、CurrentPathの最後のパスセグメン
トの終点を始点とし、ユーザ座標(x, y)をもつ点を終点とする線分から
なる新しいパス要素を作図状態変数CurrentPathに連結する。
CurrentPositionGraphics State Variable is set to that end
point.
]]>
作図状態変数CurrentPositionの値は、生成されたパス要素の終点
となる。
CurrentPath
is the null path, RaiseError
shall be invoked withNoCurrentPositionas its operand.
]]>
CurrentPathが空パスの場合、
NoCurrentPositionをオペランドとして
RaiseErrorを実行する。
LineToRelative
LineToRelative imaging operator takes two operands
]]>
LineToRelative演算子は、次に示す2個のオペランドをとる。
<<
]]>
<<
結果は返さない。
cpsx, cpsy) is the UCS point which correspondsto the end
point of the last segment of the
CurrentPath, LineToRelative appends a new path element
to the lastsegment of the CurrentPath consistingof a straight
line segment, whose start point is the end point of the last pathsegment of
the CurrentPath and whose end point has
UCScoordinates(cpsx+x, cpsy+ y).
]]>
(cpsx, cpsy)が
現パスの最後のセグメントの終点のユーザ座標系に
おける点である場合、CurrentPath
の最後のセグメントの終点を始点とし、
ユーザ座標系での点
(cpsx+x, cpsy+y)を終点とする
線分からなる新しいパス要素を
CurrentPathの最後の要素に連結する。
CurrentPositionGraphics State Variable is set to that end
point.
]]>
作図状態変数CurrentPositionは、生成されたパス要素のその終点
となる。
CurrentPath
is the null path, RaiseError
shall be invoked withNoCurrentPosition as its operand.
]]>
CurrentPathが空パスの場合、
NoCurrentPositionをオペランドとして
RaiseErrorを実行する。
NewPath
NewPath operator takes no operands and returns no results.
]]>
NewPath演算子はオペランドをとらず、結果を返さない。
CurrentPath
to the null
path,and makesthe value of the CurrentPosition Graphics State
Variableundefined.
]]>
NewPath演算子は作図状態変数CurrentPathを
空パスにし、作図状態変数CurrentPositionの値を未定義にする。
OutlineStroke
OutlineStroke imaging operator takes no operands and
returns no results.
]]>
OutlineStroke演算子はオペランドをとらず、結果を返さない。
CurrentPath
Graphics State
Variable with a path that exactly encloses the shape that wouldresult if
the StrokePath operator were applied to
theCurrentPath.
]]>
OutlineStroke演算子は、作図状態変数CurrentPathの
値を、CurrentPathにStrokePath演算子を適用した場合に
結果として生じる形状をすきまなく包むパスによって置換する。
OutlineStroke is suitable as the
implicit operand to FillPath or ClipPath.
]]>
OutlineStrokeの結果として生じるパスは、FillPath又
はClipPathに対する暗黙のオペランドとするのに適している。
StrokePath,as it
may contain interior path elements or disconnected path segments that are
produced by OutlineStroke's stroke to outline conversion
process.
]]>
一般に、このパスは、StrokePathを適用するには適していない。な
ぜなら、それはOutlineStrokeによる線引きされた線から輪郭線への変換
プロセスによって生じた内部パス要素又は接続されていないパスセグメントを含んで
いる可能性があるからである。
OutlineStrokeapplied to the CurrentPathwould
not affect the pageimage, then the CurrentPath is set to the
null path,and the value of the CurrentPosition Graphics
StateVariable shall be undefined.
]]>
OutlineStrokeをCurrentPathに適用してもページ画
像に影響を与えない場合、CurrentPathを空パスにし、作図状態変数CurrentPositionの値を未定義にする。
SetPath
SetPath imaging operator takes one operand
]]>
SetPath演算子は、次に示す1個のオペランドをとる。
<
]]>
<
結果は返さない。
CurrentPath
Graphics State Variable
to a reference to a copy of the Path referenced bypath.
]]>
SetPath演算子は、
pathが参照するパスの複製への参照を、
作図状態変数CurrentPathの値として設定する。
CurrentPosition Graphics State Variable is set tothe end
point of the last path segment of the Path referenced bypath.
]]>
作図状態変数CurrentPositionの値は、pathが参照する
パスの最後のパスセグメントの終点となる。
線引き及び塗りつぶ(潰)しの演算子
では、パスによって記述された領域を線引きするため、
又は塗りつぶ(潰)すために用いられる演算子について述べる。
これら演算子及びその意味に関する規定には、演算子を解釈した結果として内容
例外を発生させる条件についての規定をも含む。
.
]]>
内容例外及び例外処理についてはで定義する。
演算子固有の例外に加え、ほとんどどの演算子の解釈時にも発生しうる共通的な
例外もある。
.
]]>
このような共通例外及びその意味についてはで述べる。
FillPath
FillPath imaging operator accepts no operands
andreturnsno results.
]]>
FillPath演算子はオペランドをとらず、結果は返さない。
CurrentPath
Graphics State Variable.
]]>
この演算子は、作図状態変数CurrentPathを用いて定義されたマスクを用い
て作画操作を実行する。
CurrentPathto the null path and makes
the CurrentPositionGraphics State Variable be undefined.
]]>
この演算子は、CurrentPathの値を空パスにし、作図状態変数CurrentPositionの値を未定義にする。
FillPath
implicitlycloses any open path segments and defines a mask which
includesthe interior and boundary of the resulting shape determined
accordingto the non-zero winding rule.
]]>
作画操作実行において、FillPathは暗黙のうちにすべての開パスセ
グメントを閉じ、非ゼロ巻数規則によって決まる形状の内部及び境界を含むマスクを
定義する。
CurrentColor
and
CurrentClippingRegionto add an image element to the current page
image.
]]>
このマスクは次に CurrentColor及び CurrentClippingRegionとともに、1個の作画要素を現ページ像に追加するのに用いられる。
FillPath operator when the
CurrentPathconsists of a single line segment is equivalent to
{0 SetStrokeWidth StrokePath}.
]]>
CurrentPathが単一の線分からなる場合に
FillPath演算子を実行した場合の効果は、
{0 SetStrokeWidth StrokePath}
と等価となる。
FillPathEvenOdd
FillPathEvenOdd imaging operator accepts no operands
and returns no results.
]]>
FillPathEvenOdd演算子はオペランドをとらず、結果を返さない。
CurrentPath
Graphics State Variable.
]]>
この演算子は、作図状態変数CurrentPathを用いて定義されたマスクを用い
た作画操作を実行する。
CurrentPathto the null path and makes
the CurrentPositionGraphics State Variable be undefined.
]]>
この演算子は、CurrentPathの値を空パスにし、作図状態変数CurrentPositionの値を未定義にする。
FillPathEvenOddimplicitly closes any openpath segments and
defines a mask which includes the interior and boundary ofthe resulting
shape determinedaccording to the even/odd winding rule.
]]>
作画操作実行において、FillPathEvenOddは暗黙のうちにすべての開
パスセグメントを閉じ、奇偶巻数規則によって決まる形状の内部及び境界を含むマス
クを定義する。
CurrentColor
and
CurrentClippingRegion to add animage element to the current page
image.
]]>
このマスクは次に CurrentColor及び CurrentClippingRegionとともに1個の作画要素を現ページ像に追加するのに用いられる。
FillPathEvenOdd operator when
theCurrentPath consists of a single line segment is equivalentto
{0 SetStrokeWidth StrokePath}.
]]>
CurrentPathが単一の線分からなる場合に
FillPathEvenOdd演算子を実行した場合の効果は、
{0 SetStrokeWidth StrokePath}と等価となる。
StrokePath
StrokePath imaging operator accepts no operands and
returns no results.
]]>
StrokePath演算子はオペランドをとらず、結果を返さない。
CurrentPath
,
CurrentDashPattern, CurrentMiterLimit,
CurrentStrokeAdjust, CurrentStrokeWidth,
CurrentStrokeJoin,and CurrentStrokeEndas specified
below.
]]>
この演算子は、CurrentPath、CurrentDashPattern、Curre
ntMiterLimit、CurrentStrokeAdjust、
CurrentStrokeWidth、CurrentStrokeJoin及びCurrentStrokeEnd
によって定義されるマスクを用いて、次に示すとおりに作画操作を実行する。
CurrentPathto the null path and makes
the CurrentPositionGraphics State Variable be undefined.
]]>
この演算子は、CurrentPathの値を空パスにし、
作図状態変数CurrentPositionの値を未定義にする。
StrokePath
constructs a
mask in the UserCoordinate Space, transforms the mask to ReferenceCoordinate Space using theCurrentTransformation, and paints an
image element using this mask, the CurrentColor, and
theCurrentClippingRegion.
]]>
作画操作を実行する過程で、
StrokePath演算子は、
ユーザ座標空間中にマスクを構成し、
そのマスクをCurrentColor
及びCurrentClippingRegionを用いて、
1個の作画要素を描く。
StrokePath
]]>
これらの機能を実行する過程で、StrokePath演算子は次に示す処理を行う。
-
下に記述するとおり、ユーザ座標空間中に形状を構成する。
-
この形状を、
次のものを用いて、基本作画操作を実行する。
-
上記形状をその内部及び境界とするマスク
-
CurrentClipRegion
破線パターンの例
solid
line
or a dashedline along each of the path segments,
depending on the value ofCurrentDashPattern (see ).
]]>
第2ステップで構成される形状は、各パスセグメントに沿い、CurrentDashPatternの値に依存して、実線又は破線となる(参照)。
CurrentDashPattern is theempty
Vector, the shape is constructed by
]]>
CurrentDashPatternのベクタ要素が空ベクタの場合、形状は次のとお
り構成される。
-
各パスセグメントの幅を一様な) to the ends of each path segment;
]]>
各パスセグメントの終端にCurrentStrokeEnd>で指定された終端形状を適用する
(参照)。
- CurrentStrokeJoin
(as shown in ),
and possibly as modified by CurrentMiterLimit
(see ) to connection points of a path
segment.
]]>
パスセグメントの接続部分に、
参照)を適用し、
これをできる限り参照)。
CurrentStrokeWidth
Graphics State
Variableis 0, the actual stroke width used is the smallest width the
presentation deviceis capable of producing.
]]>
作図状態変数CurrentStrokeWidthの値が0の場合、
実際に使われる線幅は、提示装置が生成できる最小幅となる。
CurrentStrokeWidth
if the value of
theCurrentStrokeAdjust Graphics State Variable is true;
]]>
実際の線幅は、作図状態変数CurrentStrokeAdjustの値が真の場合
、CurrentStrokeWidthと異なってもよい。
CurrentStrokeAdjust is true, the strokewidth
and the coordinates of a stroke are automatically adjusted as necessaryto
produce lines of uniform thickness, and whose widths are no more
than±half a pixel different from the requested width (as determined
by the valueof the CurrentStrokeWidth Graphics State Variable).
]]>
CurrentStrokeAdjustの値が真の場合、線幅及び線引きの座標は、一
様な幅の線を生成することができるように自動的に調整される。その線の幅は要求さ
れた線の幅(作図状態変数CurrentStrokeWidthの値によって決まる)と
1画素の半分以上異なることはない。
CurrentDashPattern
isnon-empty,
a newpath is constructed in User Coordinate System and a shape is
constructed usingthat path as described above.
]]>
CurrentDashPatternのベクタ要素が空でない場合、ユーザ座標系に
新しいパスが生成され、一つの形状がそのパスを用いて構築される。
CurrentDashPattern
Graphics
StateVariable is
]]>
作図状態変数CurrentDashPatternの値が
<
]]>
<
CurrentPath
to User Coordinate System generated in the first
step as follows:
]]>
である場合、新しいパスは、
第1ステップで生成した、
CurrentPathをユーザ座標系に変換した結果を、
次に示すとおりに処理することによって得られる。
is the angle of the intersection of thetwo
path elements.
]]>
ここで、
長方形の塗りつぶ(潰)し及び線引きの演算子
パスの定義と、その線引き又は塗りつぶ(潰)しとを組み合わせた演算子が二つある。
RectangleFill
RectangleFill imaging operator takes four operands
]]>
RectangleFill演算子は、次に示す4個のオペランドをとる。
<<<<
]]>
<<<<
結果は返さない。
CurrentPath
Graphics State Variable or
theCurrentPosition Graphics State Variable.
]]>
この演算子は、一つのパスセグメントによって新たな閉長方形を生成し、
それを塗りつぶ(潰)し、パスを破壊する。
ただし、この過程で作図状態変数CurrentPath及び
CurrentPositionのどちらについても、
読み出しも変更もしない。
height
and width are
positive, theRectangleFill operator is equivalent to the
following procedure:
]]>
height及びwidthが正であるという仮定のもと
では、RectangleFill演算子は、次の手続きと等価となる。
扱いをどうするか
{
SaveGraphicsState
% 長方形を作るための新しいパスを開始する
NewPath
% 1隅に位置付ける
x y SetPosition
% 二つの隅へ線を引く
width 0 LineToRelative
0 height LineToRelative
% 残りの2辺を付け加える
width Negate 0 LineToRelative
ClosePathSegment
% 結果を塗りつぶ(潰)す
FillPath
% 長方形のパスの軌跡を消去する
RestoreGraphicsState
}
RectangleStroke
RectangleStroke imaging operator takes either four operands
]]>
RectangleStroke演算子は、次に示す4個のオペランド
<<<<
]]>
<<<<
又は次に示す5個のオペランドをとる。
<<<<<
]]>
<<<<<
結果は返さない。
CurrentPath
Graphics State Variable or
theCurrentPositionGraphics State Variable.
]]>
この演算子は、1個のパスセグメントによって新たな閉長方形を生成し、
それを塗りつぶ(潰)し、パスを破壊する。
ただし、この過程で作図状態変数CurrentPath及び
CurrentPositionのいずれについても
読み出しも変更もしない。
matrix
operand is present, the
RectangleStrokeoperator concatenates atrix to the CTM
after definingthe rectangular path, but before stroking that path.
]]>
RectangleStroke演算子は、
長方形のパスを定義した後、ただし、パスを塗りつぶ(潰)す前に、
CTM = Current Transformation Matrix ?
matrixapplies to the strokewidth and dash pattern, if
any, but not to the path itself.
]]>
height and width are
positive, theRectangleStroke operator is equivalent to the
followingprocedure:
]]>
RectangleStroke演算子は、次の手続きと等価となる。
扱いをどうするか
{
SaveGraphicsState
% 長方形を作るための新しいパスを開始する
NewPath
% 1隅に位置付ける
x y SetPosition
% 他の隅へ線を引く
width 0 LineToRelative
0 height LineToRelative
% 残りの2辺を付け加える
width Negate 0 LineToRelative
ClosePathSegment
matrix operand present]]>
% CTM = Current Transformation Matrix ?
matrix Concat
% 残りの2辺を付け加える
StrokePath
% 長方形のパスの軌跡を消去する
RestoreGraphicsState
}
作図状態変数演算子
この節では、線引き及び塗りつぶ(潰)しプロセスのさまざまなパラメタを制御する作図状態
変数の値を得たりそれに影響を与えるために用いられる演算子について記述する。
GetDashPattern
GetDashPattern operator takes no operands and returns
two results
]]>
GetDashPattern演算子はオペランドをとらず、次に示す2個の結果を返す。
<<
]]>
<<
pattern
is a reference to a Vector in which the
elements areof type Number and the two results together form the
current value ofthe CurrentDashPatternGraphics State Variable in
the Graphics State.
]]>
ここで pattern は、要素が数型であるベクタへの参照であり、その二つの結果は
組となって、作図状態における作図状態変数CurrentDashPatternの現
在の値を構成する。
GetMiterLimit
GetMiterLimit operator takes no operands and returns
one result
]]>
GetMiterLimit演算子は、オペランドをとらず、次に示す1個の結果
を返す。
<
]]>
<
limit
is the value of the
CurrentMiterLimitGraphics State Variable in the Graphics State.
]]>
ここでlimitはグラフィックス状態における作図状態変数CurrentMiterLimitの値である。
GetStrokeAdjust
GetStrokeAdjust operator takes no operands and returns
one result
]]>
GetStrokeAdjust演算子はオペランドをとらず、次に示す1個の結果
を返す。
<
]]>
<
adjust
is the value of the
CurrentStrokeAdjustGraphics State Variable in the Graphics
State.
]]>
ここで adjustはグラフィック状態における作図状態変数CurrentStrokeAdjustの値である。
GetStrokeEnd
GetStrokeEnd operator takes no operands and returns
one result
]]>
GetStrokeEnd演算子はオペランドをとらず、次に示す1個の結果を
返す。
<
]]>
<
end
is the value of the
CurrentStrokeEndGraphics State Variable in the Graphics State.
]]>
ここで、CurrentStrokeEnd
の値とする。
GetStrokeJoin
GetStrokeJoin operator takes no operands and returns
one result
]]>
GetStrokeJoin演算子はオペランドをとらず、次に示す1個の結果を
返す。
<
]]>
<
join is the value of the
CurrentStrokeJoinGraphics State Variable in the Graphics State.
]]>
ここで、CurrentStrokeJoinの値とする。
GetStrokeWidth
GetStrokeWidth operator takes no operands and returns
one result
]]>
GetStrokeWidth演算子はオペランドをとらず、1個の結果を返す。
<
]]>
<
width
is the value of the
CurrentStrokeWidthGraphics State Variable in the Graphics State.
]]>
ここでCurrentStrokeWidthの値である。
SetMiterLimit
SetMiterLimit operator takes one operand
]]>
SetMiterLimit演算子は、次に示す1個のオペランドをとる。
<
]]>
<
結果は返さない。
CurrentMiterLimit
Graphics State Variableto
x, where x shall have valuegreater than or equal to
1.
]]>
この演算子は、CurrentMiterLimitの値として設定する。
ここで、CurrentMiterLimitis defined in .
]]>
CurrentMiterLimitの効果はで定義される。
SetStrokeAdjust
SetStrokeAdjust operator takes one operand
]]>
SetStrokeAdjust演算子は次に示す1個のオペランドをとる。
<
]]>
<
結果は返さない。
CurrentStrokeAdjustGraphics State
Variableto the value of adjust.
]]>
この演算子は、CurrentStrokeAdjustの値として設定する。
CurrentStrokeAdjustis defined in the semantics
of the StrokePath operator.
]]>
SetStrokeAdjust>演算子の効果は、StrokePath演算子の意味によっ
て定義する。
SetStrokeEnd
SetStrokeEnd operator takes one operand
]]>
SetStrokeEnd演算子は次に示す1個のオペランドをとる。
<
]]>
<
n = 0, 1, or 2, and returns no results.
]]>
ここで、n = 0、1又は2とする。結果は返さない。
CurrentStrokeEndGraphics State Variable to one of
the following as shown in .
]]>
この演算子は、に示す値のいずれかを、
作図状態変数CurrentStrokeEndに設定する。
Valuestroke ends
0
0 - 断ち切り型終端を選択する。
線引きはパスの終点で四角く切り落とされる。パスを越えての突出はない
1
1 - 丸型終端を選択する。
ライン幅に等しい直径の円が終点の回りに描かれそれが塗りつぶ(潰)される。
2
2 - 突出部のある角型終端を選択する。
線引きはパスの終点をライン幅の半分だけ越えて続き、四角く切り落とされる。
CurrentStrokeEnd
on the mask generatedby
StrokePath is shown in .
]]>
StrokePath演算子が生成するマスクに対する
CurrentStrokeEndの効果を、に示す。
終端形状
SetStrokeJoin
SetStrokeJoin operator takes one operand
]]>
SetStrokeJoin演算子は次の1個のオペランドをとる。
<
]]>
<
ここで、n = 0、1又は2とする。結果は返さない。
CurrentStrokeJoin
Graphics State Variable to one of
the following as shown in .
]]>
この演算子は、に示す値のいずれかを、
作図状態変数CurrentStrokeJoinに設定する。
扱いをどうするか
Valuemiter join
0
マイタ接続を選択する。
線引きの外側の辺はそれらがぶつかるまで延長される。
1
丸型接続を選択する。
CurrentStrokeWidthis drawn
around the point where the path elements connect and is filledin
]]>
ライン幅に等しい直径の円がセグメントが出会う点の周囲に描かれ塗りつぶ(潰)される。
2
べベル接続を選択する。
ぶつかるセグメントは断ち切り型終端で終了する。
そしてその結果できるセグメントの終端を越えた部分の段が三角形で塗
りつぶ(潰)される。
CurrentStrokeJoin
on the mask generated by
StrokePathis shown in .
]]>
StrokePath演算子が生成するマスクに対する、
CurrentStrokeJoinの効果を、に示す。
接続形状
SetStrokeWidth
SetStrokeWidth operator takes one operand
]]>
SetStrokeWidth演算子は1個のオペランドをとる。
<
]]>
<
結果は返さない。
CurrentStrokeWidth
Graphics State Variable
to x.]]>
この演算子は、CurrentStrokeWidth
の値として設定する。
CurrentStrokeWidthis defined by
theStrokePath operator.
]]>
CurrentStrokeWidthの効果は、
StrokePath演算子が定義する。