JavaTM Platform
Standard Ed. 6

java.awt.color
클래스 ICC_ColorSpace

java.lang.Object 
  상위를 확장 java.awt.color.ColorSpace 
      상위를 확장 java.awt.color.ICC_ColorSpace
모든 구현된 인터페이스:
Serializable


public class ICC_ColorSpace
extends ColorSpace

ICC_ColorSpace 클래스는, ColorSpace abstract 클래스의 구현입니다. 디바이스비의존 및 디바이스 의존의 칼라 스페이스의 이 표현은, International Color Consortium Specification ICC. 1:2001-12, File Format for Color Profiles 의 스펙에 근거하고 있습니다 (http://www.color.org 를 참조).  

일반적으로, Color 또는 ColorModel 는, 입력, 표시, 또는 출력 프로파일의 어떤 것인가인 ICC 프로파일에 관련하고 있습니다 (ICC 스펙을 참조). 다른 종류의 ICC 프로파일에는, 예를 들어 추상 프로파일, 디바이스 링크 프로파일, 및 이름 첨부 칼라 프로파일등이 있어, 그것들은 칼라, 이미지, 디바이스등의, 칼라 스페이스를 나타내는데 적절한 정보를 포함하지 않습니다 (ICC_Profile 를 참조). 올바르지 않은 ICC 프로파일로부터 ICC_ColorSpace 객체를 작성하려고 하면(자) 에러가 됩니다.

ICC 프로파일은, 프로파일 (모니터등)의 칼라 스페이스로부터 프로파일 접속 영역 (PCS)에의 변환을 나타냅니다. 이미지 또는 칼라에 태그 붙이고 하는 이 프로파일은, ICC 프로파일 형식 스펙으로 정의되고 있는 2 개의 특정의 디바이스비의존 영역 (1 개의 CIEXYZ 영역 및 2 개의 CIELab 영역)의 어느 쪽인지인 PCS 를 가집니다. 대부분의 경우, 이 프로파일은, 가역 변환을 가지는지, 양방향의 변환을 명시적으로 지정합니다. PCS 로부터 프로파일의 네이티브 영역에의 변환을 요구하는 방법으로 ICC_ColorSpace 객체가 사용되지 않으면 안되어, 그 변환을 올바르게 실행하는데 올바르지 않은 데이터가 있는 경우, ICC_ColorSpace 객체는 지정된 형태의 칼라 스페이스 (TYPE_RGB, TYPE_CMYK 등)에서 출력을 생성합니다만, 출력 데이터의 특정의 칼라치는 정의되지 않습니다.  

이 클래스의 자세한 것은, 디폴트의 칼라 스페이스에서 draw 하는지, 기존의 칼라 스페이스를 가지는 임포트 된 이미지를 조작 및 표시하는 단순한 애플릿에서는 중요하지는 않습니다. 그러한 애플릿은, ColorSpace.getInstance()를 사용해 디폴트 칼라 스페이스의 1 개를 취득할 필요가 어느 정도입니다.  

관련 항목:
ColorSpace , ICC_Profile , 직렬화 된 형식

필드의 개요
 
클래스 java.awt.color. ColorSpace 로부터 상속된 필드
CS_CIEXYZ , CS_GRAY , CS_LINEAR_RGB , CS_PYCC , CS_sRGB , TYPE_2CLR , TYPE_3CLR , TYPE_4CLR , TYPE_5CLR , TYPE_6CLR , TYPE_7CLR , TYPE_8CLR , TYPE_9CLR , TYPE_ACLR , TYPE_BCLR , TYPE_CCLR , TYPE_CMY , TYPE_CMYK , TYPE_DCLR , TYPE_ECLR , TYPE_FCLR , TYPE_GRAY , TYPE_HLS , TYPE_HSV , TYPE_Lab , TYPE_Luv , TYPE_RGB , TYPE_XYZ , TYPE_YCbCr , TYPE_Yxy
 
생성자 의 개요
ICC_ColorSpace (ICC_Profile  profile)
          ICC_Profile 객체로부터 새로운 ICC_ColorSpace 를 구축합니다.
 
메소드의 개요
 float[] fromCIEXYZ (float[] colorvalue)
          CS_CIEXYZ 변환 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.
 float[] fromRGB (float[] rgbvalue)
          디폴트의 CS_sRGB 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.
 float getMaxValue (int component)
          지정된 성분에 대해, 표준화 된 성분치의 최대치를 돌려줍니다.
 float getMinValue (int component)
          지정된 성분에 대해, 표준화 된 성분치의 최소치를 돌려줍니다.
 ICC_Profile getProfile ()
          이 ICC_ColorSpace 의 ICC_Profile 를 돌려줍니다.
 float[] toCIEXYZ (float[] colorvalue)
          이 ColorSpace 에 있다고 생각되는 칼라치를 CS_CIEXYZ 변환 칼라 스페이스로 변환합니다.
 float[] toRGB (float[] colorvalue)
          이 ColorSpace 에 있다고 생각되는 칼라치를 디폴트의 CS_sRGB 칼라 스페이스의 값으로 변환합니다.
 
클래스 java.awt.color. ColorSpace 로부터 상속된 메소드
getInstance , getName , getNumComponents , getType , isCS_sRGB
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

ICC_ColorSpace

public ICC_ColorSpace(ICC_Profile  profile)
ICC_Profile 객체로부터 새로운 ICC_ColorSpace 를 구축합니다.

파라미터:
profile - 지정된 ICC_Profile 객체
예외:
IllegalArgumentException - 프로파일이 ColorSpace 를 표현하는데 올바르지 않은 경우
메소드의 상세

getProfile

public ICC_Profile  getProfile()
이 ICC_ColorSpace 의 ICC_Profile 를 돌려줍니다.

반환값:
이 ICC_ColorSpace 의 ICC_Profile

toRGB

public float[] toRGB(float[] colorvalue)
이 ColorSpace 에 있다고 생각되는 칼라치를 디폴트의 CS_sRGB 칼라 스페이스의 값으로 변환합니다.  

이 메소드에서는, 입력과 출력의 색이 가장 지각적으로 가까운 색을 작성할 수 있도록(듯이) 설계된 알고리즘을 사용해, 칼라치를 변환합니다. 칼라치를 비색 변환하려면 , 이 칼라 스페이스의 toCIEXYZ 메소드를 사용해, 최초로 입력 칼라 스페이스로부터 CS_CIEXYZ 칼라 스페이스로 변환해, 다음에 CS_sRGB 칼라 스페이스의 fromCIEXYZ 메소드를 사용해, CS_CIEXYZ 를 출력 칼라 스페이스로 변환합니다. 상세한 것에 대하여는 toCIEXYZfromCIEXYZ 를 참조해 주세요.  

정의:
클래스 ColorSpace 내의 toRGB
파라미터:
colorvalue - 이 ColorSpace 의 성분수와 적어도 같은 길이의 float 배열
반환값:
길이가 3 의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가, 이 ColorSpace 의 성분수보다 작은 경우

fromRGB

public float[] fromRGB(float[] rgbvalue)
디폴트의 CS_sRGB 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.  

이 메소드에서는, 입력과 출력의 색이 가장 지각적으로 가까운 색을 작성할 수 있도록(듯이) 설계된 알고리즘을 사용해, 칼라치를 변환합니다. 칼라치를 비색 변환하려면 , CS_sRGB 칼라 스페이스의 toCIEXYZ 메소드를 사용해, 최초로 입력 칼라 스페이스를 CS_CIEXYZ 칼라 스페이스로 변환해, 다음에 이 칼라 스페이스의 fromCIEXYZ 메소드를 사용해, CS_CIEXYZ 를 출력 칼라 스페이스로 변환합니다. 상세한 것에 대하여는 toCIEXYZfromCIEXYZ 를 참조해 주세요.  

정의:
클래스 ColorSpace 내의 fromRGB
파라미터:
rgbvalue - 적어도 3 의 길이를 가지는 float 배열
반환값:
이 ColorSpace 의 성분수로 같은 길이의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가 3 보다 작은 경우

toCIEXYZ

public float[] toCIEXYZ(float[] colorvalue)
이 ColorSpace 에 있다고 생각되는 칼라치를 CS_CIEXYZ 변환 칼라 스페이스로 변환합니다.  

이 메소드는, ICC 스펙으로 정의되고 있는 상대색도 측정을 사용해 칼라치를 변환합니다. 즉, 이 메소드가 돌려주는 XYZ 의 값은 CS_CIEXYZ 칼라 스페이스의 D50 흰색점을 기준으로 해 표시됩니다. 이 표현은, 입력 칼라 스페이스로부터 CS_CIEXYZ 영역에, 다음에 출력 칼라 스페이스에 변환되는, 2 스텝의 칼라 변환 처리에 대해 편리합니다. 이 표현은, 지정된 칼라치로부터 색도계를 사용해 측정하는 XYZ 치와 같지는 않습니다. 현재 CIE 추천의 계산방법을 사용해 측정되고 있는 XYZ 치를 계산하려면 , 한층 더 상세한 변환이 필요합니다. 이하의 패러그래프로 이 내용에 대해 자세하게 설명합니다.  

ICC 기준에서는, 1 개의 디바이스로부터 다른 디바이스에 색을 변환하기 위한 기구로서 디바이스에 의존하지 않는 칼라 스페이스 (DICS)를 사용합니다. 이 아키텍쳐(architecture)에서의 색의 변환은, 전송원디바이스의 칼라 스페이스로부터 ICC DICS 에, 다음에 이 ICC DICS 로부터 출력처의 칼라 스페이스로 행해집니다. ICC 기준은, 디바이스의 칼라 스페이스와 ICC DICS 의 사이에 행해지는 변환을 포함한 디바이스 프로파일을 정의합니다. 전송원디바이스의 디바이스대 DICS 변형 프로파일을, 출력처 디바이스의 DICS 대 디바이스 변형 프로파일에 접속해, 소스 디바이스의 색으로부터 출력처 디바이스의 색에 전체적으로 변환합니다. 따라서, ICC DICS 는 공통되어 프로파일 접속 영역 (PCS)이라고 보여집니다. toCIEXYZ 메소드와 fromCIEXYZ 메소드로 사용되는 칼라 스페이스는, ICC 프로파일 형식 스펙이 정의하는 CIEXYZ PCS 입니다. 이것은 또, ColorSpace.CS_CIEXYZ 가 표현하는 칼라 스페이스와 같습니다.  

색의 XYZ 치는, 어느 흰색점을 기준으로 해 자주(잘) 표현됩니다. XYZ 치의 실제의 의미는, 그 값을 보관 유지하는 흰색점을 모른다고 이해할 수 없습니다. 이것은, 상대색도 측정으로서 알려져 있습니다. PCS 는 D50 의 흰색점을 사용하고 있으므로, PCS 의 XYZ 치는 D50 를 기준으로 하고 있습니다. 예를 들어, PCS 의 흰색점이 D50 를 기준으로 한 XYZ 치를 가진다고 하면(자), X=. 9642, Y=1. 000, Z=0. 8249 가 되도록(듯이) 정의됩니다. 이 흰색점은, 그래픽 아트의 어플리케이션으로 공통되어 사용됩니다만, 다른 어플리케이션에서는, 이 흰색점 이외의 것이 자주 사용됩니다.  

프린터나 모니터등의 디바이스의 색의 특성을 정량화하기 위해서, 특정의 디바이스의 색에 XYZ 치의 측정치를 일반화하고 있습니다. 즉, 디바이스 XYZ 의 값이라고 하는 용어는, 현재의 CIE 추천 계산을 사용하고 있는 디바이스를 측정한 XYZ 치를 나타내는데 사용되고 있다고 하는 것입니다.  

디바이스 XYZ 치와 PCS XYZ 치와의 사이에 변환하면(자), CIE 비색치에 의해 표현되고 있는, 디바이스의 칼라 스페이스와 PCS 간에서의 변환에 대응한 이 메소드로 돌려주어집니다. 이 처리에는 다양한 요인이 있습니다만, 그 중에는 그다지 중요하지 않은 것도 있습니다. 무엇보다 중요한 것은, 디바이스의 흰색점과 PCS 의 흰색점과의 차이를 처리하는데 행해지는 조정입니다. 이것을 실시하는 수많은 기술이 있어, 현재의 연구의 테마로서 논쟁을 하고 있습니다. 공통되어 사용되는 메소드에는, XYZ 슬캘링, von Kries 변환, 및 Bradford 변환등이 있습니다. 적절한 메소드는 어플리케이션 마다 다릅니다.  

무엇보다 간단한 메소드는, XYZ 슬캘링입니다. 이 메소드에서는, 모든 XYZ 디바이스치는 PCS XYZ 치에 변환됩니다. PCS 흰색점 (D50)의 해당 디바이스의 흰색점에 대한 비율을 XYZ 디바이스치에 곱셈해 변환합니다.

 
 Xd, Yd, Zd 는, 디바이스 XYZ 의 값
 Xdw, Ydw, Zdw 는, 디바이스 XYZ 의 흰색점의 값
 Xp, Yp, Zp 는, PCS XYZ 의 값
 Xd50, Yd50, Zd50 는, PCS XYZ 의 흰색점의 값
 
 Xp = Xd * (Xd50 / Xdw)
 Yp = Yd * (Yd50 / Ydw)
 Zp = Zd * (Zd50 / Zdw)
 
 

PCS 로부터 디바이스에의 변환은 이러한 식을 역전해 실시합니다.

 
 Xd = Xp * (Xdw / Xd50)
 Yd = Yp * (Ydw / Yd50)
 Zd = Zp * (Zdw / Zd50)
 
 

ICC 프로파일 형식 사용의 미디어흰색점태그는, 디바이스흰색점과 같지는 않습니다. 미디어흰색점태그는, PCS 치로 표시되어 광원아래에서 측정되는 경우에, 디바이스 광원의 XYZ 와 디바이스 미디어의 XYZ 의 차이를 표시하는데 사용됩니다. 디바이스흰색점은, 그 디바이스로 표시되는 흰색점에 대응하는 디바이스 XYZ 치로서 표시됩니다. 예를 들어, RGB 칼라 (1.0, 1.0, 1.0)를 sRGB 디바이스로 표시하면(자), 디바이스 XYZ 의 측정치는 D65 가 됩니다. 이것은, sRGB 디바이스의 ICC 프로파일 형식에서 나타내는 미디어흰색점태그의 XYZ 치와 같지는 않습니다.  

정의:
클래스 ColorSpace 내의 toCIEXYZ
파라미터:
colorvalue - 이 ColorSpace 의 성분수와 적어도 같은 길이의 float 배열
반환값:
길이가 3 의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가, 이 ColorSpace 의 성분수보다 작은 경우

fromCIEXYZ

public float[] fromCIEXYZ(float[] colorvalue)
CS_CIEXYZ 변환 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.  

이 메소드는, ICC 스펙으로 정의되고 있는 상대색도 측정을 사용해 칼라치를 변환합니다. 즉, 이 메소드가 취하는 XYZ 의 인수치는 CS_CIEXYZ 칼라 스페이스의 D50 흰색점을 기준으로 해 표시됩니다. 이 표현은, 입력 칼라 스페이스로부터 CS_CIEXYZ 영역에, 다음에 출력 칼라 스페이스에 변환되는, 2 스텝의 칼라 변환 처리에 대해 편리합니다. 이 메소드가 돌려주는 칼라치는, 색도계로 측정할 경우에 메소드에게 건네지는 XYZ 치를 생성하는 칼라치가 아닙니다. 현재 CIE 추천의 계산방법을 사용한 측정치에 대응하는 XYZ 치를 계산 끝난 경우는, 그 값이 이 메소드에게 건네지기 전에 D50 상대치로 변환할 필요가 있습니다. 이하의 패러그래프로 이 내용에 대해 자세하게 설명합니다.  

ICC 기준에서는, 1 개의 디바이스로부터 다른 디바이스에 색을 변환하기 위한 기구로서 디바이스에 의존하지 않는 칼라 스페이스 (DICS)를 사용합니다. 이 아키텍쳐(architecture)에서의 색의 변환은, 전송원디바이스의 칼라 스페이스로부터 ICC DICS 에, 다음에 이 ICC DICS 로부터 출력처의 칼라 스페이스로 행해집니다. ICC 기준은, 디바이스의 칼라 스페이스와 ICC DICS 의 사이에 행해지는 변환을 포함한 디바이스 프로파일을 정의합니다. 전송원디바이스의 디바이스대 DICS 변형 프로파일을, 출력처 디바이스의 DICS 대 디바이스 변형 프로파일에 접속해, 소스 디바이스의 색으로부터 출력처 디바이스의 색에 전체적으로 변환합니다. 따라서, ICC DICS 는 공통되어 프로파일 접속 영역 (PCS)이라고 보여집니다. toCIEXYZ 메소드와 fromCIEXYZ 메소드로 사용되는 칼라 스페이스는, ICC 프로파일 형식 스펙이 정의하는 CIEXYZ PCS 입니다. 이것은 또, ColorSpace.CS_CIEXYZ 가 표현하는 칼라 스페이스와 같습니다.  

색의 XYZ 치는, 어느 흰색점을 기준으로 해 자주(잘) 표현됩니다. XYZ 치의 실제의 의미는, 그 값을 보관 유지하는 흰색점을 모른다고 이해할 수 없습니다. 이것은, 상대색도 측정으로서 알려져 있습니다. PCS 는 D50 의 흰색점을 사용하고 있으므로, PCS 의 XYZ 치는 D50 를 기준으로 하고 있습니다. 예를 들어, PCS 의 흰색점이 D50 를 기준으로 한 XYZ 치를 가진다고 하면(자), X=. 9642, Y=1. 000, Z=0. 8249 가 되도록(듯이) 정의됩니다. 이 흰색점은, 그래픽 아트의 어플리케이션으로 공통되어 사용됩니다만, 다른 어플리케이션에서는, 이 흰색점 이외의 것이 자주 사용됩니다.  

프린터나 모니터등의 디바이스의 색의 특성을 정량화하기 위해서, 특정의 디바이스의 색에 XYZ 치의 측정치를 일반화하고 있습니다. 즉, 디바이스 XYZ 의 값이라고 하는 용어는, 현재의 CIE 추천 계산을 사용하고 있는 디바이스를 측정한 XYZ 치를 나타내는데 사용되고 있다고 하는 것입니다.  

디바이스 XYZ 치와 이 메소드가 인수로서 취하는 PCS XYZ 치와의 사이에 변환하면(자), CIE 비색치에 의해 표현되고 있는, 디바이스의 칼라 스페이스와 PCS 간에서의 변환에 대응합니다. 이 처리에는 다양한 요인이 있습니다만, 그 중에는 그다지 중요하지 않은 것도 있습니다. 무엇보다 중요한 것은, 디바이스의 흰색점과 PCS 의 흰색점과의 차이를 처리하는데 행해지는 조정입니다. 이것을 실시하는 수많은 기술이 있어, 현재의 연구의 테마로서 논쟁을 하고 있습니다. 공통되어 사용되는 메소드에는, XYZ 슬캘링, von Kries 변환, 및 Bradford 변환등이 있습니다. 적절한 메소드는 어플리케이션 마다 다릅니다.  

무엇보다 간단한 메소드는, XYZ 슬캘링입니다. 이 메소드에서는, 모든 XYZ 디바이스치는 PCS XYZ 치에 변환됩니다. PCS 흰색점 (D50)의 해당 디바이스의 흰색점에 대한 비율을 XYZ 디바이스치에 곱셈해 변환합니다.

 
 Xd, Yd, Zd 는, 디바이스 XYZ 의 값
 Xdw, Ydw, Zdw 는, 디바이스 XYZ 의 흰색점의 값
 Xp, Yp, Zp 는, PCS XYZ 의 값
 Xd50, Yd50, Zd50 는, PCS XYZ 의 흰색점의 값
 
 Xp = Xd * (Xd50 / Xdw)
 Yp = Yd * (Yd50 / Ydw)
 Zp = Zd * (Zd50 / Zdw)
 
 

PCS 로부터 디바이스에의 변환은 이러한 식을 역전해 실시합니다.

 
 Xd = Xp * (Xdw / Xd50)
 Yd = Yp * (Ydw / Yd50)
 Zd = Zp * (Zdw / Zd50)
 
 

ICC 프로파일 형식 사용의 미디어흰색점태그는, 디바이스흰색점과 같지는 않습니다. 미디어흰색점태그는, PCS 치로 표시되어 광원아래에서 측정되는 경우에, 디바이스 광원의 XYZ 와 디바이스 미디어의 XYZ 의 차이를 표시하는데 사용됩니다. 디바이스흰색점은, 그 디바이스로 표시되는 흰색점에 대응하는 디바이스 XYZ 치로서 표시됩니다. 예를 들어, RGB 칼라 (1.0, 1.0, 1.0)를 sRGB 디바이스로 표시하면(자), 디바이스 XYZ 의 측정치는 D65 가 됩니다. 이것은, sRGB 디바이스의 ICC 프로파일 형식에서 나타내는 미디어흰색점태그의 XYZ 치와 같지는 않습니다.  

정의:
클래스 ColorSpace 내의 fromCIEXYZ
파라미터:
colorvalue - 적어도 3 의 길이를 가지는 float 배열
반환값:
이 ColorSpace 의 성분수로 같은 길이의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가 3 보다 작은 경우

getMinValue

public float getMinValue(int component)
지정된 성분에 대해, 표준화 된 성분치의 최소치를 돌려줍니다. TYPE_XYZ 영역의 경우는, 모든 성분에 대해서 0.0 이라고 하는 최소치를 돌려줍니다. TYPE_Lab 영역의 경우는, L 성분에 대해서는 0.0, a 및 b 성분에 대해서는 -128. 0 을 돌려줍니다. 이것은, ICC 스펙의 XYZ 및 Lab 프로파일 접속 영역의 encode와 일치하고 있습니다. 다른 모든 형태에 대해서는, 모든 성분에 대해서 0.0 을 돌려줍니다. ICC_ColorSpace 를 사용할 경우에, 다른 최소 성분치가 필요로 하는 프로파일을 사용하는 경우는, 이 클래스를 서브 클래스화해, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

오버라이드(override):
클래스 ColorSpace 내의 getMinValue
파라미터:
component - 성분 인덱스
반환값:
표준화 된 성분치의 최소치
예외:
IllegalArgumentException - 성분이 0 보다 작은지, numComponents - 1 보다 큰 경우
도입된 버젼:
1.4

getMaxValue

public float getMaxValue(int component)
지정된 성분에 대해, 표준화 된 성분치의 최대치를 돌려줍니다. TYPE_XYZ 영역의 경우는, 모든 성분에 대해서 1.0 이라고 하는 최대치를 돌려줍니다. TYPE_Lab 영역의 경우는, L 성분에 대해서는 100.0, a 및 b 성분에 대해서는 127.0 을 돌려줍니다. 이것은, ICC 스펙의 XYZ 및 Lab 프로파일 접속 영역의 encode와 일치하고 있습니다. 다른 모든 형태에 대해서는, 모든 성분에 대해서 1.0 을 돌려줍니다. ICC_ColorSpace 를 사용할 경우에, 다른 최대 성분치를 필요로 하는 프로파일을 사용하는 경우는, 이 클래스를 서브 클래스화해, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

오버라이드(override):
클래스 ColorSpace 내의 getMaxValue
파라미터:
component - 성분 인덱스
반환값:
표준화 된 성분치의 최대치
예외:
IllegalArgumentException - 성분이 0 보다 작은지, numComponents - 1 보다 큰 경우
도입된 버젼:
1.4

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.