업데이트된 폰트 파일을 디스크에 저장
스트림에서 이전에 로드된 폰트를 저장하기 위한 C++ API 솔루션.
Aspose.Font API 솔루션은 변환, 글리프 조작, 라틴 문자 감지 등 다양한 폰트 작업 기능을 제공합니다. 이 문서에서는 폰트를 저장하는 기능에 대해 다룹니다.
폰트를 디스크에 저장하면 장기 보관 및 공유가 가능해집니다. 이렇게 하면 향후 프로젝트에 폰트를 사용할 수 있거나, 특정 폰트를 다른 사람과 공유하여 그들의 컴퓨터에서도 사용 가능하도록 할 수 있습니다.
또한 폰트를 디스크에 저장하면 필요할 때마다 원격 소스에서 로드하지 않고도 쉽게 폰트 데이터를 가져올 수 있습니다. 이는 로드 시간이 오래 걸리는 대형 폰트나 자주 사용하는 폰트에 유용합니다.
폰트를 디스크에 저장하면 원본 폰트 소스가 더 이상 접근할 수 없게 되더라도 폰트를 사용할 수 있습니다. 이는 폰트 데이터를 보존하고 향후 프로젝트에서 사용할 수 있게 합니다.
이 페이지에서는 TrueType 폰트를 디스크에 저장하는 방법을 설명하지만, 솔루션 사용에 관한 나머지 코드 스니펫은 Aspose Github Project 에 포함되어 있습니다.
폰트 파일을 저장하려면 다음이 필요합니다:
C++ 플랫폼용으로 풍부한 기능과 강력하고 사용하기 쉬운 문서 조작 및 변환 API인 Aspose.Font for C++ API.
NuGet 패키지 관리자를 열고 Aspose.Font를 검색하여 설치합니다. 또한 패키지 관리자 콘솔에서 다음 명령을 사용할 수 있습니다.
Package Manager Console Command
PM> Install-Package Aspose.Font
C++을 사용하여 변경 이전 폰트를 저장하는 단계:
Aspose.Font for C++는 폰트 파일을 수정하고 변경된 파일을 디스크에 저장할 수 있습니다. 아래 코드 예제는 수정된 TTF 폰트 파일을 저장하는 방법을 보여줍니다.
- 새로운 FontFileDefinition 객체를 생성합니다.
- FontType
를 TTF로 설정하고 FontFileDefinition을
.ttf로 설정합니다. - 이전에 정의한 FontDefinition 객체를 사용하여 폰트 파일을 열고, TtfFont 객체를 생성합니다.
TtfFont을 Save() 메서드로 호출하고 전체 경로가 포함된 출력 파일 이름을 전달하여 디스크에 저장합니다. 저장된 폰트 파일에는 업데이트된 변경 내용이 반영됩니다.
디스크에 TrueType 폰트를 저장하기 위한 C++ 코드
using Aspose::Font;
using Aspose::Font::Sources;
using Aspose::Font::Ttf; //byte array to load Font from
System::String dataDir = RunExamples::GetDataDir_Data();
System::ArrayPtr<uint8_t> fontMemoryData = System::IO::File::ReadAllBytes(dataDir + u"Montserrat-Regular.ttf");
System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<ByteContentStreamSource>(fontMemoryData)));
System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
//Work with data from the just loaded TtfFont object
//Save The TtfFont to disk
//Output the Font file name with the full path
System::String outputFile = RunExamples::GetDataDir_Data() + u"Montserrat-Regular_out.ttf";
ttfFont->Save(outputFile);