X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontList.cpp;h=1bfab761fd8d7cace97377056fed300f2909eb64;hb=14fa2c71625c715ffcc42d13ee0151333079de2c;hp=923986f11af7c3899b0fde29966dcdfc751f7517;hpb=f2197de98ab0c04827cb5c540394189174cc7012;p=lyx.git diff --git a/src/FontList.cpp b/src/FontList.cpp index 923986f11a..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,53 +180,6 @@ void FontList::set(pos_type pos, Font const & font) } -void FontList::setMisspelled(pos_type startpos, pos_type endpos, - bool misspelled) -{ - List::iterator start = fontIterator(startpos); - if (misspelled && start->font().isMisspelled()) - return; - if (!misspelled && !start->font().isMisspelled()) - return; - - Font f = start->font(); - f.setMisspelled(misspelled); - setRange(startpos, endpos, 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();