/* * Copyright (C) 2015-2017 Emanuel Moecklin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.onegravity.rteditor.fonts; import android.graphics.Typeface; import java.util.Locale; /** * This is a container class for a android.graphics.Typeface and the font name. */ public class RTTypeface implements Comparable<RTTypeface> { protected String mName; private Typeface mTypeface; public RTTypeface(String fontName, Typeface typeface) { if (fontName == null) { throw new IllegalArgumentException("fontName mustn't be null"); } if (typeface == null) { throw new IllegalArgumentException("typeface mustn't be null"); } mName = fontName; mTypeface = typeface; } /** * Use these methods only in the RTTypefaceSet. */ protected RTTypeface() {} protected void setName(String fontName) { mName = fontName; } public String getName() { return mName; } public Typeface getTypeface() { return mTypeface; } @Override public boolean equals(Object object) { if (! (object instanceof RTTypeface)) { return false; } String name = ((RTTypeface)object).getName(); return mName.equalsIgnoreCase(name); } @Override public int compareTo(RTTypeface another) { Locale locale = Locale.getDefault(); String name1 = mName.toLowerCase(locale); String name2 = another.getName().toLowerCase(locale); return name1.compareTo(name2); } }