You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one or more
  3. * contributor license agreements. See the NOTICE file distributed with
  4. * this work for additional information regarding copyright ownership.
  5. * The ASF licenses this file to You under the Apache License, Version 2.0
  6. * (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. /* $Id$ */
  18. package org.apache.fop.fonts;
  19. import java.io.Serializable;
  20. import java.util.List;
  21. /**
  22. * FontInfo contains meta information on fonts (where is the metrics file etc.)
  23. */
  24. public class EmbedFontInfo implements Serializable {
  25. /** Serialization Version UID */
  26. private static final long serialVersionUID = -9075848379822693399L;
  27. /** filename of the metrics file */
  28. protected String metricsFile;
  29. /** filename of the main font file */
  30. protected String embedFile;
  31. /** false, to disable kerning */
  32. protected boolean kerning;
  33. /** the list of associated font triplets */
  34. protected List fontTriplets;
  35. /**
  36. * Main constructor
  37. * @param metricsFile Path to the xml file containing font metrics
  38. * @param kerning True if kerning should be enabled
  39. * @param fontTriplets List of font triplets to associate with this font
  40. * @param embedFile Path to the embeddable font file (may be null)
  41. */
  42. public EmbedFontInfo(String metricsFile, boolean kerning,
  43. List fontTriplets, String embedFile) {
  44. this.metricsFile = metricsFile;
  45. this.embedFile = embedFile;
  46. this.kerning = kerning;
  47. this.fontTriplets = fontTriplets;
  48. }
  49. /**
  50. * Returns the path to the metrics file
  51. * @return the metrics file path
  52. */
  53. public String getMetricsFile() {
  54. return metricsFile;
  55. }
  56. /**
  57. * Returns the path to the embeddable font file
  58. * @return the font file path
  59. */
  60. public String getEmbedFile() {
  61. return embedFile;
  62. }
  63. /**
  64. * Determines if kerning is enabled
  65. * @return True if enabled
  66. */
  67. public boolean getKerning() {
  68. return kerning;
  69. }
  70. /**
  71. * Returns the list of font triplets associated with this font.
  72. * @return List of font triplets
  73. */
  74. public List getFontTriplets() {
  75. return fontTriplets;
  76. }
  77. /** @see java.lang.Object#toString() */
  78. public String toString() {
  79. return "metrics-url=" + metricsFile + ",embed-url=" + embedFile
  80. + ", kerning=" + kerning + ", font-triplet=" + fontTriplets;
  81. }
  82. }