MiKTeX 23.10-next
A scalable TeX distribution
Loading...
Searching...
No Matches
MetafontApp.h
Go to the documentation of this file.
1
14#pragma once
15
16#include <miktex/TeXAndFriends/config.h>
17
18#include <memory>
19#include <string>
20
21#include <miktex/Core/FileType>
22
23#include "TeXMFApp.h"
24
25MIKTEX_TEXMF_BEGIN_NAMESPACE;
26
27class MIKTEXMFTYPEAPI(MetafontApp) :
28 public TeXMFApp
29{
30
31public:
32
33 MIKTEXMFEXPORT MIKTEXTHISCALL MetafontApp();
34 MetafontApp(const MetafontApp& other) = delete;
35 MetafontApp& operator=(const MetafontApp& other) = delete;
36 MetafontApp(MetafontApp&& other) = delete;
37 MetafontApp& operator=(MetafontApp&& other) = delete;
38 virtual MIKTEXMFEXPORT MIKTEXTHISCALL ~MetafontApp() noexcept;
39
40 MIKTEXMFTHISAPI(void) Finalize() override;
41
42 MiKTeX::Core::FileType GetInputFileType() const override
43 {
44 return MiKTeX::Core::FileType::MF;
45 }
46
47 std::string GetMemoryDumpFileExtension() const override
48 {
49 return ".base";
50 }
51
52 MiKTeX::Core::FileType GetMemoryDumpFileType() const override
53 {
55 }
56
57protected:
58
59 MIKTEXMFTHISAPI(bool) ProcessOption(int opt, const std::string& optArg) override;
60 MIKTEXMFTHISAPI(void) AddOptions() override;
61 MIKTEXMFTHISAPI(void) Init(std::vector<char*>& args) override;
62
63private:
64
65 class impl;
66 std::unique_ptr<impl> pimpl;
67};
68
69MIKTEX_TEXMF_END_NAMESPACE;
MiKTeX TeXMF base implementation.
Definition: MetafontApp.h:29
void Finalize() override
Frees application resources.
void Init(std::vector< char * > &args) override
Definition: TeXMFApp.h:75
FileType
File type enum class.
Definition: FileType.h:33
@ BASE
METAFONT base files (*.base).