제발 저와 함께하시기 바랍니다. Uniscribe에 처음 이니 바보 같은 질문이 아니길 바라지 만 다른 곳에서는 해결책을 찾을 수 없었습니다. 그래서, 여기에 ...Uniscribe API를 사용하여 글꼴의 너비를 조정하는 방법
글꼴의 너비를 줄이기 위해 Uniscribe API를 사용하려고합니다. 즉 특정 높이의 특정 글꼴이있는 경우 사용자 정의 비율에 따라 각 문자의 너비 (및 모든 관련 간격)를 줄일 수 있기를 원합니다.
현재 글꼴에 대해 LOGFONT
구조를 얻고 lfWidth
필드를 원래 값의 백분율로 조정하여 Uniscribe 함수를 호출하지 않고이 작업을 성공적으로 완료했습니다. 나는 이것이 평균 문자 폭이라는 것을 알고 있지만 원하는 결과를 얻은 것으로 보입니다.
그러나 Uniscribe를 사용하여 동일한 작업을 수행하려고 시도하면 lfWidth
필드가 ScriptShape()
을 호출 한 다음 0으로 재설정됩니다. 결과적으로 렌더링 된 모든 텍스트는 원래 너비를 사용하여 출력됩니다. 나는 이것이 왜 그것이 무엇인지, 또는 무엇을해야 하는지를 설명하기가 어렵다.
내가하려는 일을 수행 할 수 있는지 아무도 모르는 사람이 있습니까?
고마워요. SciptShape()는 실패 코드를 반환하지 않으므로 현재로드 된 글꼴을 사용할 수 있다고 가정합니다. ScriptPlace()에 대한 후속 호출도 성공합니다. 이전에 할당 한 사용자 정의 값이 아닌 lfWidth 값을 0으로 사용하는 것입니다. –
해결책을 찾은 것 같습니다. 현재 선택된 글꼴에 대한 조정은 적어도 너비와 관련하여 ScriptShapes()를 호출 한 후 * ScriptPlace()를 호출하기 전에 * 수행해야합니다. 이제는 예상대로 상황이 출력되고 있습니다. @ namar0x0309에서 제공하는 링크를 통해 결국 거기에 도달 할 수있었습니다. 감사합니다. –