File indexing completed on 2024-05-12 04:33:57

0001 // -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*-
0002 // fontEncodingPool.cpp
0003 //
0004 // Part of KDVI - A DVI previewer for the KDE desktop environment
0005 //
0006 // SPDX-FileCopyrightText: 2003 Stefan Kebekus
0007 // SPDX-License-Identifier: GPL-2.0-or-later
0008 
0009 #include <config.h>
0010 
0011 #ifdef HAVE_FREETYPE
0012 
0013 #include "fontEncodingPool.h"
0014 
0015 fontEncodingPool::fontEncodingPool()
0016 {
0017 }
0018 
0019 fontEncodingPool::~fontEncodingPool()
0020 {
0021     qDeleteAll(dictionary);
0022 }
0023 
0024 fontEncoding *fontEncodingPool::findByName(const QString &name)
0025 {
0026     fontEncoding *ptr = dictionary.value(name);
0027 
0028     if (ptr == nullptr) {
0029         ptr = new fontEncoding(name);
0030         if (ptr->isValid()) {
0031             dictionary.insert(name, ptr);
0032         } else {
0033             delete ptr;
0034             ptr = nullptr;
0035         }
0036     }
0037 
0038     return ptr;
0039 }
0040 
0041 #endif // HAVE_FREETYPE