MS Shell Dlg 및 MS Shell Dlg 2 사용
Windows는 여러 언어에 대해 지역화된 버전에서 사용할 수 있습니다. 그러나 영어 버전은 영어 이외의 언어로 작성된 애플리케이션을 실행하는 데도 사용할 수 있습니다. 애플리케이션이 그리스어 또는 일본어로 작성된 경우와 같이 이러한 언어에 사용되는 스크립트가 다른 경우에도 마찬가지입니다. 이러한 애플리케이션에는 현재 Windows 사용자 인터페이스에서 사용되는 언어와 다를 수 있는 애플리케이션 언어로 정보를 제공하는 대화 상자, 아이콘 및 유틸리티가 있는 사용자 인터페이스가 필요합니다.
사용자 인터페이스의 글꼴을 선택하는 데 문제가 있음은 분명합니다. 예를 들어 영어(미국) Windows 98의 경우 시스템 또는 기본 글꼴이라고도 하는 셸 글꼴은 MS Sans Serif이고 그리스어(그리스) Windows 98의 셸 글꼴은 MS Sans Serif 그리스어입니다. 일본어(일본) Windows 98의 경우 셸 글꼴은 MS UI Gothic입니다. 이러한 문자 집합은 서로 직접 매핑할 수 없습니다. 로캘이 그리스어(그리스)로 설정된 경우 MS Sans Serif를 MS Sans Serif 그리스어로 바꾸면 기존 애플리케이션이 적절하게 실행되거나 시스템 메뉴, 대화 상자 및 편집 컨트롤에 그리스 문자를 표시할 수 없습니다.
Windows는 MS Shell Dlg 및 MS Shell Dlg 2 논리 글꼴을 사용하여 스크립트 표시에 적합한 글꼴을 선택할 수 있도록 하여 이 문제를 해결합니다. 이 섹션에서는 지원되는 모든 Windows 운영 체제 및 모든 언어에 잘 표시되는 유연한 사용자 인터페이스에 대해 논리 글꼴을 사용하여 대화 상자, 메뉴 등을 구현하기 위한 몇 가지 프로그래밍 고려 사항을 다룹니다. 자세한 내용은 글꼴 만들기 및 선택을 참조하세요. 다국어 애플리케이션에 대한 사용자 인터페이스를 만드는 데 MUI(다국어 사용자 인터페이스) 기술을 사용하는 방법에 대한 자세한 내용은 다국어 사용자 인터페이스를 참조하세요.
논리 글꼴 정보
MS Shell Dlg 및 MS Shell Dlg 2 논리 글꼴은 기본적으로 코드 페이지 1252, 미국 및 서유럽에 대해 설정된 Windows 문자 집합에 포함되지 않은 문자가 있는 로캘/문화권을 지원하기 위해 매핑에 사용되는 얼굴 이름입니다. MS Shell Dlg는 현재 문화권/로캘과 연결된 기본 셸 글꼴에 매핑되며 클래식 Windows 데스크톱 모양을 지원합니다. MS Shell Dlg 2 얼굴 이름은 Windows 2000에서 도입된 모양을 지원하기 위해 Windows 2000에서 도입되었습니다.
예를 들어 애플리케이션이 대화 상자에 MS Shell Dlg 또는 MS Shell Dlg 2를 사용하는 경우 애플리케이션에 대한 그리스어 리소스를 만드는 지역화 팀이 텍스트 번역에 집중할 수 있습니다. 그들은 MS 산세리프와 MS 산세리프 그리스어 사이의 구별과 같은 문제에 관심을 가질 필요가 없습니다.
참고
MS Shell Dlg 및 MS Shell Dlg 2에서 생성된 글꼴은 다른 Windows 버전에서 다릅니다. 따라서 사용자 인터페이스 요소가 모든 플랫폼에서 잘 표시되는지 확인해야 합니다.
Hard-Coded 글꼴 이름 처리
유니코드를 사용하면 애플리케이션이 수천 개의 다른 문자를 처리할 수 있지만 대부분의 글꼴은 모든 유니코드 문자 집합을 다루지 않습니다. 애플리케이션에서 글꼴 이름을 하드 코드하면 안 됩니다. 한 가지 이유는 다른 언어의 문자가 아닌 한 언어의 문자를 표시하는 글꼴 이름을 하드 코딩하면 두 번째 언어의 모든 지역화된 텍스트가 잘못 표시되므로 입니다. 글꼴 이름을 하드 코드하지 않는 또 다른 이유는 원하는 글꼴이 애플리케이션 텍스트를 표시하는 운영 체제에 로드되지 않을 수 있기 때문입니다.
글꼴 이름을 처리하는 가장 좋은 방법은 지역화 가능한 리소스로 간주하는 것입니다. 논리 글꼴을 사용하면 모든 언어에 대해 Windows NT 또는 Windows 2000에서 모든 언어를 사용하여 인터페이스를 실행하는 문제를 해결합니다. 글꼴 이름을 지역화 가능한 리소스로 설정하면 지역화된 사용자 인터페이스의 글꼴을 지역화할 수 있습니다.
Hard-Coded 글꼴 크기 처리
일부 스크립트는 복잡하며 제대로 표시하려면 많은 수의 픽셀이 필요합니다. 예를 들어 대부분의 영어 문자는 5x7 표에 표시되지만 일본어 문자는 16x16 그리드를 명확하게 표시해야 합니다. 중국어에는 24x24 그리드가 필요하지만 태국어의 너비는 8픽셀만 필요하지만 높이에는 22픽셀 이상이 필요합니다. 일부 문자는 작은 글꼴 크기로 읽을 수 없다는 것을 쉽게 이해할 수 있습니다.
애플리케이션 사용자 인터페이스는 글꼴 크기를 지역화 가능한 리소스로 처리해야 합니다. 논리 글꼴을 사용하면 모든 언어에 대해 Windows NT 또는 Windows 2000에서 모든 언어를 사용하여 인터페이스를 실행하는 문제를 해결합니다. 글꼴 크기를 지역화 가능한 리소스로 설정하면 지역화된 사용자 인터페이스의 글꼴을 지역화할 수 있습니다.
논리 글꼴 매핑
각 논리 글꼴은 레지스트리의 항목에 의해 현재 활성 로캘에 적합한 셸 글꼴로 매핑됩니다. 논리 글꼴 중 하나를 사용하는 경우 Windows는 런타임에 현재 선택한 로캘의 글꼴로 전환합니다. 이 작업을 사용하면 코드 페이지 1252에 없는 문자뿐만 아니라 영어(미국) Windows 사용자 인터페이스를 올바르게 표시할 수 있습니다. 따라서 현재 현지화된 애플리케이션은 수정 없이 영어(미국) 버전의 Windows에서 실행할 수 있습니다.
각 Windows 컴퓨터는 NLS 용어에 설명된 유니코드가 아닌 프로그램에 대해 정의된 언어를 기반으로 MS Shell Dlg 및 MS Shell Dlg 2를 적절한 물리적 글꼴에 매핑합니다. 실제 매핑은 레지스트리 키 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\FontSubstitutes 저장됩니다.
Windows Me/98/95의 글꼴 매핑
MS Shell Dlg는 일반적으로 코드 페이지별 버전의 MS Sans Serif에 매핑됩니다.
Windows NT 4.0의 글꼴 매핑
MS Shell Dlg는 키릴 자모 스크립트를 사용하여 서유럽 및 중부 유럽, 그리스어, 터키어, 발트어 및 언어에 대한 MS Sans Serif에 매핑됩니다. 일본어용 MS UI 고딕; 한국어용 굴림; 간체 중국어용 Simsun; 중국어 번체용 PMinglu; 등.
Windows 2000, Windows XP, Windows Server 2003, Windows Vista 및 Windows 7의 글꼴 매핑
두 논리 글꼴은 모두 유니코드 기반 TrueType 글꼴에 매핑됩니다. MS Shell Dlg는 설치 언어가 일본어가 아닌 경우 Microsoft Sans Serif(MS Sans Serif와 고유)를 사용합니다. MS Shell Dlg는 설치 언어가 일본어인 경우 MS UI Gothic에 매핑됩니다.
Windows XP MUI 시스템에서 MS Shell Dlg는 시스템 로캘 및 UI 언어가 일본어로 설정된 경우에만 MS UI Gothic에 매핑됩니다. 그렇지 않으면 MS Shell Dlg가 Microsoft Sans Serif에 매핑됩니다.
Windows Vista 및 Windows 7에서 MS Shell Dlg는 설치 언어에 관계없이 컴퓨터 기본 UI 언어가 일본어로 설정된 경우 MS UI Gothic에 매핑됩니다. 컴퓨터 기본 UI 언어가 일본어 이외의 언어로 설정된 경우 MS Shell Dlg는 Microsoft Sans Serif에 매핑됩니다.
MS Shell Dlg 2는 언어에 관계없이 타호마 글꼴을 사용합니다. 타호마가 Microsoft Sans Serif보다 기본 장점은 타호마가 네이티브 굵은 글꼴 얼굴을 가지고 있다는 것입니다. 기본 단점은 이전 운영 체제가 설치되지 않았을 수 있으며 덜 매력적인 글꼴을 대체할 수 있다는 것입니다.
Tahoma 또는 Microsoft Sans Serif에서 구현되지 않은 문자는 사용자 인터페이스의 텍스트 표시에 사용되는 다른 Windows 글꼴에서 구현될 수 있습니다. 텍스트를 표시하는 데 사용되는 컨트롤 또는 API에 따라 시스템에서 글꼴 연결 과 같은 다양한 메커니즘을 사용하여 해당 문자를 표시하기 위해 이러한 글꼴을 자동으로 선택할 수 있습니다.
애플리케이션은 Microsoft Sans Serif 또는 Tahoma를 명시적으로 사용하고 MS Shell Dlg 또는 MS Shell Dlg 2 사용과 관련된 간접 참조 수준을 저장할 수 있습니다. 글꼴 연결로 인해 Microsoft Sans Serif 또는 Tahoma를 지정하면 모든 언어에 적절한 문자 모양이 제공됩니다.
Windows Me/98/95에서 영어 이외의 애플리케이션에 MS Shell Dlg 사용
Windows Me/98/95에서 MS Shell Dlg는 사용자가 다른 Windows 기본 문자 집합이 있는 로캘을 선택한 경우 실행되는 영어가 아닌 정적 사용자 인터페이스 애플리케이션에서 사용하기 위한 것이 아닙니다. 이 경우 애플리케이션 사용자 인터페이스 언어는 MS Shell Dlg로 대체되는 글꼴로 지원되지 않을 수 있습니다.
예를 들어 사용자가 독일어 버전의 Windows를 사용하고 유니코드가 아닌 그리스어 애플리케이션을 설치하려는 경우 사용자는 로캘을 그리스어(그리스)로 변경하려고 시도합니다. 이 작업은 MS Shell Dlg를 그리스어 글꼴로 다시 설정하지만 이 글꼴에는 독일어로 표시하는 데 필요한 문자 모양이 모두 포함되어 있지 않습니다. 따라서 독일어 사용자 인터페이스의 ASCII가 아닌 문자는 제대로 표시되지 않습니다. 이 시나리오를 지원하려면 애플리케이션에서 MS Shell Dlg를 서유럽 문자 모양과 그리스 문자 모양을 모두 포함하는 글꼴로 설정해야 합니다.
관련 항목