harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Petrenko" <alexey.a.petre...@gmail.com>
Subject Re: svn commit: r558473 - in /harmony/enhanced/classlib/trunk/modules/awt: ./ src/main/java/common/org/apache/harmony/awt/gl/ src/main/java/common/org/apache/harmony/awt/internal/nls/ src/main/java/common/org/apache/harmony/awt/wtk/ src/main/java/win
Date Mon, 23 Jul 2007 09:40:24 GMT
Alexey Varlamov will commit a patch soon.

Thanks.

SY, Alexey

2007/7/23, Gregory Shimansky <gshimansky@gmail.com>:
> Hello Alexey
>
> This commit broke classlib compilation on windows x86_64. The compiler
> from MSVC 2005 which is used on x86_64 gives a warning when compiling
> file FontLibExports.cpp and this warning is treated as error. Please
> take a look and fix this problem if you can.
>
> apetrenko@apache.org wrote:
> > Author: apetrenko
> > Date: Sun Jul 22 04:51:09 2007
> > New Revision: 558473
> >
> > URL: http://svn.apache.org/viewvc?view=rev&rev=558473
> > Log:
> > Patch for HARMONY-4495 "[classlib][awt] org.apache.harmony.awt.gl.font.NativeFont.embedFont
is not implemented"
> >
> > Added:
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.cpp
  (with props)
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.h
  (with props)
