X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontList.cpp;h=1bfab761fd8d7cace97377056fed300f2909eb64;hb=89175ee0f10f75311e2a746dbd450fb23d6c2845;hp=36b79cec569901b66682dbaae87362faf226ef9c;hpb=1d2077e51e1bd7b7194a377be36ed171f9b974bc;p=lyx.git diff --git a/src/FontList.cpp b/src/FontList.cpp index 36b79cec56..1bfab761fd 100644 --- a/src/FontList.cpp +++ b/src/FontList.cpp @@ -20,9 +20,7 @@ #include "FontList.h" -#include - -#include +#include "support/lyxalgo.h" using namespace std; @@ -53,13 +51,14 @@ FontList::const_iterator FontList::fontIterator(pos_type pos) const } -Font & FontList::get(pos_type pos) +Font const & FontList::get(pos_type pos) { iterator end = list_.end(); iterator it = fontIterator(pos); if (it != end && it->pos() == pos) return it->font_; - static Font dummy; + + static Font const dummy; return dummy; } @@ -71,7 +70,7 @@ void FontList::erase(pos_type pos) iterator beg = list_.begin(); if (it != list_.end() && it->pos() == pos && (pos == 0 - || (it != list_.begin() && boost::prior(it)->pos() == pos - 1))) { + || (it != list_.begin() && prev(it, 1)->pos() == pos - 1))) { // If it is a multi-character font // entry, we just make it smaller @@ -143,7 +142,7 @@ void FontList::set(pos_type pos, Font const & font) bool const end = found && list_[i].pos() == pos; if (!begin && !end) { - // The general case: The block is splitted into 3 blocks + // The general case: The block is split into 3 blocks list_.insert(list_.begin() + i, FontTable(pos - 1, list_[i].font())); list_.insert(list_.begin() + i + 1, @@ -181,50 +180,6 @@ void FontList::set(pos_type pos, Font const & font) } -void FontList::setMisspelled(pos_type startpos, pos_type endpos, - bool misspelled) -{ - // FIXME: Optimize!!! - for (pos_type pos = startpos; pos != endpos; ++pos) { - Font f = get(pos); - f.setMisspelled(misspelled); - set(pos, f); - } -} - - -FontSize FontList::highestInRange(pos_type startpos, pos_type endpos, - FontSize def_size) const -{ - if (list_.empty()) - return def_size; - - List::const_iterator end_it = fontIterator(endpos); - const_iterator const end = list_.end(); - if (end_it != end) - ++end_it; - - List::const_iterator cit = fontIterator(startpos); - - FontSize maxsize = FONT_SIZE_TINY; - for (; cit != end_it; ++cit) { - FontSize size = cit->font().fontInfo().size(); - if (size == FONT_SIZE_INHERIT) - size = def_size; - if (size > maxsize && size <= FONT_SIZE_HUGER) - maxsize = size; - } - return maxsize; -} - - -bool FontList::hasChangeInRange(pos_type pos, int len) const -{ - List::const_iterator cit = fontIterator(pos); - return cit == list_.end() || pos + len - 1 <= cit->pos(); -} - - void FontList::validate(LaTeXFeatures & features) const { const_iterator fcit = list_.begin();