> > Modified:
> >     harmony/enhanced/classlib/trunk/modules/awt/build.xml
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/internal/nls/messages.properties
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/NativeFont.java
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/WindowsFont.java
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGraphics2DFactory.java
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/include/org_apache_harmony_awt_gl_font_NativeFont.h
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/makefile
> >     harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/build.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/build.xml?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/build.xml (original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/build.xml Sun Jul 22 04:51:09 2007
> > @@ -138,7 +138,9 @@
> >      </target>
> >
> >      <target name="build-native"
> > -        depends="-build-native-unix,-build-native-windows">
> > +        depends="-build-native-common,-build-native-unix,-build-native-windows"
/>
> > +
> > +    <target name="-build-native-common">
> >          <make dir="${hy.awt.src.main.native}/lcmm/${hy.os.family}" />
> >          <!-- Copy the built shared libs over to the jre/bin dir -->
> >          <copy todir="${hy.jdk}/jre/bin" overwrite="yes">
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java
Sun Jul 22 04:51:09 2007
> > @@ -24,6 +24,8 @@
> >  import java.awt.FontMetrics;
> >  import java.awt.peer.FontPeer;
> >
> > +import java.io.IOException;
> > +
> >  import org.apache.harmony.awt.wtk.GraphicsFactory;
> >
> >  /**
> > @@ -46,6 +48,6 @@
> >       * @param fontFilePath path to the font file
> >       * @return Font object that was created from the file.
> >       */
> > -    public abstract Font embedFont(String fontFilePath);
> > +    public abstract Font embedFont(String fontFilePath) throws IOException;
> >
> >  }
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/internal/nls/messages.properties
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/internal/nls/messages.properties?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/internal/nls/messages.properties
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/internal/nls/messages.properties
Sun Jul 22 04:51:09 2007
> > @@ -487,6 +487,7 @@
> >  awt.296=can't allocate memory on video card to create new display list
> >  awt.297=Invalid keyLocation
> >  awt.298=dataBuffer is too small
> > +awt.299=Font file can not be read
> >
> >  awt.err.00=file dialog {0} error!
> >  awt.err.01=error: {0}
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java
Sun Jul 22 04:51:09 2007
> > @@ -25,6 +25,7 @@
> >  import java.awt.Graphics2D;
> >  import java.awt.GraphicsEnvironment;
> >  import java.awt.peer.FontPeer;
> > +import java.io.IOException;
> >  import org.apache.harmony.awt.gl.MultiRectArea;
> >  import org.apache.harmony.awt.gl.font.FontManager;
> >
> > @@ -71,5 +72,5 @@
> >      // Font methods
> >      FontManager getFontManager();
> >      FontPeer getFontPeer(Font font);
> > -    Font embedFont(String fontFilePath);
> > +    Font embedFont(String fontFilePath) throws IOException;
> >  }
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/NativeFont.java
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/NativeFont.java?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/NativeFont.java
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/NativeFont.java
Sun Jul 22 04:51:09 2007
> > @@ -21,10 +21,13 @@
> >  package org.apache.harmony.awt.gl.font;
> >
> >  import java.awt.Font;
> > +import java.io.IOException;
> >  import java.security.AccessController;
> >  import java.security.PrivilegedAction;
> >  import java.util.Hashtable;
> >
> > +import org.apache.harmony.awt.internal.nls.Messages;
> > +
> >  public class NativeFont {
> >
> >      /**
> > @@ -70,7 +73,7 @@
> >       *
> >       * @param absolutePath String that represent absolute path to the font resource.
> >       */
> > -    public static native boolean embedFontNative(String absolutePath);
> > +    public static native String embedFontNative(String absolutePath);
> >
> >      /**
> >       * Initialize native GDI font object and return font handle, also sets font
> > @@ -463,9 +466,14 @@
> >       *
> >       * @param absolutePath absolute path to the font resource file
> >       */
> > -    public static Font embedFont(String absolutePath){
> > -        // TODO: implement method
> > -        return null;
> > +    public static Font embedFont(String absolutePath) throws IOException {
> > +        String familyName = embedFontNative(absolutePath);
> > +        if (familyName == null) {
> > +            System.err.println("Exception!");
> > +            throw new IOException(Messages.getString("awt.299"));
> > +        }
> > +
> > +        return new Font(familyName, Font.PLAIN, 1);
> >      }
> >
> >      /**
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/WindowsFont.java
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/WindowsFont.java?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/WindowsFont.java
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/font/WindowsFont.java
Sun Jul 22 04:51:09 2007
> > @@ -30,6 +30,7 @@
> >  import java.awt.image.IndexColorModel;
> >  import java.awt.image.Raster;
> >  import java.awt.image.WritableRaster;
> > +import java.io.IOException;
> >  import java.util.Hashtable;
> >  import java.util.Locale;
> >
> > @@ -340,7 +341,7 @@
> >      /**
> >       * Return Font object if it was successfully embedded in the system.
> >       */
> > -    public static Font embedFont(String absolutePath){
> > +    public static Font embedFont(String absolutePath) throws IOException {
> >          return NativeFont.embedFont(absolutePath);
> >      }
> >
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGraphics2DFactory.java
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGraphics2DFactory.java?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGraphics2DFactory.java
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/windows/org/apache/harmony/awt/gl/windows/WinGraphics2DFactory.java
Sun Jul 22 04:51:09 2007
> > @@ -22,6 +22,8 @@
> >
> >  import java.awt.*;
> >
> > +import java.io.IOException;
> > +
> >  import org.apache.harmony.awt.gl.CommonGraphics2DFactory;
> >  import org.apache.harmony.awt.gl.MultiRectArea;
> >  import org.apache.harmony.awt.gl.opengl.OGLGraphics2D;
> > @@ -70,7 +72,7 @@
> >      }
> >
> >      @Override
> > -    public Font embedFont(String fontFilePath) {
> > +    public Font embedFont(String fontFilePath) throws IOException {
> >          return WindowsFont.embedFont(fontFilePath);
> >      }
> >
> >
> > Added: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.cpp
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.cpp?view=auto&rev=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.cpp
(added)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.cpp
Sun Jul 22 04:51:09 2007
> > @@ -0,0 +1,29 @@
> > +/*
> > + *  Licensed to the Apache Software Foundation (ASF) under one or more
> > + *  contributor license agreements.  See the NOTICE file distributed with
> > + *  this work for additional information regarding copyright ownership.
> > + *  The ASF licenses this file to You 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.
> > + */
> > +
> > +#include "FontLibExports.h"
> > +#include "Tables.h"
> > +#include <stdio.h>
> > +
> > +JNIEXPORT void JNICALL getFontFamilyName(fwchar_t *path, fwchar_t **familyName)
{
> > +    FILE *f = _wfopen(path, L"rb");
> > +    if (!f)
> > +        return;
> > +
> > +    parseNameTable(f, familyName, 0, 0);
> > +    fclose(f);
> > +}
> >
> > Propchange: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.cpp
> > ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.h
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.h?view=auto&rev=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.h
(added)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.h
Sun Jul 22 04:51:09 2007
> > @@ -0,0 +1,34 @@
> > +/*
> > + *  Licensed to the Apache Software Foundation (ASF) under one or more
> > + *  contributor license agreements.  See the NOTICE file distributed with
> > + *  this work for additional information regarding copyright ownership.
> > + *  The ASF licenses this file to You 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.
> > + */
> > +
> > +#if !defined __FontLibExports_H__
> > +#define __FontLibExports_H__
> > +
> > +#include <jni.h>
> > +#include "TypeDefinition.h"
> > +
> > +#ifdef __cplusplus
> > +extern "C" {
> > +#endif
> > +
> > +JNIEXPORT void JNICALL getFontFamilyName(fwchar_t *path, fwchar_t **familyName);
> > +
> > +#ifdef __cplusplus
> > +}
> > +#endif
> > +
> > +#endif
> >
> > Propchange: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/FontLibExports.h
> > ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile
Sun Jul 22 04:51:09 2007
> > @@ -35,7 +35,8 @@
> >    $(SHAREDSUB)T1Glyph.obj \
> >    $(SHAREDSUB)TTCurve.obj \
> >    $(SHAREDSUB)TTFont.obj \
> > -  $(SHAREDSUB)TypeDefinition.obj
> > +  $(SHAREDSUB)TypeDefinition.obj \
> > +  $(SHAREDSUB)FontLibExports.obj
> >
> >  VIRTFILES = $(LIBBASE).res
> >  SYSLIBFILES = ws2_32.lib Iphlpapi.lib
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/include/org_apache_harmony_awt_gl_font_NativeFont.h
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/include/org_apache_harmony_awt_gl_font_NativeFont.h?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/include/org_apache_harmony_awt_gl_font_NativeFont.h
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/include/org_apache_harmony_awt_gl_font_NativeFont.h
Sun Jul 22 04:51:09 2007
> > @@ -63,7 +63,7 @@
> >  /*
> >   * Method: org.apache.harmony.awt.gl.font.NativeFont.embedFontNative(Ljava/lang/String;)Z
> >   */
> > -JNIEXPORT jboolean JNICALL
> > +JNIEXPORT jstring JNICALL
> >  Java_org_apache_harmony_awt_gl_font_NativeFont_embedFontNative(JNIEnv *, jclass,
> >      jstring);
> >
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/makefile
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/makefile?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/makefile
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/makefile
Sun Jul 22 04:51:09 2007
> > @@ -22,15 +22,15 @@
> >  LIBNAME=$(LIBPATH)$(LIBBASE).lib
> >  HYLDFLAGS = $(HYLDFLAGS) -def:$(LIBBASE).def
> >
> > -HYCFLAGS = $(HYCFLAGS) /Iinclude /I..\..\gl\windows\include \
> > +HYCFLAGS = $(HYCFLAGS) /Iinclude /I..\..\gl\windows\include /I..\..\fontlib\shared
\
> >    -DUNICODE -D_UNICODE
> >
> >  BUILDFILES = winFont.obj
> >
> >  VIRTFILES = $(LIBBASE).res
> > -SYSLIBFILES = ws2_32.lib Iphlpapi.lib gdi32.lib GdiPlus.lib advapi32.lib
> > +SYSLIBFILES = ws2_32.lib Iphlpapi.lib gdi32.lib GdiPlus.lib advapi32.lib
> >
> > -MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hypool$(HY_LINKLIB_SUFFIX) $(LIBPATH)vmi$(HY_LINKLIB_SUFFIX)
> > +MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hypool$(HY_LINKLIB_SUFFIX) $(LIBPATH)vmi$(HY_LINKLIB_SUFFIX)
$(LIBPATH)FL$(HY_LINKLIB_SUFFIX)
> >
> >  DLLBASE=0x13300000
> >  COMMENT=/comment:"Win32 Font native code. (c) Copyright 2005 - 2006 The Apache
Software Foundation or its licensors, as applicable."
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp?view=diff&rev=558473&r1=558472&r2=558473
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp
(original)
> > +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/winfont/windows/winFont.cpp
Sun Jul 22 04:51:09 2007
> > @@ -33,6 +33,8 @@
> >  #include "org_apache_harmony_awt_gl_font_WinGlyph.h"
> >  #include "exceptions.h"
> >
> > +#include <FontLibExports.h> // Font file tables parsing routines for embedFontNative
method
> > +
> >  static LCIDS lcidTable;
> >  static FontRecords fonts;           /* Cached system fonts data             */
> >  static int famSize = 256;           /* Size of families array               */
> > @@ -457,7 +459,7 @@
> >  * Signature: (Ljava/lang/String;)Z
> >  * Description: Returns TRUE if Font resource from font file added successfully
to a system.
> >  */
> > -JNIEXPORT jboolean JNICALL
> > +JNIEXPORT jstring JNICALL
> >  Java_org_apache_harmony_awt_gl_font_NativeFont_embedFontNative(JNIEnv *env, jclass
obj, jstring absPath) {
> >
> >      jboolean iscopy;
> > @@ -465,12 +467,24 @@
> >      const TCHAR * path;
> >      path = (TCHAR *)(env->GetStringCritical(absPath, &iscopy));
> >
> > -    fontAdded = AddFontResource(path);
> > +    fontAdded = AddFontResourceEx(path, FR_PRIVATE, 0);
> > +
> > +    fwchar_t *familyName = 0;
> > +
> > +    if (fontAdded) {
> > +        getFontFamilyName((fwchar_t *)path, &familyName);
> > +    }
> >
> > -    // message to other applications about installed font
> > -    //  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
> >      env->ReleaseStringCritical(absPath, (const jchar *)path);
> > -    return fontAdded;
> > +
> > +    jstring res = 0;
> > +    if (fontAdded && familyName) {
> > +        int len = wcslen(familyName);
> > +        res = env->NewString((jchar *)familyName, len);
> > +        delete familyName;
> > +    }
> > +
> > +    return res;
> >  }
> >
> >  /*
> >
> >
> >
>
>
> --
> Gregory
>
>

Mime
View raw message